From 7db0c629d5d6a3f6e2f5aab1a7e9979752182d1f Mon Sep 17 00:00:00 2001 From: colin_f_gergaghty Date: Mon, 25 Mar 2024 15:38:49 -0400 Subject: [PATCH 1/9] horizontal- bar - chart --- 2_1_quantities_and_amounts/index.html | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/2_1_quantities_and_amounts/index.html b/2_1_quantities_and_amounts/index.html index de6a401..dc4f838 100644 --- a/2_1_quantities_and_amounts/index.html +++ b/2_1_quantities_and_amounts/index.html @@ -1,14 +1,15 @@ - - - Interactive Data Visualization Tutorial - - - - -

Section 2 | Tutorial 1 | Quantities and Amounts

-
- - - - \ No newline at end of file + + + + Interactive Data Visualization Tutorial + + + + + +

MoMA Collection by Country

+ + + + From 1b00ad13ab5b1a95b75f9693c007c90cce17c763 Mon Sep 17 00:00:00 2001 From: colin_f_gergaghty Date: Mon, 25 Mar 2024 15:57:09 -0400 Subject: [PATCH 2/9] horizontal bar chart --- 2_1_quantities_and_amounts/index.html | 3 +- 2_1_quantities_and_amounts/main.js | 56 +++++++++++++++++++++------ 2_1_quantities_and_amounts/style.css | 6 +-- 3 files changed, 50 insertions(+), 15 deletions(-) diff --git a/2_1_quantities_and_amounts/index.html b/2_1_quantities_and_amounts/index.html index dc4f838..9182a2c 100644 --- a/2_1_quantities_and_amounts/index.html +++ b/2_1_quantities_and_amounts/index.html @@ -8,8 +8,9 @@ -

MoMA Collection by Country

+

MoMA Collection by Country Top Ten

+ diff --git a/2_1_quantities_and_amounts/main.js b/2_1_quantities_and_amounts/main.js index 3981be1..a8e64b1 100644 --- a/2_1_quantities_and_amounts/main.js +++ b/2_1_quantities_and_amounts/main.js @@ -1,18 +1,52 @@ - /* CONSTANTS AND GLOBALS */ -// const width = ; -// const height = ; +const width = 960, height = 500; +const margin = { top: 20, right: 30, bottom: 40, left: 100 }; + +// Create SVG canvas +const svg = d3.select("#container") + .append("svg") + .attr("width", width) + .attr("height", height) + .append("g") + .attr("transform", `translate(${margin.left},${margin.top})`); /* LOAD DATA */ d3.csv('../data/MoMA_topTenNationalities.csv', d3.autoType) - .then(data => { - console.log("data", data) +.then(data => { + // Define color scale + const colorScale = d3.scaleOrdinal(d3.schemeTableau10); // Uses a D3 color scheme + + // Define your scales based on the data + const xScale = d3.scaleLinear() + .domain([0, d3.max(data, d => d.Count)]) // Make sure 'Count' matches your CSV + .range([0, width - margin.left - margin.right]); + + const yScale = d3.scaleBand() + .domain(data.map(d => d.Nationality)) + .range([0, height - margin.top - margin.bottom]) + .padding(0.1); + + // Add bars + svg.selectAll(".bar") + .data(data) + .enter() + .append("rect") + .attr("class", "bar") + .attr("x", 0) // Bars start at x=0 + .attr("y", d => yScale(d.Nationality)) + .attr("width", d => xScale(d.Count)) + .attr("height", yScale.bandwidth()) + .attr("fill", "white") // Fill bars with white + .attr("stroke", d => colorScale(d.Nationality)) // Use the color scale for the stroke + .attr("stroke-width", 2); // Set the width of the stroke - /* SCALES */ - /** This is where you should define your scales from data to pixel space */ - + // Add Y Axis + svg.append("g") + .call(d3.axisLeft(yScale)); - /* HTML ELEMENTS */ - /** Select your container and append the visual elements to it */ + // Add X Axis + svg.append("g") + .attr("transform", `translate(0,${height - margin.top - margin.bottom})`) + .call(d3.axisBottom(xScale)); +}); - }) \ No newline at end of file diff --git a/2_1_quantities_and_amounts/style.css b/2_1_quantities_and_amounts/style.css index 35a1801..ad88989 100644 --- a/2_1_quantities_and_amounts/style.css +++ b/2_1_quantities_and_amounts/style.css @@ -1,5 +1,5 @@ body { - font-family: "Source Sans Pro", sans-serif; + font-family: "Helvetica Neue", sans-serif; font-size: 16px; padding: 1em; } @@ -10,8 +10,8 @@ h1 { } h3 { - font-size: 2em; - margin: 0.25em 0; + font-size: 4em; + margin: 0.30em 0; } p { From cc0c92ecc8be68f3de582321a5605957388b98d7 Mon Sep 17 00:00:00 2001 From: colin_f_gergaghty Date: Mon, 25 Mar 2024 16:19:18 -0400 Subject: [PATCH 3/9] new --- 2_1_quantities_and_amounts/main.js | 152 +++++++++++++++++++++-------- 2_2_distributions/index.html | 26 ++--- 2_2_distributions/style.css | 39 +++++--- 3 files changed, 153 insertions(+), 64 deletions(-) diff --git a/2_1_quantities_and_amounts/main.js b/2_1_quantities_and_amounts/main.js index a8e64b1..385bda7 100644 --- a/2_1_quantities_and_amounts/main.js +++ b/2_1_quantities_and_amounts/main.js @@ -1,52 +1,124 @@ /* CONSTANTS AND GLOBALS */ -const width = 960, height = 500; -const margin = { top: 20, right: 30, bottom: 40, left: 100 }; +const width = window.innerWidth * 0.9, + height = window.innerHeight * 0.9, + margin = { top: 20, bottom: 60, left: 60, right: 40 }; -// Create SVG canvas -const svg = d3.select("#container") - .append("svg") - .attr("width", width) - .attr("height", height) - .append("g") - .attr("transform", `translate(${margin.left},${margin.top})`); +/* TOOLTIP SETUP */ +const tooltip = d3.select("body").append("div") + .attr("class", "tooltip") + .style("position", "absolute") + .style("text-align", "center") + .style("width", "120px") + .style("height", "auto") + .style("padding", "2px") + .style("font", "12px sans-serif") + .style("background", "lightsteelblue") + .style("border", "1px solid #333") + .style("border-radius", "8px") + .style("pointer-events", "none") + .style("opacity", "0.9") + .style("display", "none"); /* LOAD DATA */ -d3.csv('../data/MoMA_topTenNationalities.csv', d3.autoType) -.then(data => { - // Define color scale - const colorScale = d3.scaleOrdinal(d3.schemeTableau10); // Uses a D3 color scheme +d3.csv("MoMA_distributions.csv", d => ({ + // Parse strings to numbers where necessary + length: +d["Length (cm)"], + width: +d["Width (cm)"], + lifespan: +d["Artist Lifespan"], // + artist: d.Artist, // You can add other data fields you need here +})).then(rawData => { + // Filter out records with no lifespan, lifespans over 100, and then reduce to one entry per artist + const data = Array.from( + rawData + .filter(d => d.lifespan > 0 && d.lifespan <= 100) + .reduce((acc, d) => { + acc.has(d.artist) || acc.set(d.artist, d); + return acc; + }, new Map()).values() + ); - // Define your scales based on the data + // Define the maximum length and width for the scales based on the filtered data + const maxDataLength = Math.min(300, d3.max(data, d => d.length)); + const maxDataWidth = Math.min(160, d3.max(data, d => d.width)); + + /* SCALES */ + // xScale - linear, clamp max at 300 or max data length const xScale = d3.scaleLinear() - .domain([0, d3.max(data, d => d.Count)]) // Make sure 'Count' matches your CSV - .range([0, width - margin.left - margin.right]); + .domain([0, maxDataLength]) + .range([margin.left, width - margin.right]); - const yScale = d3.scaleBand() - .domain(data.map(d => d.Nationality)) - .range([0, height - margin.top - margin.bottom]) - .padding(0.1); + // yScale - linear, clamp max at 160 or max data width + const yScale = d3.scaleLinear() + .domain([0, maxDataWidth]) + .range([height - margin.bottom, margin.top]); - // Add bars - svg.selectAll(".bar") - .data(data) - .enter() - .append("rect") - .attr("class", "bar") - .attr("x", 0) // Bars start at x=0 - .attr("y", d => yScale(d.Nationality)) - .attr("width", d => xScale(d.Count)) - .attr("height", yScale.bandwidth()) - .attr("fill", "white") // Fill bars with white - .attr("stroke", d => colorScale(d.Nationality)) // Use the color scale for the stroke - .attr("stroke-width", 2); // Set the width of the stroke - - // Add Y Axis + // Create a size scale for the artist lifespan, with a range to make differences more noticeable + const sizeScale = d3.scaleSqrt() + .domain(d3.extent(data, d => d.lifespan)) + .range([5, 40]); // Adjust the range for more pronounced circle sizes + + /* SVG SETUP */ + const svg = d3.select("#container").append("svg") + .attr("width", width) + .attr("height", height); + + /* AXES AND AXIS LABELS */ + const xAxis = d3.axisBottom(xScale); svg.append("g") - .call(d3.axisLeft(yScale)); + .attr("transform", `translate(0,${height - margin.bottom})`) + .call(xAxis) + .append("text") + .attr("class", "axis-label") + .attr("x", width - margin.right) + .attr("y", 40) + .attr("text-anchor", "end") + .attr("fill", "black") + .text("Length (cm)"); - // Add X Axis + const yAxis = d3.axisLeft(yScale); svg.append("g") - .attr("transform", `translate(0,${height - margin.top - margin.bottom})`) - .call(d3.axisBottom(xScale)); -}); + .attr("transform", `translate(${margin.left},0)`) + .call(yAxis) + .append("text") + .attr("class", "axis-label") + .attr("transform", "rotate(-90)") + .attr("y", 15 - margin.left) + .attr("x", -margin.top) + .attr("dy", ".71em") + .attr("text-anchor", "end") + .attr("fill", "black") + .text("Width (cm)"); + + /* DRAW CIRCLES WITH TOOLTIPS */ + svg.selectAll("circle") + .data(data) + .enter() + .append("circle") + .attr("r", d => sizeScale(d.lifespan)) + .attr("cx", d => xScale(d.length)) + .attr("cy", d => yScale(d.width)) + .attr("fill", "red") + .attr("stroke", "#333") + .attr("stroke-width", "1px") + .attr("opacity", 0.8) + .on("mouseover", (event, d) => { + tooltip + .style("display", "block") + .style("left", `${event.pageX + 15}px`) + .style("top", `${event.pageY - 28}px`) + .html(`Artist: ${d.artist}
+ Lifespan: ${d.lifespan} years
+ Dimensions: ${d.length} x ${d.width} cm`); + d3.select(event.currentTarget) + .attr("stroke", "black") + .attr("stroke-width", "2px"); + }) + .on("mouseout", (event) => { + tooltip.style("display", "none"); + d3.select(event.currentTarget) + .attr("stroke", "#333") + .attr("stroke-width", "1px"); + }); + }); + diff --git a/2_2_distributions/index.html b/2_2_distributions/index.html index e06389f..9d9ad40 100644 --- a/2_2_distributions/index.html +++ b/2_2_distributions/index.html @@ -1,14 +1,14 @@ - - - Interactive Data Visualization Tutorial - - - - -

Section 2 | Tutorial 2 | Distributions

-
- - - - \ No newline at end of file + + + + Interactive Data Visualization Tutorial + + + +

MoMA Artist Lifespan Plotted to the Dimensions of their Work

+
+ + + + diff --git a/2_2_distributions/style.css b/2_2_distributions/style.css index 35a1801..3bfddfa 100644 --- a/2_2_distributions/style.css +++ b/2_2_distributions/style.css @@ -1,19 +1,36 @@ body { - font-family: "Source Sans Pro", sans-serif; - font-size: 16px; + font-family: 'Helvetica Neue', sans-serif; + font-size: 12px; padding: 1em; } -h1 { - font-size: 3em; - margin: 0.25em 0; -} - h3 { - font-size: 2em; + font-size: 3.5em; margin: 0.25em 0; } -p { - font-size: 1em; -} \ No newline at end of file +#container { + display: block; + width: 90vw; + height: 90vh; + margin: auto; + border: 1px solid #ccc; +} +.tooltip { + position: absolute; + text-align: center; + padding: 6px; + font: 12px sans-serif; + background: white; + border: 0px; + border-radius: 8px; + pointer-events: none; + opacity: 0.8; +} +/* Add this to your existing CSS */ +.heading { + font-family: "Franklin Gothic Medium", "Arial Narrow", Arial, sans-serif; + color: grey; + font-size: 18px; + margin: 10px 0; +} From 3e0c4c72ded759fda6ceab23b9d06aaa7ba1ae45 Mon Sep 17 00:00:00 2001 From: colin_f_gergaghty Date: Mon, 25 Mar 2024 16:28:00 -0400 Subject: [PATCH 4/9] newish --- .../MoMA_topTenNationalities.csv | 11 ++ 2_1_quantities_and_amounts/main.js | 152 +++++------------- 2 files changed, 51 insertions(+), 112 deletions(-) create mode 100644 2_1_quantities_and_amounts/MoMA_topTenNationalities.csv diff --git a/2_1_quantities_and_amounts/MoMA_topTenNationalities.csv b/2_1_quantities_and_amounts/MoMA_topTenNationalities.csv new file mode 100644 index 0000000..e1840b0 --- /dev/null +++ b/2_1_quantities_and_amounts/MoMA_topTenNationalities.csv @@ -0,0 +1,11 @@ +Nationality,Count +American,5181 +German,965 +British,860 +French,847 +Italian,536 +Japanese,507 +Swiss,297 +Dutch,274 +Russian,262 +Austrian,239 \ No newline at end of file diff --git a/2_1_quantities_and_amounts/main.js b/2_1_quantities_and_amounts/main.js index 385bda7..b5e7cf8 100644 --- a/2_1_quantities_and_amounts/main.js +++ b/2_1_quantities_and_amounts/main.js @@ -1,124 +1,52 @@ /* CONSTANTS AND GLOBALS */ -const width = window.innerWidth * 0.9, - height = window.innerHeight * 0.9, - margin = { top: 20, bottom: 60, left: 60, right: 40 }; +const width = 960, height = 500; +const margin = { top: 20, right: 30, bottom: 40, left: 100 }; -/* TOOLTIP SETUP */ -const tooltip = d3.select("body").append("div") - .attr("class", "tooltip") - .style("position", "absolute") - .style("text-align", "center") - .style("width", "120px") - .style("height", "auto") - .style("padding", "2px") - .style("font", "12px sans-serif") - .style("background", "lightsteelblue") - .style("border", "1px solid #333") - .style("border-radius", "8px") - .style("pointer-events", "none") - .style("opacity", "0.9") - .style("display", "none"); +// Create SVG canvas +const svg = d3.select("#container") + .append("svg") + .attr("width", width) + .attr("height", height) + .append("g") + .attr("transform", `translate(${margin.left},${margin.top})`); /* LOAD DATA */ -d3.csv("MoMA_distributions.csv", d => ({ - // Parse strings to numbers where necessary - length: +d["Length (cm)"], - width: +d["Width (cm)"], - lifespan: +d["Artist Lifespan"], // - artist: d.Artist, // You can add other data fields you need here -})).then(rawData => { - // Filter out records with no lifespan, lifespans over 100, and then reduce to one entry per artist - const data = Array.from( - rawData - .filter(d => d.lifespan > 0 && d.lifespan <= 100) - .reduce((acc, d) => { - acc.has(d.artist) || acc.set(d.artist, d); - return acc; - }, new Map()).values() - ); +d3.csv('MoMA_topTenNationalities.csv', d3.autoType) +.then(data => { + // Define color scale + const colorScale = d3.scaleOrdinal(d3.schemeTableau10); // Uses a D3 color scheme - // Define the maximum length and width for the scales based on the filtered data - const maxDataLength = Math.min(300, d3.max(data, d => d.length)); - const maxDataWidth = Math.min(160, d3.max(data, d => d.width)); - - /* SCALES */ - // xScale - linear, clamp max at 300 or max data length + // Define your scales based on the data const xScale = d3.scaleLinear() - .domain([0, maxDataLength]) - .range([margin.left, width - margin.right]); - - // yScale - linear, clamp max at 160 or max data width - const yScale = d3.scaleLinear() - .domain([0, maxDataWidth]) - .range([height - margin.bottom, margin.top]); - - // Create a size scale for the artist lifespan, with a range to make differences more noticeable - const sizeScale = d3.scaleSqrt() - .domain(d3.extent(data, d => d.lifespan)) - .range([5, 40]); // Adjust the range for more pronounced circle sizes + .domain([0, d3.max(data, d => d.Count)]) // Make sure 'Count' matches your CSV + .range([0, width - margin.left - margin.right]); - /* SVG SETUP */ - const svg = d3.select("#container").append("svg") - .attr("width", width) - .attr("height", height); - - /* AXES AND AXIS LABELS */ - const xAxis = d3.axisBottom(xScale); - svg.append("g") - .attr("transform", `translate(0,${height - margin.bottom})`) - .call(xAxis) - .append("text") - .attr("class", "axis-label") - .attr("x", width - margin.right) - .attr("y", 40) - .attr("text-anchor", "end") - .attr("fill", "black") - .text("Length (cm)"); + const yScale = d3.scaleBand() + .domain(data.map(d => d.Nationality)) + .range([0, height - margin.top - margin.bottom]) + .padding(0.1); - const yAxis = d3.axisLeft(yScale); - svg.append("g") - .attr("transform", `translate(${margin.left},0)`) - .call(yAxis) - .append("text") - .attr("class", "axis-label") - .attr("transform", "rotate(-90)") - .attr("y", 15 - margin.left) - .attr("x", -margin.top) - .attr("dy", ".71em") - .attr("text-anchor", "end") - .attr("fill", "black") - .text("Width (cm)"); - - /* DRAW CIRCLES WITH TOOLTIPS */ - svg.selectAll("circle") + // Add bars + svg.selectAll(".bar") .data(data) .enter() - .append("circle") - .attr("r", d => sizeScale(d.lifespan)) - .attr("cx", d => xScale(d.length)) - .attr("cy", d => yScale(d.width)) - .attr("fill", "red") - .attr("stroke", "#333") - .attr("stroke-width", "1px") - .attr("opacity", 0.8) - .on("mouseover", (event, d) => { - tooltip - .style("display", "block") - .style("left", `${event.pageX + 15}px`) - .style("top", `${event.pageY - 28}px`) - .html(`Artist: ${d.artist}
- Lifespan: ${d.lifespan} years
- Dimensions: ${d.length} x ${d.width} cm`); - d3.select(event.currentTarget) - .attr("stroke", "black") - .attr("stroke-width", "2px"); - }) - .on("mouseout", (event) => { - tooltip.style("display", "none"); - d3.select(event.currentTarget) - .attr("stroke", "#333") - .attr("stroke-width", "1px"); - }); - }); + .append("rect") + .attr("class", "bar") + .attr("x", 0) // Bars start at x=0 + .attr("y", d => yScale(d.Nationality)) + .attr("width", d => xScale(d.Count)) + .attr("height", yScale.bandwidth()) + .attr("fill", "white") // Fill bars with white + .attr("stroke", d => colorScale(d.Nationality)) // Use the color scale for the stroke + .attr("stroke-width", 2); // Set the width of the stroke + + // Add Y Axis + svg.append("g") + .call(d3.axisLeft(yScale)); + // Add X Axis + svg.append("g") + .attr("transform", `translate(0,${height - margin.top - margin.bottom})`) + .call(d3.axisBottom(xScale)); +}); From 40541a8bea0c219bd696b11319f4b62de3d34a43 Mon Sep 17 00:00:00 2001 From: colin_f_gergaghty Date: Mon, 25 Mar 2024 17:06:33 -0400 Subject: [PATCH 5/9] euro MoMA --- 2_4_geographic/index.html | 2 +- 2_4_geographic/main.js | 67 ++++++++++++++++++++++++++++----------- 2_4_geographic/style.css | 5 ++- 3 files changed, 52 insertions(+), 22 deletions(-) diff --git a/2_4_geographic/index.html b/2_4_geographic/index.html index 45b07ae..39160f0 100644 --- a/2_4_geographic/index.html +++ b/2_4_geographic/index.html @@ -6,7 +6,7 @@ -

Section 2 | Tutorial 4 | Geographic

+

MoMA's European Collection

diff --git a/2_4_geographic/main.js b/2_4_geographic/main.js index faaa87a..6f130f8 100644 --- a/2_4_geographic/main.js +++ b/2_4_geographic/main.js @@ -1,26 +1,57 @@ /* CONSTANTS AND GLOBALS */ -// const width = window.innerWidth * 0.9, -// height = window.innerHeight * 0.7, -// margin = { top: 20, bottom: 50, left: 60, right: 40 }; +const width = window.innerWidth * 0.9, + height = window.innerHeight * 0.9; -/** - * LOAD DATA - * Using a Promise.all([]), we can load more than one dataset at a time - * */ - Promise.all([ +/* LOAD DATA */ +Promise.all([ d3.json("../data/world.json"), - d3.csv("../data/MoMA_nationalities.csv", d3.autoType), -]).then(([geojson, nationalities]) => { - - // SPECIFY PROJECTION - + d3.csv("../data/MoMA_nationalities.csv", d3.autoType), +]).then(([geojson, momaData]) => { + // Adjust country names in the momaData array + momaData.forEach(d => { + if (d.Country === "French") d.Country = "France"; + if (d.Country === "Britain") d.Country = "United Kingdom"; + }); - // DEFINE PATH FUNCTION + // Filter geojson to only include specified European countries + const europeanCountriesGeoJSON = geojson.features.filter(feature => feature.properties.name && [ + "Germany", "United Kingdom", "France", "Italy", "Switzerland", "The Netherlands", "Slovenia", "Ukraine", + "Austria", "Spain", "Poland", "Sweden", "Denmark", "Belgium", "Czech Republic", "Israel", + "Finland", "Hungary", "Norway", "Croatia", "Ireland", "Turkey", "Scotland", "Romania", + "Serbia", "Iceland", "Greece", "Portugal", "Lebanon", "Slovakia", + "Bosnia", "Georgia", "Bulgaria", "Macedonia", "Palestine", "Lithuania", "Albania", "Luxembourg", "Latvia", // Add other countries as necessary + ].includes(feature.properties.name)); + // Define color scale (change to red) + const colorScale = d3.scaleSequentialSqrt(d3.interpolateReds) + .domain([0, d3.max(momaData, d => d.Count)]); - // APPEND GEOJSON PATH - + const svg = d3 + .select("#container") + .append("svg") + .attr("width", width) + .attr("height", height); - // APPEND DATA AS SHAPE + // SPECIFY PROJECTION + const projection = d3.geoMercator() + .fitSize([width, height], {type: "FeatureCollection", features: europeanCountriesGeoJSON}); + + // DEFINE PATH FUNCTION + const geoPathGen = d3.geoPath(projection); -}); \ No newline at end of file + // DRAW MAP + svg.selectAll(".country") + .data(europeanCountriesGeoJSON) + .join("path") + .attr("class", "country") + .attr("stroke", "black") + .attr("fill", d => { + const countryName = d.properties.name; + const countryData = momaData.find(cd => cd.Country === countryName); + return countryData ? colorScale(countryData.Count) : "#f0f0f0"; // Default color for countries with no data + }) + .attr("d", geoPathGen); +}) +.catch(error => { + console.error("Error loading or processing data:", error); +}); diff --git a/2_4_geographic/style.css b/2_4_geographic/style.css index 35a1801..9087c43 100644 --- a/2_4_geographic/style.css +++ b/2_4_geographic/style.css @@ -1,6 +1,5 @@ body { - font-family: "Source Sans Pro", sans-serif; - font-size: 16px; + font-family: 'Helvetica Neue', sans-serif; font-size: 16px; padding: 1em; } @@ -10,7 +9,7 @@ h1 { } h3 { - font-size: 2em; + font-size: 3em; margin: 0.25em 0; } From d47d4c3be48741399346d84c5f314bc87ac107df Mon Sep 17 00:00:00 2001 From: colin_f_gergaghty Date: Mon, 25 Mar 2024 17:11:01 -0400 Subject: [PATCH 6/9] ny nrg --- 2_3_time_series/Energy_1990_2020.csv | 1043864 +++++++++++++++++++++++ 2_3_time_series/index.html | 27 +- 2_3_time_series/main.js | 92 +- 3 files changed, 1043951 insertions(+), 32 deletions(-) create mode 100644 2_3_time_series/Energy_1990_2020.csv diff --git a/2_3_time_series/Energy_1990_2020.csv b/2_3_time_series/Energy_1990_2020.csv new file mode 100644 index 0000000..e96a89d --- /dev/null +++ b/2_3_time_series/Energy_1990_2020.csv @@ -0,0 +1,1043864 @@ +Year,State,Industry Sector Category,Residential +2020,NY,Total Electric Industry,18.36 +2019,NY,Total Electric Industry,17.94 +2018,NY,Total Electric Industry,18.52 +2017,NY,Total Electric Industry,18.03 +2016,NY,Total Electric Industry,17.58 +2015,NY,Total Electric Industry,18.54 +2014,NY,Total Electric Industry,20.07 +2013,NY,Total Electric Industry,18.79 +2012,NY,Total Electric Industry,17.62 +2011,NY,Total Electric Industry,18.26 +2010,NY,Total Electric Industry,18.74 +2009,NY,Total Electric Industry,17.50 +2008,NY,Total Electric Industry,18.31 +2007,NY,Total Electric Industry,17.10 +2006,NY,Total Electric Industry,16.89 +2005,NY,Total Electric Industry,15.72 +2004,NY,Total Electric Industry,14.54 +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, +,,, \ No newline at end of file diff --git a/2_3_time_series/index.html b/2_3_time_series/index.html index f964277..72c14c7 100644 --- a/2_3_time_series/index.html +++ b/2_3_time_series/index.html @@ -1,14 +1,15 @@ - - - Interactive Data Visualization Tutorial - - - - -

Section 2 | Tutorial 3 | Time Series

-
- - - - \ No newline at end of file + + + + Interactive Data Visualization Tutorial + + + + +

New York Residential Electricity Prices 2004 - 2020

+
+ + + + diff --git a/2_3_time_series/main.js b/2_3_time_series/main.js index bbed50f..198f10c 100644 --- a/2_3_time_series/main.js +++ b/2_3_time_series/main.js @@ -1,26 +1,80 @@ - /* CONSTANTS AND GLOBALS */ -// const width = , -// height = , -// margin = ; +/* CONSTANTS AND GLOBALS */ +const width = window.innerWidth * 0.7, + height = window.innerHeight * 0.7, + margin = { top: 20, bottom: 50, left: 60, right: 60 }; -/* LOAD DATA */ -d3.csv('[PATH_TO_YOUR_DATA]', d => { - return { - // year: new Date(+d.Year, 0, 1), - // country: d.Entity, - // population: +d.Population - } -}).then(data => { - console.log('data :>> ', data); +/* DATA */ +const data = [ + { year: new Date(2020, 0, 1), residentialPrice: 18.36 }, + { year: new Date(2019, 0, 1), residentialPrice: 17.94 }, + { year: new Date(2018, 0, 1), residentialPrice: 18.52 }, + { year: new Date(2017, 0, 1), residentialPrice: 18.03 }, + { year: new Date(2016, 0, 1), residentialPrice: 17.58 }, + { year: new Date(2015, 0, 1), residentialPrice: 18.54 }, + { year: new Date(2014, 0, 1), residentialPrice: 20.07 }, + { year: new Date(2013, 0, 1), residentialPrice: 18.79 }, + { year: new Date(2012, 0, 1), residentialPrice: 17.62 }, + { year: new Date(2011, 0, 1), residentialPrice: 18.26 }, + { year: new Date(2010, 0, 1), residentialPrice: 18.74 }, + { year: new Date(2009, 0, 1), residentialPrice: 17.50 }, + { year: new Date(2008, 0, 1), residentialPrice: 18.31 }, + { year: new Date(2007, 0, 1), residentialPrice: 17.10 }, + { year: new Date(2006, 0, 1), residentialPrice: 16.89 }, + { year: new Date(2005, 0, 1), residentialPrice: 15.72 }, + { year: new Date(2004, 0, 1), residentialPrice: 14.54 }, +]; - // SCALES +// SCALES +const xScale = d3.scaleTime() + .domain(d3.extent(data, d => d.year)) + .range([margin.left, width - margin.right]); - // CREATE SVG ELEMENT +const yScale = d3.scaleLinear() + .domain([0, d3.max(data, d => d.residentialPrice)]) + .range([height - margin.bottom, margin.top]); - // BUILD AND CALL AXES +// CREATE SVG ELEMENT +const svg = d3.select("#container") + .append("svg") + .attr("width", width) + .attr("height", height); - // LINE GENERATOR FUNCTION +// AXES +const xAxis = d3.axisBottom(xScale).ticks(data.length); +const yAxis = d3.axisLeft(yScale).tickFormat(d => `$${d.toFixed(2)}`); - // DRAW LINE +svg.append("g") + .attr("class", "axis xAxis") + .attr("transform", `translate(0,${height - margin.bottom})`) + .call(xAxis) + .append("text") + .attr("class", "axisLabel") + .attr("text-anchor", "end") + .attr("x", width - margin.right) + .attr("y", -10) + .text("Year"); -}); \ No newline at end of file +svg.append("g") + .attr("class", "axis yAxis") + .attr("transform", `translate(${margin.left},0)`) + .call(yAxis) + .append("text") + .attr("class", "axisLabel") + .attr("text-anchor", "end") + .attr("transform", "rotate(-90)") + .attr("y", 15) + .attr("x", -margin.top) + .text("Price ($)"); + +// AREA GENERATOR +const areaGen = d3.area() + .x(d => xScale(d.year)) + .y0(height - margin.bottom) + .y1(d => yScale(d.residentialPrice)); + +// DRAW AREA +svg.append("path") + .datum(data) // Use datum as we're only creating one area path + .attr("class", "area") + .attr("d", areaGen) + .attr("fill", "#90caf9"); // Using a placeholder color, you can change it to fit your design From 1f14a9765180859b22114b88d8dc52c8089bddad Mon Sep 17 00:00:00 2001 From: colin_f_gergaghty Date: Mon, 25 Mar 2024 17:23:15 -0400 Subject: [PATCH 7/9] error fix not showing distr --- 2_2_distributions/MoMA_distributions.csv | 312 +++++++++++++++++++++++ 2_2_distributions/main.js | 133 +++++++++- 2_2_distributions/style.css | 2 +- 3 files changed, 433 insertions(+), 14 deletions(-) create mode 100644 2_2_distributions/MoMA_distributions.csv diff --git a/2_2_distributions/MoMA_distributions.csv b/2_2_distributions/MoMA_distributions.csv new file mode 100644 index 0000000..2747772 --- /dev/null +++ b/2_2_distributions/MoMA_distributions.csv @@ -0,0 +1,312 @@ +Title,Artist,ConstituentID,ArtistBio,Nationality,BeginDate,EndDate,Artist Lifespan,Gender,Date,Length (cm),Width (cm) +Rain Drapery Fabric,Alexander Girard,7333,"(American, 1907–1993)",(American),1907,1993,86,(Male),1953,174,99 +Rain (furnishing fabric),Alexander Girard,7333,"(American, 1907–1993)",(American),1907,1993,86,(Male),1953,134.6,113 +Harlequin Printed Fabric,S.M. Hexter Company,9206,,(),0,0,0,(),c. 1955,137.1603,111.7602 +Circles,Alexander Girard,7333,"(American, 1907–1993)",(American),1907,1993,86,(Male),1951,210.8204,113.0302 +Abacus (Furnishing fabric),Paul Rand,4809,"(American, 1914–1996)",(American),1914,1996,82,(Male),c.1946,135.8903,113 +Basics (Drapery fabric),Martin,7341,(Nationality unknown),(Nationality unknown),0,0,0,(Male),c. 1953,149.8603,102.8702 +Border Riff #3 Sheer Fabric,Ross Littell,3570,"(American, 1924–2000)",(American),1924,2000,76,(Male),c. 1948,163.8303,116.8402 +Multicolored Squares,Alexander Girard,7333,"(American, 1907–1993)",(American),1907,1993,86,(Male),c. 1952,158.7503,118.1102 +Sheer Fabric Sample,Alexander Girard,7333,"(American, 1907–1993)",(American),1907,1993,86,(Male),c. 1952,180.3404,121.9202 +Cassius (Casement cloth),Emily Belding,7329,"(American, 1904–1999)",(American),1904,1999,95,(Female),c. 1954,170.1803,120.7 +Ovals #2 textile (Drapery fabric),Joel Robinson,7348,"(American, 1915 – 2012)",(American),1915,2012,97,(Male),1954–1955,158.7,114.3 +Triad,Eszter Haraszty,7336,"(American, born Hungary. 1920–1994)",(American),1920,1994,74,(Female),c. 1951,163.8303,114.3002 +Triad,Eszter Haraszty,7336,"(American, born Hungary. 1920–1994)",(American),1920,1994,74,(Female),c. 1951,151.7653,111.7602 +Triad,Eszter Haraszty,7336,"(American, born Hungary. 1920–1994)",(American),1920,1994,74,(Female),c. 1951,155,113.0302 +Stone on Stone,Vera (Vera Neumann),7364,"(American, 1909–1993)",(American),1909,1993,84,(Female),c. 1950,174,109.2202 +Trapeze,"Gretl Wollner, Leo Wollner","7365, 37596","(Austrian, 1920–2006) (Austrian, 1925–1995)",(Austrian) (Austrian),0,0,0,(Female) (),c. 1955,180.3,114.3002 +Banda,Angelo Testa,7357,"(American, 1921–1984)",(American),1921,1984,63,(Male),c. 1949,146,113 +Banda,Angelo Testa,7357,"(American, 1921–1984)",(American),1921,1984,63,(Male),c. 1949,132.0803,116.8402 +Tracy Sheer Fabric,Eszter Haraszty,7336,"(American, born Hungary. 1920–1994)",(American),1920,1994,74,(Female),1952,139.7,110.5 +Square Dance Sail Cloth,Vera (Vera Neumann),7364,"(American, 1909–1993)",(American),1909,1993,84,(Female),c. 1950,185.4204,114.3002 +Decorated Panel,Lynn Alexander,7327,"(American, 1920–1963)",(American),1920,1963,43,(Female),c. 1954,354.3307,86.3602 +Upholstery Fabric Sample,Marli Ehrman,1694,"(American, born Germany. 1904–1982)",(American),1904,1982,78,(Female),Before 1975,82.5,59 +Upholstery Fabric Sample,Marli Ehrman,1694,"(American, born Germany. 1904–1982)",(American),1904,1982,78,(Female),Before 1975,93.3,96.5 +Casement cloth,Marianne Strengell,5692,"(American, born Finnish. 1909–1998)",(American),1909,1998,89,(Female),1940s,67.3,62.2301 +Casement Cloth,Marianne Strengell,5692,"(American, born Finnish. 1909–1998)",(American),1909,1998,89,(Female),c. 1940,78.8,54.6101 +Casement cloth,Marianne Strengell,5692,"(American, born Finnish. 1909–1998)",(American),1909,1998,89,(Female),1940s,66,62.2301 +Upholstery Fabric,Marianne Strengell,5692,"(American, born Finnish. 1909–1998)",(American),1909,1998,89,(Female),1950s,90.1702,55.8801 +Sample Blanket Showing Three Weaves,Dorothy Liebes,7344,"(American, 1899–1972)",(American),1899,1972,73,(Female),c. 1946,66,41.9101 +Drapery fabric,Dorothy Liebes,7344,"(American, 1899–1972)",(American),1899,1972,73,(Female),c. 1946,94,63.5 +Mexican plaid woven textile,Dorothy Liebes,7344,"(American, 1899–1972)",(American),1899,1972,73,(Female),c. 1940,128.2703,139.7003 +Upholstery textile,Dorothy Liebes,7344,"(American, 1899–1972)",(American),1899,1972,73,(Female),c.1930-1947,61,50.8001 +Upholstery Fabric,Marli Ehrman,1694,"(American, born Germany. 1904–1982)",(American),1904,1982,78,(Female),c. 1947,132.0803,121.9202 +Stacatto Printed Fabric,Yvonne Delattre,7330,(Swiss),(Swiss),0,0,0,(Female),c. 1946,198.1,90.2 +Shades and Tints (Drapery fabric),Emily Belding,7329,"(American, 1904–1999)",(American),1904,1999,95,(Female),c. 1954,175.2604,105.4102 +Shades and Tints (Drapery fabric),Emily Belding,7329,"(American, 1904–1999)",(American),1904,1999,95,(Female),c. 1954,156.2103,106.6802 +Handwoven Fabric,Emily Belding,7329,"(American, 1904–1999)",(American),1904,1999,95,(Female),c. 1955,104.7752,29.2 +Handwoven Scarf Material,Emily Belding,7329,"(American, 1904–1999)",(American),1904,1999,95,(Female),c. 1955,109.2202,26 +Printed Textile,Marianne Strengell,5692,"(American, born Finnish. 1909–1998)",(American),1909,1998,89,(Female),1950s,177.8,91.5 +Casement Fabric,Jack Lenor Larsen,7338,"(American, born 1927)",(American),1927,0,0,(Male),1949,214.6304,109.2202 +Leather Cloth Upholstery Fabric,Jack Lenor Larsen,7338,"(American, born 1927)",(American),1927,0,0,(Male),1955,276.8606,96.5 +Interplay Casement Fabric,Jack Lenor Larsen,7338,"(American, born 1927)",(American),1927,0,0,(Male),1960,208.2804,123.2 +Upholstery textile,Dorothy Liebes,7344,"(American, 1899–1972)",(American),1899,1972,73,(Female),c. 1946,105.4102,120.7 +Campagna (Furnishing fabric),Angelo Testa,7357,"(American, 1921–1984)",(American),1921,1984,63,(Male),1951,68.6,86.3 +Drapery Material Sample,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),1945,105.4,105.4 +Cleaver,Charles D. Briddell,772,(American),(American),0,0,0,(Male),c. 1944-47,28.9,10.8 +Drapery Material,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),c. 1948,174,109.2 +Oceana Serving Tray,Russel Wright,6460,"(American, 1904–1976)",(American),1904,1976,72,(Male),1931,49.8,11.5 +Cleaverette (model 71),Charles D. Briddell,772,(American),(American),0,0,0,(Male),c. 1944-47,31.1,7.3 +Drapery material (Used in the Rockefeller Guest House),Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),1942–1944,348,91.4 +Display Material Sample,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),1949,174.9428,111.7 +Drapery Material,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),c. 1935,320,82.5 +Drapery Material,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),1961,121.9,132.1 +Pedocal,Yoshihiro Kimura,8420,"(Japanese, born 1947)",(Japanese),1947,0,0,(Male),1996,579.1212,119.3802 +Washi & Wool,Osamu Mita,8421,(Japanese),(Japanese),0,0,0,(Male),1997,391.1608,66.0401 +Drapery Material,Gunta Stölzl,5675,"(Swiss, born Germany. 1897–1983)",(Swiss),1897,1983,86,(Female),1926,24.1,10.2 +Reversible Coat Material,Gunta Stölzl,5675,"(Swiss, born Germany. 1897–1983)",(Swiss),1897,1983,86,(Female),1923-28,20.3,15.2 +Suit Material,Gunta Stölzl,5675,"(Swiss, born Germany. 1897–1983)",(Swiss),1897,1983,86,(Female),c.1925-28,29.2,19.7 +Suit Material,Gunta Stölzl,5675,"(Swiss, born Germany. 1897–1983)",(Swiss),1897,1983,86,(Female),c.1925-28,15.5575,7.3025 +Suit Material,Gunta Stölzl,5675,"(Swiss, born Germany. 1897–1983)",(Swiss),1897,1983,86,(Female),c.1925-28,17.78,6.985 +Upholstery fabric for tubular steel chairs,Gunta Stölzl,5675,"(Swiss, born Germany. 1897–1983)",(Swiss),1897,1983,86,(Female),1928,15.2,14.9 +Upholstery fabric for tubular steel chairs,Gunta Stölzl,5675,"(Swiss, born Germany. 1897–1983)",(Swiss),1897,1983,86,(Female),1928,16.1925,15.24 +Upholstery fabric for tubular steel chairs,Gunta Stölzl,5675,"(Swiss, born Germany. 1897–1983)",(Swiss),1897,1983,86,(Female),1928,12.7,14 +Upholstery fabric for tubular steel chairs,Gunta Stölzl,5675,"(Swiss, born Germany. 1897–1983)",(Swiss),1897,1983,86,(Female),c. 1925,18.7,12.2 +Upholstery fabric for tubular steel chairs,Gunta Stölzl,5675,"(Swiss, born Germany. 1897–1983)",(Swiss),1897,1983,86,(Female),c. 1925,15.5575,11.7475 +Upholstery fabric for tubular steel chairs,Gunta Stölzl,5675,"(Swiss, born Germany. 1897–1983)",(Swiss),1897,1983,86,(Female),c. 1925,17.145,6.0325 +Upholstery Material,Gunta Stölzl,5675,"(Swiss, born Germany. 1897–1983)",(Swiss),1897,1983,86,(Female),c. 1926,32.7026,31.7 +Upholstery fabric for tubular steel chairs,Gunta Stölzl,5675,"(Swiss, born Germany. 1897–1983)",(Swiss),1897,1983,86,(Female),c. 1925,10.4775,6.985 +Upholstery fabric for tubular steel chairs,Gunta Stölzl,5675,"(Swiss, born Germany. 1897–1983)",(Swiss),1897,1983,86,(Female),c. 1925,11.8,6.5088 +Tablecloth material,Gunta Stölzl,5675,"(Swiss, born Germany. 1897–1983)",(Swiss),1897,1983,86,(Female),1923–1928,33,21.6 +Upholstery fabric for tubular steel chairs,Gunta Stölzl,5675,"(Swiss, born Germany. 1897–1983)",(Swiss),1897,1983,86,(Female),1923–1928,34.2901,20.32 +Reversible Drapery Material,Gunta Stölzl,5675,"(Swiss, born Germany. 1897–1983)",(Swiss),1897,1983,86,(Female),1923-28,45.7201,24.13 +Suit Material,Gunta Stölzl,5675,"(Swiss, born Germany. 1897–1983)",(Swiss),1897,1983,86,(Female),1925,23.495,15.24 +Reversible Coat Material,Gunta Stölzl,5675,"(Swiss, born Germany. 1897–1983)",(Swiss),1897,1983,86,(Female),1926-27,20.3,13 +Reversible Coat Material,Gunta Stölzl,5675,"(Swiss, born Germany. 1897–1983)",(Swiss),1897,1983,86,(Female),1923-28,19.3675,15.875 +Reversible Coat Material,Gunta Stölzl,5675,"(Swiss, born Germany. 1897–1983)",(Swiss),1897,1983,86,(Female),1923-28,20.6,20.6 +Brickyard,Keiji Otani,8422,"(Japanese, born 1967)",(Japanese),1967,0,0,(Male),1997,477.521,101.6002 +Triaxial Fabric,"Sakase Adtech Co., Fukui, Japan",9581,,(Japanese),0,0,0,(),1991,409.5758,161.2903 +Mat,,,,,0,0,0,,c. 1930-40,61,45.7201 +Moss Temple,Reiko Sudo,7045,"(Japanese, born 1953)",(Japanese),1953,0,0,(Female),1997,327.6607,99.0602 +Casement Cloth,Ellen Siegel,7360,(American),(American),0,0,0,(Female),1956,106.7,128.2 +Shutter,Reiko Sudo,7045,"(Japanese, born 1953)",(Japanese),1953,0,0,(Female),1997,492.761,80.0102 +Upholstery textile,Dorothy Liebes,7344,"(American, 1899–1972)",(American),1899,1972,73,(Female),c. 1946,22.86004572,17.78003556 +Fish,Dora Jung,2953,"(Finnish, 1906–1980)",(Finnish),1906,1980,74,(Female),c. 1969,50.8001,32.3851 +Multi-Colored Minime,Sheila Hicks,2631,"(American, born 1934)",(American),1934,0,0,(Female),c. 1962,26.6701,29.2101 +Badagara Cloth,Sheila Hicks,2631,"(American, born 1934)",(American),1934,0,0,(Female),1965,40.6401,43.1801 +Badagara Cloth,Sheila Hicks,2631,"(American, born 1934)",(American),1934,0,0,(Female),1965,36.8301,43.1801 +Kerala Cloth,Sheila Hicks,2631,"(American, born 1934)",(American),1934,0,0,(Female),1965,33.6551,48.2601 +Bottle Opener,Unidentified Designer,6011,(Nationality unknown),(Nationality unknown),0,0,0,(),1946,13.3,6.35 +Ladle,"G.M. Thurnauer Co., Czechoslovakia",9629,,(Czech),0,0,0,(),1918-1942,29.2,8.7 +Crinkled Sheer Fabric,Junichi Arai,7044,"(Japanese, 1932–2017)",(Japanese),1932,2017,85,(Male),c. 1995,609.6,81.2802 +Crinkled Metallic Fabric,Junichi Arai,7044,"(Japanese, 1932–2017)",(Japanese),1932,2017,85,(Male),c. 1995,431.8009,86.3 +Clothes Brush,Unidentified Designer,6011,(Nationality unknown),(Nationality unknown),0,0,0,(),c. 1900,12.7,3.5 +Letter Opener,Marcello Nizzoli,4316,"(Italian, 1887–1969)",(Italian),1887,1969,82,(Male),1960,21.9075,4.445 +Tablecloth,"Josef Hoffmann, Berthold Löffler","2694, 3585","(Austrian, 1870–1956) (Austrian, 1874–1960)",(Austrian) (Austrian),0,0,0,(Male) (Male),1905,133.4,135.8903 +Scarf,Eiji Miyamoto,7507,"(Japanese, born 1948)",(Japanese),1948,0,0,(Male),1991,195.5804,85.0902 +Spatula,"Karlsson & Nilsson, Sweden",9693,,(Swedish),0,0,0,(),c. 1946,28.6,5.1 +Adjustable Garden Rake,Vernon P. Steele,5617,(American),(American),0,0,0,(Male),1945,127,24.765 +Isowave Textile,"N.V. Schlegel S.A., Gistel, Belgium",9712,,(Belgian),0,0,0,(),c. 1995,600.7112,102.9 +Jelly Fish Fabric,Reiko Sudo,7045,"(Japanese, born 1953)",(Japanese),1953,0,0,(Female),c. 1994,637.5,86.4 +Fabric,Reiko Sudo,7045,"(Japanese, born 1953)",(Japanese),1953,0,0,(Female),c. 1994,614.6812,116.8402 +Spanner,Frederick Kiesler,3091,"(American, born Austria-Hungary. 1890–1965)",(American),1890,1965,75,(Male),1942,106.7,71.1 +Corn Silk Fabric,Reiko Sudo,7045,"(Japanese, born 1953)",(Japanese),1953,0,0,(Female),c. 1994,619.7,76.2 +Rakugaki Fabric,Reiko Sudo,7045,"(Japanese, born 1953)",(Japanese),1953,0,0,(Female),c. 1994,645.1613,121.9202 +Fabric,Reiko Sudo,7045,"(Japanese, born 1953)",(Japanese),1953,0,0,(Female),c. 1994,614.6812,116.8 +Bubble Pack Fabric,Reiko Sudo,7045,"(Japanese, born 1953)",(Japanese),1953,0,0,(Female),c. 1994,607,73.6 +Fabric,Reiko Sudo,7045,"(Japanese, born 1953)",(Japanese),1953,0,0,(Female),c. 1994,600.0762,83.8 +Torayca Textile,"Toray Industries, Inc., Tokyo",9755,"(Japanese, established 1926)",(Japanese),1926,0,0,(),Unknown,1000.2,100 +Tire Cord,"Toray Industries, Inc., Tokyo, Toyo Tire Cord Co. Ltd.","9755, 22668","(Japanese, established 1926) (Japanese)",(Japanese) (Japanese),0,0,0,() (),c.1986–1996,769.6215,121.9202 +Wave Process Fabric,Yamazaki Vellodo Co. Ltd.,7506,(Japanese),(Japanese),0,0,0,(),c. 1995,482.6,55.9 +Textile,Koichi Yoshimura,7505,"(Japanese, born 1940)",(Japanese),1940,0,0,(Male),1992,376,111.7602 +Axe,"Collins Company, Collinsville, CT",9830,(est. 1826),(American),1826,0,0,(),c. 1945,70.6,16.1925 +Red Devil (Drapery fabric),Marianne Strengell,5692,"(American, born Finnish. 1909–1998)",(American),1909,1998,89,(Female),1947,457.2,127 +Child's Wheelbarrow,Gerrit Rietveld,4922,"(Dutch, 1888–1964)",(Dutch),1888,1964,76,(Male),1923,85.0902,28.8926 +Flint Spatula,"Ekco Products Co., Chicago, IL",9259,(est. 1888),(American),1888,0,0,(),1943-46,34.9,8.1 +Flint Ladle,"Ekco Products Co., Chicago, IL",9259,(est. 1888),(American),1888,0,0,(),1943-46,30.5,7.8 +Mantilla Casement Gauze,Henning Watterston,6268,"(American, 1916–2009)",(American),1916,2009,93,(Male),Before 1948,177.8004,137.1603 +Heirloom Casement Gauze,Henning Watterston,6268,"(American, 1916–2009)",(American),1916,2009,93,(Male),Before 1948,172.7203,137.1603 +Furnishing Fabric,Richard Riemerschmid,4918,"(German, 1868–1957)",(German),1868,1957,89,(Male),1905,20,20.3 +Group of 18 Textile Samples,Richard Riemerschmid,4918,"(German, 1868–1957)",(German),1868,1957,89,(Male),1905-1926,20.32,20.32 +Drapery Fabric,Richard Riemerschmid,4918,"(German, 1868–1957)",(German),1868,1957,89,(Male),1907,20,20 +Drapery Fabric,Richard Riemerschmid,4918,"(German, 1868–1957)",(German),1868,1957,89,(Male),1908,19.685,19.7 +Drapery Fabric,Richard Riemerschmid,4918,"(German, 1868–1957)",(German),1868,1957,89,(Male),1908,12.065,21.9075 +Furnishing Fabric,Richard Riemerschmid,4918,"(German, 1868–1957)",(German),1868,1957,89,(Male),1905,20,20.2 +Furnishing Fabric,Richard Riemerschmid,4918,"(German, 1868–1957)",(German),1868,1957,89,(Male),1908,20,20.3 +Furnishing Fabric,Richard Riemerschmid,4918,"(German, 1868–1957)",(German),1868,1957,89,(Male),c. 1908-09,20,20.3 +Drapery Fabric,Richard Riemerschmid,4918,"(German, 1868–1957)",(German),1868,1957,89,(Male),1926,20,20.7 +Fabric Sample,Richard Riemerschmid,4918,"(German, 1868–1957)",(German),1868,1957,89,(Male),c. 1908,20,19.05 +Fabric Sample,Richard Riemerschmid,4918,"(German, 1868–1957)",(German),1868,1957,89,(Male),1910,20,19.4 +Fabric Sample,Richard Riemerschmid,4918,"(German, 1868–1957)",(German),1868,1957,89,(Male),c. 1905,19.7,20 +Furnishing Fabric,Richard Riemerschmid,4918,"(German, 1868–1957)",(German),1868,1957,89,(Male),1905,20.0025,20.32 +Upholstery Fabric,Richard Riemerschmid,4918,"(German, 1868–1957)",(German),1868,1957,89,(Male),c. 1905,20.32,20.955 +Drapery Fabric,Richard Riemerschmid,4918,"(German, 1868–1957)",(German),1868,1957,89,(Male),c. 1905,20,20 +Drapery Fabric,Richard Riemerschmid,4918,"(German, 1868–1957)",(German),1868,1957,89,(Male),c. 1905,20,20.2 +Drapery Fabric,Richard Riemerschmid,4918,"(German, 1868–1957)",(German),1868,1957,89,(Male),1905,20,20 +Flint Kitchen Spoon,"Ekco Products Co., Chicago, IL",9259,(est. 1888),(American),1888,0,0,(),1943-46,28.9,6.2 +Flint Spatula,"Ekco Products Co., Chicago, IL",9259,(est. 1888),(American),1888,0,0,(),1943-46,26.7,7 +Flint Kitchen Fork,"Ekco Products Co., Chicago, IL",9259,(est. 1888),(American),1888,0,0,(),1943-46,29.2,3.7 +Tablecloth,Unidentified Designer,6014,(German),(German),0,0,0,(),1923,151.1,139.7 +Ron Fork,Dean Pollock,4674,"(American, 1897–1971)",(American),1897,1971,74,(Male),c. 1936-47,27.3,4.1 +Vernier Depth Gauge (model 600),"Brown & Sharpe Mfg. Co., Providence, RI",10044,"(American, founded 1833)",(American),1833,0,0,(),Before 1934,13.6525,6.6675 +Carpet Beater (model KS 1475),Gino Colombini,1194,"(Italian, born 1915)",(Italian),1915,0,0,(Male),1957,58.4,15.875 +Kitchen Brush,Gino Colombini,1194,"(Italian, born 1915)",(Italian),1915,0,0,(Male),1955,15.6,7 +Bull in the Sun Rug,Arshile Gorky,2252,"(American, born Van Province, Ottoman Empire (present-day Turkey). c. 1904–1948)",(American),1904,1948,44,(Male),1942,215.9004,295.9106 +Bracelet,Unidentified Designer,6011,(Nationality unknown),(Nationality unknown),0,0,0,(),c.1940,20.3,1.9 +Bread Knife,,,,,0,0,0,,1950s,31.1,2.857505715 +Combination Meat Chopper and Tenderizer,,,,,0,0,0,,1950s,27.3,5.397510795 +Letter Opener,Hector Guimard,2407,"(French, 1867–1942)",(French),1867,1942,75,(Male),c. 1907,17.1,2.1 +Scallops Screen and Casement Fabric,Roy Ginstrom,2168,"(American, 1921–1977)",(American),1921,1977,56,(Male),c. 1955,243.8,101.6 +BF Sewing Machine (model 562457),Emilio Cerri,1051,"(Italian, died 1947)",(Italian),0,1947,1947,(Male),1934,43.1801,19.685 +Fabric,Harry Napper,4223,"(British, 1860–1930)",(British),1860,1930,70,(Male),c. 1902,38.8,46.2 +Fabric,Harry Napper,4223,"(British, 1860–1930)",(British),1860,1930,70,(Male),c. 1902,41.5926,39.2113 +Pillowcase,Claire Wagner Kosterlitz,3225,"(American, born Germany. 1903–1997)",(American),1903,1997,94,(Female),1925-26,54.6101,53.3401 +Knife,"Maria Benktzon, Sven-Eric Juhlin","6935, 2950","(Swedish, born 1946) (Swedish, born 1940)",(Swedish) (Swedish),0,0,0,(Female) (Male),1974,34.3,10.16 +Brigade Firefighter Helmet,Alexander Bally,315,"(American, born 1938)",(American),1938,0,0,(Male),1984,33.0201,28 +Double Helix Knife,Ward Bennett,478,"(American, 1917–2003)",(American),1917,2003,86,(Male),1985,23.1775,1.27 +Double Helix Fork,Ward Bennett,478,"(American, 1917–2003)",(American),1917,2003,86,(Male),1985,20.0025,2.54 +Double Helix Soupspoon,Ward Bennett,478,"(American, 1917–2003)",(American),1917,2003,86,(Male),1985,19,3.175 +Double Helix Spoon,Ward Bennett,478,"(American, 1917–2003)",(American),1917,2003,86,(Male),1985,16.51,2.8 +Double Helix Salad Fork,Ward Bennett,478,"(American, 1917–2003)",(American),1917,2003,86,(Male),1985,17.2,2.3 +Platter,Tapio Wirkkala,6409,"(Finnish, 1915–1985)",(Finnish),1915,1985,70,(Male),1951,48.2601,25.0826 +Champagne Bottle Opener,"J.A. Henckels, Solingen, Germany",2589,(est. 1731),(),1731,0,0,(),n.d.,19,4.8 +Feather Flurries Fabric (no. 9-166A),Reiko Sudo,7045,"(Japanese, born 1953)",(Japanese),1953,0,0,(Female),c. 1993,186.3729,117.7927 +Cracked Cloth Fabric (no. 9-146A),Reiko Sudo,7045,"(Japanese, born 1953)",(Japanese),1953,0,0,(Female),1993,449.5809,116.8402 +Wall Hanging (Woven in 1964 under Albers' supervision from the original design),Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),1927,147.9,121.3 +Fabric (no. 9-158),Reiko Sudo,7045,"(Japanese, born 1953)",(Japanese),1953,0,0,(Female),1992,800.1016,97.7902 +Tailor Shears,"J.A. Henckels, Solingen, Germany",2589,(est. 1731),(),1731,0,0,(),c. 1900,34.2901,10.16 +Greta (no. 55),Sheila Hicks,2631,"(American, born 1934)",(American),1934,0,0,(Female),1961,22.86,14.605 +Hat Pin,Percy Stamp,5598,(British),(British),0,0,0,(Male),1908,22.6,2.2 +Martell Curtain Fabric,"Cheney Greef & Co., New York, NY",10361,,(American),0,0,0,(),1944-1954,124.5,49.5 +Kodiak Special Bow,Bill Stewart,7152,"(American, born 1920)",(American),1920,0,0,(Male),c. 1960,154.9403,7.3025 +Jai alai cesta,José Echavé,1674,"(Spanish, 1907–1999)",(Spanish),1907,1999,92,(Male),c.1962,66,15.24 +Tablecloth,Dora Jung,2953,"(Finnish, 1906–1980)",(Finnish),1906,1980,74,(Female),1957,162.6,307.3406 +Woven Wall Hanging,Benita Koch-Otte,3180,"(German, 1892–1976)",(German),1892,1976,84,(Female),1923–1924,228.6004572,289.5605791 +Fishing Knife,Angelo Patin,4518,(Italian),(Italian),0,0,0,(Male),Unknown,20.3,3 +Wall Hanging,Franklin Colvin,1204,(American),(American),0,0,0,(Male),1955,210.8,57.1 +Sailing Knife and Marlinespike (model 468),Charles Currey,26650,"(British, 1890–1973)",(British),1890,1973,83,(Male),c. 1960,9.2,3.7 +Target Pistol (model 103),"Hämmerli, Ltd., Lenzburg, Switzerland",10383,,(Swiss),0,0,0,(),c.1956,40.6,14.6 +Skis,Howard Head,2561,"(American, 1914–1991)",(American),1914,1991,77,(Male),1947-50,195.5804,6.985 +Expert Model Surfboard,Hobie Alter,128,"(American, born 1933)",(American),1933,0,0,(Male),1958,320,50.8 +Cricket Bat (model 9000),"Slazengers Ltd., England",9009,(established 1881),(British),1881,0,0,(),Before 1962,87,10.8 +Hand Mirror,Unidentified Designer,6020,(British),(British),0,0,0,(),c. 1900,26,12 +Carpet,Bart van der Leck,6072,"(Dutch, 1876–1958)",(Dutch),1876,1958,82,(Male),1929–1935,337.8,233.7 +Nutcracker,Robert Welch,7133,"(British, 1929–2000)",(British),1929,2000,71,(Male),1958,15.3,4.8 +Near East Wall Hanging,Mary Walker Phillips,4601,"(American, born 1923)",(American),1923,0,0,(Female),1964,279.4006,115.5 +Blue Letter,Sheila Hicks,2631,"(American, born 1934)",(American),1934,0,0,(Female),1959,45.0851,43.1801 +Table with Wheels (model 2652),Gae Aulenti,241,"(Italian, 1930–2012)",(Italian),1930,2012,82,(Female),1980,138.7478,69.8501 +Prayer Rug,Sheila Hicks,2631,"(American, born 1934)",(American),1934,0,0,(Female),1965,220.980442,109.2202184 +Slicing Knife,"W.R. Case & Sons Cutlery Co., Bradford, PA",9550,(est. 1889),(American),1889,0,0,(),c.1939,33.6,1.9 +Folding Iron,"The Winsted Hardware Manufacturing Co., Winsted, CT",10613,(American),(American),0,0,0,(),c. 1940,20.3,10.2 +Free-Hanging Room Divider,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),c. 1949,221,82.5 +Upholstery Material,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),1923-26,20.6375,8.89 +Upholstery Material,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),1929,18.415,10.795 +Wall-Covering Material,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),1929,29.8451,11.43 +Wall-covering material,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),1929,30.1626,11.43 +Wall-covering material,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),1929,30.4801,11.43 +Hand Mirror,Olivier,7183,(French),(French),0,0,0,(),c. 1900,26.6701,19.685 +Wall-Covering Material,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),1929,41.9,65.7226 +Wall-Covering Material,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),1929,47.6,56.5 +Room-Divider Fabric Sample,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),1949,33,41.9 +Drapery Material,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),1929,11.4,19 +Drapery Material,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),1929,10.8,20.3 +Drapery Material,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),1929,11.4,19.1 +Drapery Material,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),1929,10.8,19 +Italicus Poultry Shears (model 397),Antonia Campi,941,"(Italian, born 1921)",(Italian),1921,0,0,(Female),1960,24.6063,4.4 +Drapery Material,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),1929,11.1,40.6 +Drapery material,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),1923–1926,9.2,20 +Drapery Material,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),1944,47,114.3 +Drapery Material,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),1946-47,31.7,43.2 +Drapery Material,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),1941,43.2,134.6 +Drapery Material,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),1945,34.3,43.2 +Drapery Material,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),1927,14.9,20.3 +Yellow Abakan,Magdalena Abakanowicz,38,"(Polish, 1930–2017)",(Polish),1930,2017,87,(Female),1967–1968,314.9606,304.8006 +Drapery Material,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),1927,15.9,10.8 +Automobile Upholstery Material,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),After 1933,7.6,6.3 +Woven Fabric Samples,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),After 1933,3.81,9.525 +Assorted Woven Fabric Samples,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),After 1933,3.81,11.43 +Automobile Upholstery Material,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),After 1933,7.6,6.7 +Automobile Upholstery Material,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),After 1933,7.6,6.7 +Bedspread Material for Harvard Graduate Center Dormitory,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),c. 1949,30.4801,25.4001 +Fabric Sample,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),After 1933,5.4,15.6 +Automobile Upholstery Material,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),After 1933,7.3,6.7 +Fabric Sample,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),After 1933,9.5,14.6 +Room-Dividing Curtain Material for Harvard Graduate Center Dormitory,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),1950,21.6,22.5 +Woven Fabric Sample,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),After 1933,43.8151,17.5 +Room-Dividing Curtain Material for Harvard Graduate Center Dormitory,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),1950,37.5,42.2 +Fabric Sample,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),After 1933,27,16.8 +Automobile Upholstery Material,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),After 1933,7.62,6.3 +Fabric Sample,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),After 1933,26.9876,18.4 +Wall-Covering Material,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),c. 1950,29.2,12.1 +Wall-Covering Material,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),c. 1950,28.6,12.7 +Wall-Covering Material,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),After 1933,26.6701,10.16 +Fabric Sample,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),After 1933,24.4,18.4 +Drapery Material,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),1941,37.4651,43.2 +Fabric Sample,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),c. 1949,45.1,38.1 +Automobile Upholstery Material,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),After 1933,7.6,6.7 +Woven Fabric Sample,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),After 1933,23.8125,20.0025 +Good Grips Paring Knife,"Smart Design, New York",10725,"(American, est. 1979)",(American),1979,0,0,(),1989,19.7,3.5 +Woven Fabric Sample,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),c. 1951,22.86,16.5 +Woven Fabric Sample,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),c. 1951,24.765,16.5 +Woven Fabric Sample,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),c. 1951,21,17.1 +Fabric Sample,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),c. 1951,14.605,8.3 +Upholstery Material,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),After 1933,5.4,5.6 +Casement Cloth,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),1950,27.6226,17.1 +Woven Fabric Sample,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),After 1933,14.9225,18.7 +Fabric Sample,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),c. 1951,12.7,8.3 +Fabric Sample,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),After 1933,13.97,7 +Fabric Sample,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),After 1933,16.51,13.6525 +Fabric Sample,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),After 1933,22.225,17.8 +Fabric Sample,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),c. 1959,19,17.8 +Casement Cloth Sample,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),After 1933,7.62,17.8 +Woven Fabric Sample,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),After 1933,22.225,12 +Fabric Sample,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),c. 1944,18.4,15.6 +Woven Fabric Samples,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),1933,3.81,9.525 +Casement Material,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),c. 1960,41.9,36.8 +Wall-Covering Fabric Sample,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),After 1933,13.335,20.3 +Wall-Covering Material,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),After 1933,12.1,15.6 +Fabric Sample,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),1940,17.8,22.9 +"Window Curtain Fabric Sample for Theater Cafe, Dessau",Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),1927,7,105.4 +Display Material,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),1947,31.1,52.1 +Display-Fabric Sample,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),1949,42.5451,48.9 +Display Fabric Sample,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),1944,88.9,96.5 +Double Faced Rug,Bart van der Leck,6072,"(Dutch, 1876–1958)",(Dutch),1876,1958,82,(Male),1929–1935,124.5,55.2 +Fabric Sample,Gunta Stölzl,5675,"(Swiss, born Germany. 1897–1983)",(Swiss),1897,1983,86,(Female),c. 1932-66,24.765,19 +Fabric Sample,Gunta Stölzl,5675,"(Swiss, born Germany. 1897–1983)",(Swiss),1897,1983,86,(Female),c. 1932-66,95.2502,78.7402 +Lobster Pick,Peter Sciascin,5294,(American),(American),0,0,0,(Male),Unknown,20.955,1.905 +Pruning Shears,Rudolf Moethe,4042,(German),(German),0,0,0,(Male),1951,21,5.1 +Knife,Ward Bennett,478,"(American, 1917–2003)",(American),1917,2003,86,(Male),1980,23.495,2.3 +Spoon,Ward Bennett,478,"(American, 1917–2003)",(American),1917,2003,86,(Male),1980,19.2088,3.6 +Desert Spoon,Ward Bennett,478,"(American, 1917–2003)",(American),1917,2003,86,(Male),1980,16.1925,3 +Fork,Ward Bennett,478,"(American, 1917–2003)",(American),1917,2003,86,(Male),1980,19.2,1.905 +Salad Fork,Ward Bennett,478,"(American, 1917–2003)",(American),1917,2003,86,(Male),1980,16.8275,1.905 +Tablecloth Fabric Sample,Anni Albers,96,"(American, born Germany. 1899–1994)",(American),1899,1994,95,(Female),1930,59.3,72.4 +Carving Fork,Vico Magistretti,3688,"(Italian, 1920–2006)",(Italian),1920,2006,86,(Male),1980,32.8,1.905 +Carving Knife,Vico Magistretti,3688,"(Italian, 1920–2006)",(Italian),1920,2006,86,(Male),1980,33,3.2 +Twist Tray for Crushed Ice,Gits Molding Corp.,2181,(American),(American),0,0,0,(),c. 1953,25.4001,10.2 +Watch,Flemming Bo Hansen,7150,"(Danish, born 1955)",(Danish),1955,0,0,(Male),1989,23.2,2.2 +Shoemaker's Tool,Sargent & Co.,10034,,(American),0,0,0,(),1916,30.4801,13.0175 +Bottle Opener,John Hays Hammond,2485,"(American, 1888–1965)",(American),1888,1965,77,(Male),1948,15.9,1.5875 +Storage Boxes with Covers,Unidentified Designer,6021,(American),(American),0,0,0,(),Unknown,4.7625,2.2225 +Roast Clamp,"The Richter & Phillips Co., Cincinatti, OH",11064,,(American),0,0,0,(),c. 1941,28.3,9.1 +Braquette Picture Frame,Nathan George Horwitt,2730,"(American, 1898–1990)",(American),1898,1990,92,(Male),Before 1941,11.4,1.8 +Vegetable Peeler,Unidentified Designer,6021,(American),(American),0,0,0,(),Before 1941,16.5,1.9 +Chaise Longue,Marcel Breuer,769,"(American, born Hungary. 1902–1981)",(American),1902,1981,79,(Male),1935-1936,147.3,61 +Upholstery fabric sample (no. 13304),Marli Ehrman,1694,"(American, born Germany. 1904–1982)",(American),1904,1982,78,(Female),1941,134.67,68.6 +Fabric Upholstery (no. 13304),Marli Ehrman,1694,"(American, born Germany. 1904–1982)",(American),1904,1982,78,(Female),c. 1940,132.0803,63.5 +Upholstery fabric sample (no. 13304),Marli Ehrman,1694,"(American, born Germany. 1904–1982)",(American),1904,1982,78,(Female),c. 1940,62.5476,42.2 +Upholstery fabric sample (No.13307),Marli Ehrman,1694,"(American, born Germany. 1904–1982)",(American),1904,1982,78,(Female),c. 1940,61,61 +Upholstery fabric sample (no.13308),Marli Ehrman,1694,"(American, born Germany. 1904–1982)",(American),1904,1982,78,(Female),c. 1940,58.4,57.1 +Fabric sample (no. 13309),Marli Ehrman,1694,"(American, born Germany. 1904–1982)",(American),1904,1982,78,(Female),1941,62.5,62.5 +Upholstery fabric,Marli Ehrman,1694,"(American, born Germany. 1904–1982)",(American),1904,1982,78,(Female),1941,80,66 +Upholstery fabric sample (no.13305),Marli Ehrman,1694,"(American, born Germany. 1904–1982)",(American),1904,1982,78,(Female),c. 1940,58.4,43.2 +Upholstery fabric sample (no. 13306),Marli Ehrman,1694,"(American, born Germany. 1904–1982)",(American),1904,1982,78,(Female),c. 1940,59,50.8 +Fabric (no. 13309),Marli Ehrman,1694,"(American, born Germany. 1904–1982)",(American),1904,1982,78,(Female),c. 1940,205.7,133.3 +Fabric (no. 13309),Marli Ehrman,1694,"(American, born Germany. 1904–1982)",(American),1904,1982,78,(Female),c. 1940,66,60.3 +Fabric (no. 13308),Marli Ehrman,1694,"(American, born Germany. 1904–1982)",(American),1904,1982,78,(Female),c. 1940,63.5,66 +Fabric (no. 13308),Marli Ehrman,1694,"(American, born Germany. 1904–1982)",(American),1904,1982,78,(Female),c. 1940,68.6,66 +Fabric (no. 13308),Marli Ehrman,1694,"(American, born Germany. 1904–1982)",(American),1904,1982,78,(Female),c. 1940,66,64.8 +Fabric (no. 13309),Marli Ehrman,1694,"(American, born Germany. 1904–1982)",(American),1904,1982,78,(Female),c. 1940,71.1,65.4 +Fabric (no. 13305),Marli Ehrman,1694,"(American, born Germany. 1904–1982)",(American),1904,1982,78,(Female),c. 1940,125.7,73.6601 +Fabric (no. 13305),Marli Ehrman,1694,"(American, born Germany. 1904–1982)",(American),1904,1982,78,(Female),c. 1940,213.4,127 +Printed Fabric,Virginia Nepodal,4262,"(American, 1914–2009)",(American),1914,2009,95,(Female),c. 1940,119.4,80 +Combination of Reeds,Noémi Raymond,36881,"(American, born France. 1889–1980)",(American),1889,1980,91,(Female),c.1940,203.2,121.9 +Blue Square,Noémi Raymond,36881,"(American, born France. 1889–1980)",(American),1889,1980,91,(Female),c. 1941,124.5,114.3 +"Strips, Trunks, Trees, Dots",Noémi Raymond,36881,"(American, born France. 1889–1980)",(American),1889,1980,91,(Female),late 1930s,198.1204,114.3 +"Blobs, Leaf",Noémi Raymond,36881,"(American, born France. 1889–1980)",(American),1889,1980,91,(Female),c. 1940,172.7,114.3 +"Squares, Blobs, Speckles",Noémi Raymond,36881,"(American, born France. 1889–1980)",(American),1889,1980,91,(Female),c. 1940,226,116.8 +Chinese Coins,Noémi Raymond,36881,"(American, born France. 1889–1980)",(American),1889,1980,91,(Female),c.1940,96.5,82.5 +Circles,Noémi Raymond,36881,"(American, born France. 1889–1980)",(American),1889,1980,91,(Female),c.1939-40,194.3104,111.1252 +"Combination of Strips, Reeds",Noémi Raymond,36881,"(American, born France. 1889–1980)",(American),1889,1980,91,(Female),c.1940,172.7,116.8 +Circles,Noémi Raymond,36881,"(American, born France. 1889–1980)",(American),1889,1980,91,(Female),c.1941,205.7404,119.4 +Woven Upholstery Fabric,Ulla af Ugglas,6003,"(Swedish, born 1916)",(Swedish),1916,0,0,(Female),c. 1936-41,92.7,33 \ No newline at end of file diff --git a/2_2_distributions/main.js b/2_2_distributions/main.js index d270425..97817bc 100644 --- a/2_2_distributions/main.js +++ b/2_2_distributions/main.js @@ -1,16 +1,123 @@ /* CONSTANTS AND GLOBALS */ -// const width = , -// height = , -// margin = , -// radius = ; +const width = window.innerWidth * 0.9, + height = window.innerHeight * 0.9, + margin = { top: 20, bottom: 60, left: 60, right: 40 }; + +/* TOOLTIP SETUP */ +const tooltip = d3.select("body").append("div") + .attr("class", "tooltip") + .style("position", "absolute") + .style("text-align", "center") + .style("width", "120px") + .style("height", "auto") + .style("padding", "2px") + .style("font", "12px sans-serif") + .style("background", "lightsteelblue") + .style("border", "1px solid #333") + .style("border-radius", "8px") + .style("pointer-events", "none") + .style("opacity", "0.9") + .style("display", "none"); /* LOAD DATA */ -d3.csv("../data/MoMA_distributions.csv", d3.autoType) - .then(data => { - console.log(data) - - /* SCALES */ - - /* HTML ELEMENTS */ - - }); \ No newline at end of file +d3.csv("MoMA_distributions.csv", d => ({ + // Parse strings to numbers where necessary + length: +d["Length (cm)"], + width: +d["Width (cm)"], + lifespan: +d["Artist Lifespan"], // Assuming "Artist Lifespan" is a column in your CSV + artist: d.Artist, // You can add other data fields you need here +})).then(rawData => { + // Filter out records with no lifespan, lifespans over 100, and then reduce to one entry per artist + const data = Array.from( + rawData + .filter(d => d.lifespan > 0 && d.lifespan <= 100) + .reduce((acc, d) => { + acc.has(d.artist) || acc.set(d.artist, d); + return acc; + }, new Map()).values() + ); + + // Define the maximum length and width for the scales based on the filtered data + const maxDataLength = Math.min(300, d3.max(data, d => d.length)); + const maxDataWidth = Math.min(160, d3.max(data, d => d.width)); + + /* SCALES */ + // xScale - linear, clamp max at 300 or max data length + const xScale = d3.scaleLinear() + .domain([0, maxDataLength]) + .range([margin.left, width - margin.right]); + + // yScale - linear, clamp max at 160 or max data width + const yScale = d3.scaleLinear() + .domain([0, maxDataWidth]) + .range([height - margin.bottom, margin.top]); + + // Create a size scale for the artist lifespan, with a range to make differences more noticeable + const sizeScale = d3.scaleSqrt() + .domain(d3.extent(data, d => d.lifespan)) + .range([5, 40]); // Adjust the range for more pronounced circle sizes + + /* SVG SETUP */ + const svg = d3.select("#container").append("svg") + .attr("width", width) + .attr("height", height); + + /* AXES AND AXIS LABELS */ + const xAxis = d3.axisBottom(xScale); + svg.append("g") + .attr("transform", `translate(0,${height - margin.bottom})`) + .call(xAxis) + .append("text") + .attr("class", "axis-label") + .attr("x", width - margin.right) + .attr("y", 40) + .attr("text-anchor", "end") + .attr("fill", "black") + .text("Length (cm)"); + + const yAxis = d3.axisLeft(yScale); + svg.append("g") + .attr("transform", `translate(${margin.left},0)`) + .call(yAxis) + .append("text") + .attr("class", "axis-label") + .attr("transform", "rotate(-90)") + .attr("y", 15 - margin.left) + .attr("x", -margin.top) + .attr("dy", ".71em") + .attr("text-anchor", "end") + .attr("fill", "black") + .text("Width (cm)"); + + /* DRAW CIRCLES WITH TOOLTIPS */ + svg.selectAll("circle") + .data(data) + .enter() + .append("circle") + .attr("r", d => sizeScale(d.lifespan)) + .attr("cx", d => xScale(d.length)) + .attr("cy", d => yScale(d.width)) + .attr("fill", "red") + .attr("stroke", "#333") + .attr("stroke-width", "1px") + .attr("opacity", 0.8) + .on("mouseover", (event, d) => { + tooltip + .style("display", "block") + .style("left", `${event.pageX + 15}px`) + .style("top", `${event.pageY - 28}px`) + .html(`Artist: ${d.artist}
+ Lifespan: ${d.lifespan} years
+ Dimensions: ${d.length} x ${d.width} cm`); + d3.select(event.currentTarget) + .attr("stroke", "black") + .attr("stroke-width", "2px"); + }) + .on("mouseout", (event) => { + tooltip.style("display", "none"); + d3.select(event.currentTarget) + .attr("stroke", "#333") + .attr("stroke-width", "1px"); + }); + }); + \ No newline at end of file diff --git a/2_2_distributions/style.css b/2_2_distributions/style.css index 3bfddfa..d2806d2 100644 --- a/2_2_distributions/style.css +++ b/2_2_distributions/style.css @@ -33,4 +33,4 @@ h3 { color: grey; font-size: 18px; margin: 10px 0; -} +} \ No newline at end of file From 2e1844f9a1157d50e60824f3c05bad6be617b73b Mon Sep 17 00:00:00 2001 From: colin_f_gergaghty Date: Wed, 8 May 2024 11:19:41 -0400 Subject: [PATCH 8/9] Add initial website files --- intro_to_js.html | 18 ++++++++++++++++++ script1.js | 7 +++++++ style1.css | 35 +++++++++++++++++++++++++++++++++++ 3 files changed, 60 insertions(+) create mode 100644 intro_to_js.html create mode 100644 script1.js create mode 100644 style1.css diff --git a/intro_to_js.html b/intro_to_js.html new file mode 100644 index 0000000..10462ab --- /dev/null +++ b/intro_to_js.html @@ -0,0 +1,18 @@ + + + + + + Click Counter + + + +
Section 1 | Tutorial 3 | Intro to JS
+
Interactivity
+ +
0
+ + + + + diff --git a/script1.js b/script1.js new file mode 100644 index 0000000..818c90f --- /dev/null +++ b/script1.js @@ -0,0 +1,7 @@ +let count = 0; + +d3.select('#clickButton').on('click', function() { + count++; + d3.select('#counterDisplay').text(count); +}); + diff --git a/style1.css b/style1.css new file mode 100644 index 0000000..a61eaad --- /dev/null +++ b/style1.css @@ -0,0 +1,35 @@ +body { + font-family: 'Avenir Next', Arial, sans-serif; /* Fallback to Arial if Avenir Next isn't available */ + text-align: center; + margin: 0; + padding: 0; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + height: 100vh; /* Use the full height of the viewport */ + color: navy; /* color - navy */ + background: white; +} + +#mainTitle, #subTitle { + font-size: 24px; + margin-bottom: 10px; +} + +button { + padding: 10px 20px; + font-size: 18px; + cursor: pointer; + background-color: pink; /* Pink background */ + border: none; + color: white; + border-radius: + margin-top: 20px; +} + +#counterDisplay { + font-size: 26px; + margin-top: 20px; +} + From a88df9a4be8ed894ce508a69bdfec151e5e0eabb Mon Sep 17 00:00:00 2001 From: colin_f_gergaghty Date: Mon, 20 May 2024 13:58:03 -0400 Subject: [PATCH 9/9] Initial commit of interactive data visualization project --- .../Interactive-Data-Vis-Spring2024 | 1 + 2_2_distributions/main.js | 4 +- Interactive-Data-Vis-Spring2024 | 1 + MoMA_template.png | Bin 0 -> 4728308 bytes Places.png | Bin 0 -> 3210826 bytes Portrait_2.png | Bin 0 -> 2129581 bytes Portrait_for_mainscreen .pdf | Bin 0 -> 5799593 bytes ...t 2024-05-01 at 3.56.22\342\200\257PM.png" | Bin 0 -> 548518 bytes countries-110m.json | 1 + data/Filtered_Artworks.csv | 335 ++++ data/filtered_moma_dat.py | 17 + detail.html | 20 + f_und_d.png | Bin 0 -> 3449266 bytes festons.html | 21 + index.html | 58 + intro_to_js.html | 18 - main-festons.js | 159 ++ main-mugshots.js | 36 + main.js | 124 ++ moma_map.css | 71 + moma_map.html | 33 + moma_map.js | 971 ++++++++++++ moma_places.csv | 178 +++ mug_shot.html | 1381 +++++++++++++++++ mug_shots.png | Bin 0 -> 1645009 bytes mug_shots_2.png | Bin 0 -> 1645009 bytes mugshots.html | 22 + paris_map.css | 62 + paris_map.html | 17 + paris_map.js | 449 ++++++ portrait_3.png | Bin 0 -> 1594199 bytes script1.js | 7 - style.css | 150 ++ style1.css | 35 - worlds-coastline_808.geojson | 1 + 35 files changed, 4110 insertions(+), 62 deletions(-) create mode 160000 1_3_intro_to_js/Interactive-Data-Vis-Spring2024 create mode 160000 Interactive-Data-Vis-Spring2024 create mode 100644 MoMA_template.png create mode 100644 Places.png create mode 100644 Portrait_2.png create mode 100644 Portrait_for_mainscreen .pdf create mode 100644 "Screenshot 2024-05-01 at 3.56.22\342\200\257PM.png" create mode 100644 countries-110m.json create mode 100644 data/Filtered_Artworks.csv create mode 100644 data/filtered_moma_dat.py create mode 100644 detail.html create mode 100644 f_und_d.png create mode 100644 festons.html create mode 100644 index.html delete mode 100644 intro_to_js.html create mode 100644 main-festons.js create mode 100644 main-mugshots.js create mode 100644 main.js create mode 100644 moma_map.css create mode 100644 moma_map.html create mode 100644 moma_map.js create mode 100644 moma_places.csv create mode 100644 mug_shot.html create mode 100644 mug_shots.png create mode 100644 mug_shots_2.png create mode 100644 mugshots.html create mode 100644 paris_map.css create mode 100644 paris_map.html create mode 100644 paris_map.js create mode 100644 portrait_3.png delete mode 100644 script1.js create mode 100644 style.css delete mode 100644 style1.css create mode 100644 worlds-coastline_808.geojson diff --git a/1_3_intro_to_js/Interactive-Data-Vis-Spring2024 b/1_3_intro_to_js/Interactive-Data-Vis-Spring2024 new file mode 160000 index 0000000..2e1844f --- /dev/null +++ b/1_3_intro_to_js/Interactive-Data-Vis-Spring2024 @@ -0,0 +1 @@ +Subproject commit 2e1844f9a1157d50e60824f3c05bad6be617b73b diff --git a/2_2_distributions/main.js b/2_2_distributions/main.js index 97817bc..4909cf0 100644 --- a/2_2_distributions/main.js +++ b/2_2_distributions/main.js @@ -1,4 +1,4 @@ -/* CONSTANTS AND GLOBALS */ +t /* CONSTANTS AND GLOBALS */ const width = window.innerWidth * 0.9, height = window.innerHeight * 0.9, margin = { top: 20, bottom: 60, left: 60, right: 40 }; @@ -24,7 +24,7 @@ d3.csv("MoMA_distributions.csv", d => ({ // Parse strings to numbers where necessary length: +d["Length (cm)"], width: +d["Width (cm)"], - lifespan: +d["Artist Lifespan"], // Assuming "Artist Lifespan" is a column in your CSV + lifespan: +d["Artist Lifespan"], artist: d.Artist, // You can add other data fields you need here })).then(rawData => { // Filter out records with no lifespan, lifespans over 100, and then reduce to one entry per artist diff --git a/Interactive-Data-Vis-Spring2024 b/Interactive-Data-Vis-Spring2024 new file mode 160000 index 0000000..9db6242 --- /dev/null +++ b/Interactive-Data-Vis-Spring2024 @@ -0,0 +1 @@ +Subproject commit 9db62426830beef257bbb1f9bbb370fb32dcee40 diff --git a/MoMA_template.png b/MoMA_template.png new file mode 100644 index 0000000000000000000000000000000000000000..9006fac4540078c7d6b7d57669c8f13e3b3ece1e GIT binary patch literal 4728308 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ℜS9EiAo=QOZ3g|Fqi$c{xTCXq3+2<5 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≈CbiP&ac0-^}fQ`B|kUE zD$Ft_woY8sn>L&|#Z-^iMcx-+i#_@i`96!tqU@LbIo?k!y#7ER{{HU|Ea1Dp`RlJ| zS)l#r2j z@;c7zme&9B@8VMMG@qT%c*1M#(m_)eUd&tMTfJ2Qz1ci=Ebw~a9Gfy;!`He@BCjk{ z^*nWyuaW)x}fA zN0&4vX>@de7NiUg^#$kFTR*!v4H207^+uX+R_Yf!TswkFsD2gheuIAP)aSiHOXo*N z>kX#NA?1sP&-_d%_4S+%>*dQAbR0aWdCNqUhcz!>zU0VH-qNvovmg&l>7aZ#*M~OP zlTIW76nnp7Lw=%!HxgoMe2?5*40Ljn1$p3ob)jBvdeQ0T=nXI~&MC`-D~|dprot>% za#Cyc?^JN=8mNJ6Y;vsqHXIVWbh2di&jGZE(}Ux|7|zB3!Iib5}sO-DZ89RFZI4+sC#_DPCps%n>MZ`jC)e9aq59e z(pb>KkXhPuc)=>?ktklz$cQv$WU*=S4xW_zXG)oN_diEV0++3S7aeT7xrqRd@yTsr zgVM9K>qv_V%UbJ0NGp1#)hLwl3I{gsoY{Jb=a1?*#l9kByH zb=Al1Um!E~qnr9w@8&qOKZ)AoEAqB2b%~#_ExHCtZO11ZmE%~ni{iFW+N)0SqxHz& zHJvP5Hy8JwXy}u8vTa_;laB_~fque;>3JvvwF9l=U&bYAvD=A*sgsu&oiHk{I4fZ4 zCwAxugRK6EFW_Zbd*XX={fm`{A)FoY7?S#0O!3R61?+R~WOjmDen}U+GfU1BRBk+r zS^Z<*(grG$<&%cSGgaLi9StE@sIe9IPhdHvH-(p0s& z|3lgvwc%;`$ZFkH7wHYv#BF?4WvlG-L15=bAH zn;@FW(g6<7M|?ragqSvWv@?CFPX6<%X?!LzDHjvT<&6I8{7H_Qq@vzb^I=8pJmgCc z&oRAR$~O7psk>?9Lm*0g8QfYIm?b~8Nhw#4pi3*mRES)ypZb=rw0VhwBbq!*L#s$X z?Tx+8(_5yVZcga+v%cz4MkLRtkB;o%2yWl)acwPn+m&&(7v$Q|bH|`?&2H3;Oy%f} z%A@ZG!|@9yLQi~{rEd?MdImE#NUb1}mYB`MDQ}cHr{p5m?STjL&zW21Arv>JoNs!= zvcE#y>BfM<2sgZK6{%e=HUdLpyUgoCyxYsp~v(8oh!h{c*oV&VU&&7Jj!af(tQ|=e|eBmfG9JA1G z7x!^9!?yx6ej}GzejoCx3G%Il>VsZd}BW+5o&`u{NDs+LSRP6L|Sh(6*?r z96mDs9`@QtGmc}Uevpqz9{EY*;2Sf}>|A``k#LlabmJS6cHXZ+v87md+-1%no^M?i`A1 zNXpH}ChvCPBUqBO@uDw!JoSxJZUlRyI@f(%^Sye-bsyUc7Ae>k?`ey-e&wAw$DT{-- zIo3`A0UtY0wIDn%J_sI#vCiXc5^h}|M`73yTSWMW6kOoS%T6_u0!eQ9X+rz>11a{2 zR9{GQmI>GXg`|&BVSPJC%PRXKPr{_a+-J)vJN{+iuKpF-w&T4ioW;%K$OXrdVFZw? zF4~~@@EPqUdO~-bdqN5@d2Bt}w|ho&A2?KFi*4Qh!Y@$dfw>DS@x5)`1-q6z?pT$| zvi{OI7B1yydfqoWW|81jIGUpQj!`sC&T+wPc?KH~ws zUt4(2LtVel;F#$=ywbl3x~$nDccZ$RREPdRZ9q4=3!@s%<2 z+U^|J3fCVlYS#`iH)cv}J+{qMzCL!Gh<6H72k5RTZ6Wab#%#LpC9`f6nE%qMN9tyA zF5Jt$_<~b~91r{8jT#?`FSp`dwj6yLcIrHL;~&$^j);v>mILvjKSWAcMjD0R@d|y#*&JW)(4iwp2Qg^ zs+k@6MF!?vG(LzOp%C%F;pdvpa`3gV{wYss>%?X6J$hf#zKwpG{yVTN;N!X| z*G3*)xW_gxHuV|`IM+vc0V?+{+ds<7g?#;*itQXd?2qW*trzRj2+E?>v}k*-pTJAOTFV2j_JA);qF<7B6}U8xd95uA$}7~vp!g?U zd5hOgZi^$&wMO#lTSnndUFF_Qgd-P1x3tf_hLMVLwkO^wc;K0ELLe1*g8u4(1$@Nl5;VWu*$ZN3n(zli_$hO zsh+dFedFW_A0TiC1Nl+q!j>M#N!}oO88F`~lBg6LqXptu@tW$zFDrIX4+TgL^?B+p--a*SC*xly%uI zg~Fq*zE*AYb9~!zEptTht-I~dN?v=^O*)gl%-(vz4PI%cF4R%J^f8XZFBoHAzIdJw z()dL^zf!Br&ckdI-L%a=1%&e$x3)y+>?(V8P+#>@x-er-4sz@qrSZsE=Hhe~GUeqb z?=R*#-q+~zj=b9p1%j%)fNXS44?W%#GAQ9(VnJ}pj5AG~Tf zxbj(kI(YQ21tCniXi3JE+R+C5BB1h|gNHTw{ED6*>9N1lH_o(up=J90WurzmDfR5U zL4DM@e$$3%&3S!Ttxx*u5y6A&LG|Uc*FN%S>hUaBZ`(!jLzsLZ?&5;jHPKaC3l!3E z*G&3A5l56(=Xy66Zsm};3E3dYM%(=3c*LZ9jcfgiK(Re0UGP%35L)78yYnRJvH>hj zWk-tj=J;Vhn62k3?Xy1nDeLGiM$(D#?|oqPD9`ef~=oe0Z|+Eb?Pr6z8^7Wb<{xo`398;hG^>>@cAJ7P6TJ6I!|GS9nRC;2`BZ|^!(WwK2fgh&E$Nqd6D1M&u=wFW}j`Y!_&25Z$be^k?`BhW!#2I!yTcSsB@T3`h z97fJ0pKvHo<87Gv>|^7{KB795%Dr*5Z9!bi`~0F~U+ZCf4*t@I4*y%H&U^eKzP}37 z7sDHyUXvtgZ|*Da>GWSMl&SymZ}R$BBZ&`v{wM)={$y{IF)e(lKj~re)W(w}qOQ^r zfa2_&Qwk`ng~`+wOlaVq_+Po75&kvO~^hoON$-=Zv+@5d6dfZK1i7hTrbONWtm-1eJ>)*<(C!&G%rGgy9^TwY3kK8PJ zu#>UlGUy!O`GN_Zh8>h|ioBw;c*~n2eo5i&o3}ao(?_p(SmPTb4=m!dLAZId)lPfu z(Ew#y&32;Mrd%81GbbLi5N{Xh<(!FW7vxbsKg;P&*F0>3W@88TZOq!~$)j|_3ss40WR;R7Pj8&>*hODELLdf^!8y!764HA$VDg9N4(X!LbVGW0Z4cHKt2FS!kWA2 zNLkBO+DiCMdqEJu=o}jlTOoa{ynq9J`N+37V)apqkN!!1nY__=xJWGRMgK*a z?9j_UH8<5io@;g{Eo5w0&cZ^Ub~X<(azl%@<3JV~{0CkhW_Y8_{sa0nwo(K9OTCV zQDPZ-Y^nxVJ%FqCBK*^l!j#LO__)hMNO&k}^a@$jlDBx}sLpxY0=yk36LSa8psV_k zG{J3s(E{b+Gk}(fpG7SehPDhsR|57^7exp(azq{e>f#?7hfj{d6oE8{7HgLnMinWI zQj{XO4}DcRh^6@@4d3|UQh4BANTQ>$&g5SonwBowz+Vf-5h-^UU02_qQ@M^IKwmMU*Pf2^smK_SKx%SmAL{u-%5iAQL-hEj_YHAirqz9izE;2-HQ(K zGbs)B>5JfthosyvBCn2V-}b>{Q+zkFr14yyTNi2}sXNP(AdYT>pG7CkC)CL?`T8e* zWKd?JW~&4Ft3T3aoR|3EQ91mpt8XhEH}n9icj zvrC=Jh<;tX%n6ZaEZR@{T1e)Mz{%gelP_&M+DLcQZ*w*FNIa5|4<&d#`3eNh;qOO4f7_{0b3=W)}HmAMEb zRz3Gdbln6lyy92dgbUzZnCCd_7a{y2wC66~%Y&vpheyA($IqE?qxDn1bo=S%Js0I4 z_$0my{_+J17yTs`)ZZ9!xTo$Bs@*tRRnz)wAj zKX7Br`rR06oC4+MOJW3n>5Dvk!|q)BM6SH5%8?0M<&|IC2ev5KXde8to&ZP_Hnu6% zDy@3vdXHEVW?iR$Al6z(UZ?p&)AE+u{PZv3#g6o7&PRD=h}k%Zx2dzRQlFW}h>^eO zH0_M?;0sGz=r||LH%hk-#A+)X9jw=JfNzV+*K700fR`zj7=PY*^Bj2QX;UV-u1q}! zLz>d&Fj@OrZ&0}9CmCKo=j#Bzko6{C(enZ8!}Axk&lmYRx<3JD&>*JLr$uc@D93AEJs0JX)*bpMgkhw9cbY)O?rrxX^ox}@scj9Pc>o9s7beqf; zO-%kwwrF`!Ag{n|mW|rA#U}J~irwmT8Q(%5KJt@-oqlVs^&p5XF+d;R`k#6fpMO(y z)GzqTuV2P|d8rhejKe$hpcu}mQLUV>m_K)lAPC)yEW$)xvGb3A|_euJS7 z+7=yyP+ayR&*3a+|HygdLIu4sxLoVQ%5QyZ4>9S(T5#`?<%1Q!aOO`KJ$2s7JXAG` z|2}g!AF`T+RsZUe`DBn&9HUO1fN5V*r7qvx39zN9xAQ&cnq-g}nElzL`o4CFvhyA> zQ(wv^iPwA5?T@bW+hKJc6jhhhMwL+bq~2?S=X5aj>7_i_oC_LNQ@Xpr>*woz^6*gx z!h;%{lM_mUnf%5VfrNj6^%20;=Qs{xP+>>S3aM%U^{M`;0CGT$za;knb0S5d;_sYw zVXC1ndQ|$>g_zYrK3ybMe)q(VKU?dyjxQ(qbw(Epc&jlgA zu*5>qT<;i{Y?(2YB)NyNc6h_w8@ah*O^pVP{r8sP%$QY&7DNtR?;7g_?^0STA zkM(8wIOZJJNFj_QIVH3GL$H+zSYOF_v{hK(DNBCzN}W-rB5e9EePWo;4kqbchu_+j zqbM36cbOy6vumsbtW0H)+~+=Q`rUwzUCYEF=f8BD=a}dTtbCN$#4&2fp=HUr3yONl zsmB9nWr(MKjz4ZWbzdE{E(#xx002M$Nkl{Ly zTQpL1`r)$;Rp06&jZ%#R(S%ADy&O}xj`Chb<}H+`O+cYZr7Vp~RTcK5Q(&Xu)|+&X z66F{4u^EhIKH05fX{(!kBXLdqmv{B{I?iTm%d*dwt~xt62sQW~O;ZleEkr-OKEG&F zpBLwvSGVe8Mqh~|zk_jQTx_sR9O;4|@c|64@)4X?fs)#`{hCnq*4Ek#z;R8H$|vvI zcKLtLVkv1gcs3jJ^l4A>@e}68@f{eH{jmQFuX@0}>ep$`g5bjo%C!@)?U}y){s#+3 zzf*fr`mdKa|9(Vsjz}qIu zcVq>V9jVuw+N9_mGvE~)IIdn117Gkm7V>pG@9X?v49gq~+OM1&mlq27$Rn1Hq5L4^+P(N%2abH>R&Z4eQ7wY0r6d*DO28mU>bMQh-z#vB)kU~ zW6*c*mzsBx9{1&hd5_z#wC{qf)N{CWmv)B_^6W#SNx2>|CNu-Vk?OhjQLZkhHs%0; z)VOp+DxO#=$YHdvi13Zm(C9x>&gfY*DiP8p5A=pXniQaeUokNcw&2uOY%AS zL#M;lSU7^b7W&Ry>s$1o--GYk?gBFBCC293)wWRI$7|uIChD}hn5~_OOX0?>2pnS{ zx+<5RnXmzdlDXCq3$&e+Rd?{f$y0Fj`})L%eLq;N$3i{E-)GN0&-|NpFkIukV2z7k z)byAS1~><2?)~u0k6Cg3_tc-&#SdH)+Iw5SE}-)-^YH0A^ppC#PNs1;HbLuRJ;2ntA@zuo7%yIK8qS~r6kmK?D+#8Ai z@xg>zWO%*lctA@_-74Q3uX@uleCteZ=2JIXgx^|b9vc3&X_MKUpCGkiQ!C5Zj6eSJ z5AX6T#$FpQj~qo+2Z(b%!kjP3RG9st&-`3ur~lR04?6h4gOB_=popuRyebp*p-bCP zCvCGcMP6hrgquuOw(wPTTbjYv|owmux z3SXzefKHp>i<4@74Q@B0!)@#uw))7wn@+1!D!TMK*;Hp#SNUwJ2^$Pl-ZU=xpS;fi zZuv4OPJN=UDl-*>5dA^3VOv|qubhh`FB`fY3%7%)6XfL25a$z}1fOrpsiU6__9l%F z?cz6RaCz!eJ-1`%U~qO;(KNEGBbR?5d*8@J21Oa+G(9sA8nRztOlrcn0E6ejlqt>Hw1iW>DTjk z3zZJ(TaGN!OTG^`{St}xY$suz$anpl69dRP=HHz@@woE!jY+$09AyyDWGD7RZ*d2; zm3c|gJG)wuEahTF=JH>fseqlRj|xMfcS{@eW#$QT z!!vbl$8Jn@f|{Sc4GK70ugI~=w?D`rEe|Jy`c6F@)Wx&EL9!M^>)`|ryinUn-iJz1K7)?fi9W>pT1ID|05G%CMklX z)kb0P$ROH&@CP@l@}+^un>?^C%A0m6o#i=}kMg}C=;wbQ9=`Cl*yo$uFZM_Fed1P+ z>Y^+)kj3ahzGXoT>+bYheWzQJN0ufRIgJN+zP> zQ)M}}DsXXvI6f1X`lq~ViMZw9L$i>>bMP0QGKkb~b^IqB8HaadEH`D0^XeScjLipl z^a#%-lLvp9n6z^i5ZLOmx(s;^!W<86E4KAM(3qH26YP;^?1CF52i=vw`6PX?ieB?m z{68He-#QcLYMcB}qrO@OA=r~1*FJHNGKHOGDa46h5JZxHm%Q1c-7JZ;( zUflRu94mEopiH~sXT~)Bn=kW9Kw0{uX{TxH#-{ZE8)ht{i#+L{Lu)?)&TNWXyoIHo z8s%e)dNRMXjl?(Vb8$AO(Rt}T^=&DWFnyCY3$f=W=Sw>ebzZjPfBjOum!DHJ+6lr&EG~oN2 zAD&Uq*?Z%fN z)boa{KY!xebf5f*`rL%&XQ4diA^yY@jMRbMXiyo}bz+5BvcRA2ON=GX`g0n_pcn9I z8}O0F3N~)6_SPjgE@2=};wbIj`1G2PIP?|>W&ZS=@#-7h9H1C~fG1;F3o&L>$}#c7 z(Q8v_7L>#3au29b~L9OY+`JN;#U86QTTiZ|JgqGJx=s8^f- z7!-Y+-0+IOk9JB)+A}oHDfE-}LippGF+g6hoWfH-!YKdM&rr-8z({cn%9jlEb=ttR z12rhw@Tq-KP}|fqM{O)hVnmpQ!SJX(_^6KQan37`va~scv6;f0Hbi}=|1j=tQ|Om* zO*~P-OPk=_GE>Kh%Jh6?SH2K+RmXGlfzvJ=Exz%l&gEGe>FR6kiwdhR$F;ADg#z{X z)32PyM(EPKF0#d!R(YDO^R&UAaW(G^FMrZ0`m_=wJ90`;I%!GD{GU?QRU6VA^k=f{ z;!Eu=M&$2Je}$^2)+E+Wtia`yg!shN#J=iCm&M^~r}MCHV?O5)rcHpSoyNOp?Pn=8 zKYx)ix~#nLvJC;qMt=QJzjvOHI+E6(ep4rOwttTtXcOTG-q_F&Km5rReM9?GDch0{ z5aq9@V3QPiX)rTRdehpz4_)$;&2)wv=eG5})Ed+5>=591+xd{!RPsf`n=dTP@K+Xa z3JWoqKYZyz73;-uKwa~o8y2w-ZOGOJHPd$mc-91MeZgt$7s1q{@wc0E1Z5ztDC%X5 z@K81LjyRB_=&P`zEppnBH_Rs0F3|Mbfm@%8qF%wVJ!9XOys*lHJI?j{Q)I^=Uyv0y zf1pCE6j_G#pjj``e*~w`5l^4%7&Z_3Uh4RhJ~8KlWR~Q-uVbqX;OHCVs}42_QuZ<= zsZVs_)H?T}iU4V&4mAD@VKEQvlu5sB0*5Ohf5O$#m}y_9F2zkm$}apBq%7&$e+U=W zX%hCpruW0;Dqrimo9EJg&rdXIA8jahaj%32Hm~@ZJLM~miV4#{c~H(b8d6u$T^^RR zPrN}7_vo)yxt>slbzQ6wSf)+h%h}`@>(3W?k74_K{i!cnXVeWbVc#P^=ag;VZCA!> z>~Tz?Jo>=gdPyuqP-%g|vK~k!zjabAQ3F)I8530bf$`3mz|W4~_+Se6jKF0o}P4 z%2&hb6a7iW^O~79%3RF3P;|S*uIEW}FfYvhJ^x$Y0!!obtF0ErSB{U?gE12iVgtI! z&o~Td;ALB(=BtVbIp**y{;K zsJ-=O9*4vy>tBz#Zo)ThN7OU%CcS0pAJE$|J%-CuA8d*r3fuldf$Nj{h;#i!+*o3r zto-OVJQ~BQDPEI&az45T3jXR49lb6gDPJD;8N!dvb`u#>j%_~RjXp6;E!Au+l)Vh0 zIr;}7@C3wm(J#6xOB#3LEGPR#ZI#=Jll~bUWG0RE)_z&$f~%+Hvh2>xg+~+-U7Raj z>1#W1xqBc5my`9Akfz1qd{ws~dKaU#wx4OM({~sjw&#pv(Au8toBQmm^Q@H;PO%5p z*3bAcmc@_N-8s?v;E@Ze%4M&g^ob9lxf!18}Ttbs3uAn-{G|nRE=7No7g5o3Qhx4WC&%?BC*z_4kK|n~xv3M@8S9FGSydp$m@k`)iyRN) zJNc?{w&ujnp?{9AY{PW$- zzyI^s&Hwu^?-hMufd`BB-v3QsNFV8<4g~tuGSeZ4yzyrJXyYLpIG}85Y~Hq(y?!Pa z1IR61xt71hkJDrSxA{hk&=VntY;~|M^~ZT{v~w7B*}7Nn&SR9cvC(-#sS-; zzNju1$jfxtb!3Fr7Uv%(>9i}cqw~dOyTy;Wx0v~&Ap55?i4Qb>H5T@|@Y)9(%9^9D zVyAyMZum1U^{?Xq(!*aF*7H~EoS06#RbOQ7^;Y^PXwz1-bM)6@RkH5CvH;ropeedx zgZAeB9ntX3cn0|x1Jwmu+4bv`D$RM&&{269@BN8ypIIEoI+WXwzJx^|OW$yOS&x4H z1E|Tv)Iaf=HgZlr?G^pjhfk@m zTb`HDpyAK+kcZow&u?Ea&;54u{`b!;%x1wJi}n8C>w15_=ea;$TA5$w!M{d;a!qL` z;axvtHGZ&u_L>p-=!z!sk2Hxl7{8PPkMbUT$oghNhi zUm2YJx`;^wtgsy!V zGzS5Ak&#{VWmyzCa2{@=!dF|PIR)vM@qv7oAQKQN)L{t25(AHzqkthK%_%r!O%D8R zN3xS=`|t23pL325cur7{ zo_);xqgic*dsT^UDjWmhtz6}FlICFEk_gf?3!$zq>xaT84kRG$*s~J?Y2=m|3PxDL z&Jq*!n~y%mjdEM+KIQ5c{mZfTg|i%{OrMI#78dTr(QazY1tG+pb!>3jwsIri#R}A~ zEwp;JET27QjPRzRb~!na@u(S@>Zb&Cc6$mR`{*58vLJ!;lruhnY8ZrP7Q$2aU(w6S ztZx;seqB_|1Q)r=*ZSBJli_ ze3*v}9QBFl2mbJ^uP1gy!B_ez4+p~u9mn7G+4>GS^7R6F*yvh5}jTkoOO@%pcsGRTsu0M>av?YC|pTbX0l|zQ43}N!> zPM!Bcj^fOpC@mg1`YrP*=U~psIG4tUWZFV0@d+Wg;q4LD)~gR=k^*aib)`KnB1}vh z*KCmke_zPR4Jqcj$J|y`=}XdH;R!mjY}4zP@=$Qh2mjHH+iG#>R}BZ4!{|v~T}-)X zliBF5ezt#){=qE$ngeuU^_{k9gI~d;S}21TY@E0IKJhXY?5nItEJ1(2 zM$?NfFY>3~p>*pr%wTZzIrcsLc`G7y!Tj47rt+qAY!;U>0sS&2h;4l_=h45J`?63^ z{)WiueccLAV#|5359RkKbA15io710Noack6V{_piKY!u|OdP-B;tdRX?Y321vKpto z)28&D7MNU=s~?{7vl$zc!mU@3j+-gg=k`77nfOEbwulf!jy83ez-BKoWX5i7HFllX z=h`MR^pEr+vLkQ%Nk3~_XA^9(<5A~YqLs*f+M;M_lVJotHH?Xdk8gQ8etyGt-)8qG zYpnkua3~M?j2w^A%{l}wDjDOXKEPM@dFrV<@ulV37|l59UE{(O`^Ew4?af!a*js!d zkIn@`93IA1n|EujTqqYsUHCg<1!ViM>PNh*XJU^CfVYcWy|MNcKW_VuZPANz>ppF3 z-X`ZQa=)Jb?%i)(1HR>E^~;+FZcg3vlRkYo%ylR{v!Dwex$4sv17uRhkD3Dn_~@;_ zQ@1SKL2zy1m_Lv3P`BtOO&nTVy=I6DfoFJoimyNNYQb=F3dL_Q(H+o2KoW{OkH-gFuGd}2!}tU>e*i5S+BpQKO{w5ia!%ZZ z4CV0lbo{j^%D3fz-a}!US=1;)3vGX3P@~s0m z!uBaw0<%yKC*7DJN4IY-JJlBQM4O`|3gtuMUx!4VmmT%9NMv43>L)yU;_n2=4Zh0xiia*rFKg&ZePqf4dhpdp* zF9&QDII#vYd}h9`b3>DUONCZG$Hb-b0BSpNDMGTGrq>CvMA34N@Kje3`w!ftZ1(K5 zEqo$fCh`~Bef^{sx=%ln!# z4*`_x^*EuWP!OKlNrDf(TnfZjHPcxq<*BSQjeo(9--EB-<6q8&ceCz_-@1{J{_)ziw4jmOm%EHc@=@H;Vvn|9a1&3iNg3hC}*Ej^4-mK_AU$t6=E;7<56md=Wo$ z7A-cl9zBb0f)X3*VKKYhXlMlV!E(v&c=4*+tTt=BU#k{HIEu9lre;OyE5{j>8orxAxwMK+$K@xmrAkhHJzLmWE6*#2QG zCg1pX-2Sfq9DNS8_u#6PaPQl?_%Ldy%=nTViUSUBb}4flhDvDaQfPG)(mFCHv2|lC z*^fl;EQ+;#*MIo}I`xvU%S)inlGI=4C_K`8;8goun6vFAkq1g$10DFOmns!Ce%S@5 ztkub+J&AeB>_ScT&w&sdgel`?^_sarW6g4t zx|(Wp+kpN*+LI@6O1VJ{e*5UY0I0sQLJ~V9x_A(rZx!gJ`ORni;LqZIxc_qVjIWfw zc=3g27u_E2d6x0)4p`^zeqi8^`v^X_u%DJ~=1%H~AnU-syy~M1?a+Dx4VZf34`^?> zo_xYW@4ff%l=BD2TgIQ~$oFGfzp*g;JwMg^H`kbd@eJUv_xwCA3$j1>yZ}6(0mL$x zuYUlf{;UhzmUV1>s!-*l@8AFoJbenV=%x#U5da~9&m}NfX3V62Q8qkVnOm&;!zW-) zY;TZ+*fV1?G;v&5q>f#5rvRUch+{rJQ|2Mpn03K*7wh>f+%W=Aj5IFYZuV9OXx z+&oqJwqvNOfAsCZXyxeu8mtsNQFq!8$7pO@bVYC zpjBaU4jKz$KgW$e)lSlplLarF0kq<@&(5pPm#3W(qB6ly4a2q)usM|P66O$LXw8x3wtGJp%l&7PRPlLpWc7N1DgNi zm-DjycJr@)@sNg}ynX(PH$?LAls60fq5^~H69@BHqy;Es9)BrI@5W8(DV1ese8$4} zZ=aZS_v?B2DKGrwgGnbO)_WJ~@vxEe3<5NuzAY$k{$vhsk8a+yPiKF?yaA{2rs6Md zA*Bn9a_dSzN|U!zvBkRD6kGPhW8|Jt``yTC!J$|9!ZSyNwK^o0yOmfTKJ=+w?h_>y zB3lw1QZD0AcqGnR&!uUJux{e^%O=`4-dLA}YxSrG0Fs%yOuYfHy++sJAs?7oEc$-c zF1`;g@W=>aqTQEvy>k)H!M>&k{~7?Zg2z$)*iR50tMxeXRPDY)~N~ePH1@?4R^zr~stlKYjKpwpri1Tm{ z2G$#fRDPs7*^QRiEN^=O^)oBJ{#Q=}O}Uij&NS!3n56eBc{3;tuCTpW@4yCm*m^jFp8iWtJ0ZhyyOkuZ!i6H?6Z8)=k_BylO1#2GTA^sG>uGiv7PhYob;xM zmJ|*Yp41P2o6;^g$#@y7gPiU#KM4S?4?OH1TBy8cY*6#M{PHy6mvfMz}6dVc^N8cHrkJ zY-}M>JH-KR*_Bp0lX~sZI@mrcbQEM!Tx7N#7^{{ElGge&X>aBy*l0`&?*mfb^ki}h zJd$k3{N+D$n)c3?ttKN*l)yT^8x!i|LaLcZqK9%K%L)la^~wUN@DI1?FIyJd)WbHQ zZq!-&K-BP?Tak8&}o3JoUli88?k%dh?z4=t3VYRa)bs++!fN}J71(N1wIpLo8rUHhd3=WAc9 zw_{1-#KwtK`}E|1*Q!8clKxlDqa(2RbFj5FN%+B`c@U$EK97Bz2Ns`(GZfW9KJ}Y+ z)i&Sm&DZew5}u2R^OIoEzF@)kOXin8l=ABl&*{v3>EnTgdVW<;f7p+8e(wdUX7a%YhqFKIr zfb`gaJm2ize#H2)o^IK`e70_*QQ}>l{DKjh<)(veplZ?=+s17##-}#K!QMF240I;L z)!e}Klt|PR@#_~Ypw116mS{WwGBS~A-&pUdw+PlN<}@MCKgWzdppiXxL{jau3KE01 zE$bK_ey)EP68AdHI%J$j=kOan8r!Y#$VbKYpGW}gLXp0;2|Tvf2Hm&qE%mLoaY~Id zuJYz^ej-@i(Mh{Jf~ubuUAA$!dJo^V(R1Z{?Icn9D%y}oJ2`(gT%tP`tNJqx=|?15 zUiKp{L;&p`|GcD4zTxJyUrzt+-S0PV-~Eg0zqff))HgeQC}7_uf7_${a2#=q->eJx z82ig#f2O}xKn$UX+R;{D6tEqoT_f9CJLgptRLvZ;CH*Qi@}ZOieiKbRQssC>YJV&a zH>CX{b-n-wlKzMew)6TNB4R;mZLm%m6T_?XXyvG*CP``^V*@vzz6UAVlJ-xDh-#ot z*6|rr##MQlagJ%4s*o`$0)RCZ?BnfG^sU#VUZ)$gxhXcZS{c8o8F=NVq}m#N8QVHu zG`7TXQ#YvTUvy-8T+`07eo;x5h!oA41PS5s{ZoA_EytwR-R zS&!l-MX~z0l|5i&q%NV24F`QHQ(#hfk`t$?$9MvzH0j8zrS^ch`ld7|V(~X}4g_sA z4Ij(fHi#w47C$mztk0cCm=bUC)#w!Q3Tv$B>uahSz!v_CE;T!I7wR#8VS!EHZi+73 z7KWGQZ3mTkh>*+Aa%7|$*@@2vPTMc1#6qqsa#IpNq~CQ;L!XQ3Uia^Vr;RZKFzpB* zEv)?ryc{YW1Cijvf{f8NhV(OzBb3lSY>)Zr7L>P*c>TaSkJ#0>=kbG!gW;2(Vs{K> z6}j>VQI3_Jyp5jJKEZM}5lH$^+x^=*)JL46L*Zh?r}0aD-|^kPK}7%A>09dx{nM_~ z*-)b1R7kWH*M3EqG$`n}i&qkBk*E!nsbl+46;)Gd>^BCEoq566`)t&cDfaUKpx3Ej z#|Ha%I4VoKtzloYuEGHqPT40AZ`=u2w(fym zTCV#u_u<_8p?SCo#w%#89v|F1=Vg?8zbMRgNnX6rW*@%r=R;TLK#qfvAr#*pZ7~Y9 z#Qs;f>p4};DzW6)s}rZz%-McwPZltFy{{Z`K-5R_i94t}lk?yHVheStyxDf)p*lA( zLt39)bO;yq2sd^rq^@K$4ejfENwy81-~*<2NIn~@sX$U zt{;rl*7f4~Wtz-eq$MTxAV~j{J_~%92)92;8!u|?Njp_f+Ocubg=zS<9Vj+}tijAN z)zmpB|A@yZwX=Mbrfw!*Jn=6&quwv#{v^*CK6Cxz3r=4?^YHRmoX3kzKHT*B$ptL_q}WILkI(4*)oYlJWBC$z zof^Ay4WYlRZ~xKVy0W(YLJZWY{@ROfXm>Eg+1L|%p)GW55vv6OT+22#;|<#= zd_=`n_?{fPrVf_Bbs(NL0LwgiVinBPVf;;5`v~w7PS8oiw*Al6fdaQbjDqYO$LxQN z&)$y$Nw|EGr@oejCkzg^1Z#J(N;Q)dU(1$WIkj27ZR52ewjf2!N^XqS)Ix?U2hIa> z$2J0Ua0e)TBpGF7jtgAhRi|=-FqyWm;Aoi+XB=6!2qA zn{#<)UInfBmV1oR2bsJisZHuEa{JU^8>b1F#+G%M`*875W5IfHammJ??f!$$q4~qR zu~i*hq>-=taKB!Exp2c#j~)iK$aC$lcD9@CE8~}3uX+D!b28l$^5TW2|CXWx=(QvvQ1{~4#iZ|qptayQ=GIK#&D z4O5TShcMe&e8yPmoMi96dXLa@+l0@yoIAOeL41WKR?y2ad#`U3!>Jo_DzCn^Hmp~wvN1oY`~+B@%O>ax(3JkS9Zq+v|;|Gts8=n`HZ|7ND=|l=eMn3* zRLa-3r9I-gk&&;ylkQBT!@yEc!4;$Qy-x%lI!ReSZ9O;_Lnq{=z3C(JV&+v0B~X2B^(ZiWrHJ|kN}T|aRs>U9B-cBk5=TB zFREl?k|Td0J>^u{Ap=Mo#fvzd4H+m8m8Is!5+R#wj znd(~G5h)Rz)>3@!BrDeerG-PU)-iOjO%eecSWm2?(zpC55wq`Ck3RV<^vl)lM;1ok zeq+4O!adi|aKHEL=~uo&$qP5neh}a1AW!%-u8h40b$p!m&icx$I`%!5-_%dqHv7`u zAw4fQQWv~W&;2{)nMw>k`Naaf?4o+hXK|mqu@$>Y^P-6_g#GdM-POPTxW4-H?OPV^ z@hq4I!1Xcak+$AB_1xFcN4f5*4!Y*Oq9L;7%zV>kEg$xmwMWW-!32$Q^W4?|HcLBV zUUNV-M3g(WwOjz>eWhk-{xwcgfgr5%e;Iol>gS8zcd zxoxA|Fo);xIJD^*_}ZB(`uXdahjJmGFi|PB;wnpllrj%xAYf32dNfiEQNrnjVk(Vc z!_rIy7^gAL0inFM(UhL_v%{RVpx`z){RAr&MSd+99rUX}G8~#-y-`|v8r23mi@7wa z5jsdGb7`>i=2!F}o~s!a-6Cf*PP79TF!_sb$6dPwHTFm&3(wj{n(8W!4Jy#cdt{_? z@N34ESL`UmQ6CBldxV#+n%J^F7luH>bAiz`6Z2?1`okG+{ zd99zm`Ekpj?%C5DK4;rE2VOE!@H=l|_?aUY==p}9+erFWh!de{WOIXUgHgR=XFAw4 zK;}VgT|U}0dC3j5`QFv7+z4>f?1RT|yus!|y*(UY*im%Ro})&sQ0Hz3+9LxLvJ+SSO!##9K#4Szzgk%Oy@uhvR9=J4J!WkyLWuS0MB)qsn=!6Tb z5{i;oVYGxHa4esogqQIg(y*gB4{ual_}IAZT%zaH$N0k=s*p|_F$}{g^4bYGc$2gC zv0dX~I&TrQQ?s41Ee9i2GnPH<5M4-*U1h?N2PM#xe|1%b=7EUOD;&c#CsF^-iHG)0 zQr-bNX{?Vl(>a>M0%A+;#!nJr7dnBopK1dO9%M{AXhgK#LDL0lE z#4z6WvEsM?&IBd81eP@OBZIw^i4Gt`>!PjE&M^{~HKleIE;kKa_a;Pc$+vP1f^a#e za;0qm(7w(?r$}+K($+c1yYOs&OMCfxOJC63x$Y6ups0xol4z`!I>)_(+(z zh*90tBeJht_V2`v%91|#uBf#~q$06btsqZr#3|?*lTpshuZfNXHDU2=YbS(=@Pbo7PwtaIFOF(23H$=rEPM$JXuh@cX$A!q08zcY^yuySjLSd2SD>U<&H9#*v zfsryQAM~tlZHMKj#_2QlN7<19{w>>DAE?+9xfy&_ZwM-oc+@*fv-zr1Zr{Z6ntB3X z-Ijv{M2rETo#eu_uWy{Pbu7>lkgAEnEK2WW+|oL_6K6%x6?RJQUjJyXeRZAlw585f+C*(w>9j!hkVMMm=B;e*?&pDaAIj9fED z{>B8s^$imScb}OUU}4_N&n(XC&U)@9;b))zpxyWLYrb7)(aM5U<%9Jjw&>TW)~$R3 z3Vy6>Lat~ZKIVm!qu#H{S6NOyY8f?hcQqGP}kUFg6zA6A>x`%EZIUfIX%L{mJn89(%pyP|>= zdsKAGtF|B$60tUmones003;&{cCc>HcTB%0ABo0pfl;T_Y@)TJ;}{a4?_^INxI@$3 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%0DX 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%0DtxlWvkw*r}tQxl~-+ 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

|JGP`{VIgL_2uJ81bt|4}wkh#D9h8@0a z@7Fur`15Nd+E@Dz?J%+J7ljtIV0V6$n_2p@*zq)K{g{+IU8YO&;p#~dj2aQ0j%a$4RJK8Hs=Igw|t z`K*lItnx)NWL+*UR>PY5Fm;Vj`T&1~-a0bq*cw6hAF&H=I#X$0;TJzFZa@xA&Ydv! zD4*L6L5o_TsIIy8MMRHNu^fe^4!MNUFK>_U#4$1~WNqQaTYAf=OKFQ&S3J1WrWKSXYAS=R`i9yY+Ww7Y`IC~?NsP*l{ro0(gZKKs@rg0)$Jh2* zbB1vb5+?8YLtn`?jiE1uIA3>PG7tOkU(;*;p;`aYH+{zT^l}ILY~Uxpd-PMh9qf0l z+ad!^|LWr$2V3zQ6VxADE}wjEpDNe0tp7@xejtDTzgf7m?R>iRx0A1bOT5KBWZheT4KPG!RE{*N7RZ0W=n3|$3NzhUDK9auQ4VHjW!`azIPAmuYY;-_rL!~eii6H zau4Iroi~5T7ee|V;tSC0BbIjmj7uFe=f?SjQP+44@$Tb0yg&r;VxG^k`?z`762~}F zs?B8nKop>g8JD&Xc0*s%k z*4K25k3Ri?@D+D<*hX%1QE@4| zQ~TYAzjfvthxxJPJ74^D4&xl?bG~fgi$fN5ZO4(>oPwpkaeU7y;ve%wSO)CyRzmmp zLDuAv`5|ll82s%+4sLaJ$yy%(KM6kAuaD6`!m{MpTz%N!yYDW5Uh3P&E$h z=giQd6+muVW!^GU-O|B`8izk ztec0uuPC085teU!C|{qsvHk12r;nCn?3T-}O~Jo;AYU#=Zyt>gAc!6t=%P#f0)q4E zzZ}o1^sff@IN~P5wW^Kkbf7gff}1SlYxwyGuIe6jQ6?x&7@DfB$Itx~XL$h5J~)T; z)XfM7m38W`lS)*E4FJWQLR{5)^{3$YBNb?2mb@l78kAQt?qNL>7X<6vH(=WDfSJz5 z#ritmz;$r#g6pueVfd1yoiJ^(c`wYtTr6Q04Evn`#9xBsCSA+&L659}kpWI|v6IZ$Z>xLJ+0>p8?Zj-jQ~jVL2LA@&#o~61 z>h2Pj>cjiGRKJ2$w1J)z_7oJyXcr?iPg`!yc-Mhx2ginE2P!&$7fZ5ZlW$A8abF#r zm)*gd{OQ2S7l*3(5**~FMqE0XM3Ck3Tp!+J+fKB?7pl?{imt*>>Am>FAIq7=35&gO zl-K@z){5Ab_LO$zwWhs!Dovb|N2ATuIKH2dwXd60~Z4Lyncv+`hp@lHbC4qPha;V zTU~kVBlnSgud)8uPrttTpC5nB3DJi)f6h0V`k-DO2KGDcP8^1PsyOh*r84;omddm} z?IOp$uoVpG-{;}KuLi0-s28=(H7o-%nK7Yl;WVAf;#)Mf>w9Rr7*5-2k>JBZulfx_ z-23nqf-c%zfM@B&!~hbDw$n1GVK-N&E?a}PPpe6!x?YH=$no~gc3345y^;G{^lU(k zFB4k;skjT-)uAuVeji3?<#dg9`!IFQhD{cmvs;_rSKBV< zWQHH~f&ID3R8S|EUCeL$Eza2hSA7{78}sRT_D#JI7C#We-*sL(c$nL~+66`z<;gT(Tzg)hSxjXL7P*^FULLx5(w~cH zADZ&goXmqIf615vx$Owmzgt3Htm?MwlP~nqnoGP8QRv!Dbk2r$ae3I0lg@n^U~Qx) zoTrTuOezfQkW031&{byWpf$F9m$%3jQ>gn_rc@4HV?>fzS!@?aW!lN&xp6A{DQmo3 z-0R5ZxQau3wxLYr^1omE*MG(3F{eg1v$McZKH)|PV~pjvJW4_ZcxCwx2PPjZIm z+9?-izpiNy794fhB10Yx&+_Bu$i}rsBDzBx;plIUO0>>n(`MwkMQ-4qj4;8pkJja5 zhY>hh1ly13Q0AEJS(TQxM$?O-5A?k%=#MV&u8 zJ@Q#^a7W8m7wWRA!?(6<|K`2w`mTCL|4>K#k-yyv%WfoGxu?i+^SzA-^`$9i;~~#? zv67yGKQ@f!scUsdO7ZbQzk#VR`S3muA>=e?#unrCO3EU;bGnz@diH-AOY=vb3%%Yz zgHzn4rE~1Q**taa|5F!J{(mg9m*1bh52NwcrV_+V&I3OAx8^Dcb@9P?=d7E{@mW@V zR&!(=pvhBw=D)CNiyv~aG#W}vrwehuJ=-s8CC{~qcAu%6%*Z9! z-|tUmoO4VMFui$W{yiKpT)SYl=vOKy$FN##o7*|Ow!(T>^j70#+i72&H<&2f8OegbG%iZP7+r>l1DIBVnkj1u$WWB^)5F@Z1t6LE+6A* ze$(%G;%xY3u*e-YedOk?!`pLHzJyDW&iY_hRy$IE=k*sq>FUIxIw-F4Yz{6o)AB&3 zXqam$YhgTC!f(G{aA9w9SFHNrXCD4^+y~UsZs6$HkTN(r4n$0^UGZ1=>Z>EW*jgVu z!`oP=)8^kqzNl&s-)6nGyciI03>;p0+3O0)4gDKA*zQt4%R|=%W6RCS?dP~A!{YpW z59xU0t+z8;_zA3?PAML|Jh!X=U0lVY$PgUt~yxQF}mpBSJWYK z14M3!`?AVBZF3*e*j%Y0CWD=hLD~6`ykAb?mnUtr2Q!_cyJOI8vwRZz#(-Vg>#oy2 zVsbD(z=poL3%q5(vZLU2eN@)Q@vk1N=23k!F4SFuwIbpKVw>tw2zeMXP`WAR+Gn){UD5fet-psKg+h{W>wISl()^YNFT*# zk(s)37tj2UWw^xa*c#r=<q=%bNt9jbXU)1w*}e;-*(S&?5v(+U+GvMqEsAFV~6ALDsMl4_mnjk#+JfW z+`hPS9>Pv_XvmPC4@K}t&u|V0@!AU7>Nv->2JKn-;j5qlR2;)EAJE*C@Fqz=yWMM` zrIYKy8yxow3L!sohljxWBoQ(u6Sjx+u$4IUp=DZaf)&SNH-B&%Td(X8@1S(Gk{J`GDa(*=i-_?2M5l>|y;%lK3 z(g@~*o4*~8t1ra<4|C&{g0%SZ20<}@^Ks<24DZ3sbH-}@y=6HLd6vj;-}z9KqL=)b z|L=Ij`obFPaU7bvJ|Un~E@s0zJV$Tw^K0n#KQNU%`pHy4PAe*_vDjfhcRZeF@nLut z9FK*rwwep9ayIgpF;9*vS3d&%fn2^eE=T6adE@8~y>Y@E*aLgU(au5RPh*y!8T^z7 z;{TjC=lw_Cr1y_JsP`X#``ep8{prtdKIKbG?>(p&UcmV3_WRWvM7utaZR+%2(|tC| zvRbwce~R%B`}Pk*nr?JR5^=PRQUNJ(B!CP~(E_&DZn>mciiV|jXf@W7P+>&xYU zvaBzQqgxlw?q8mft?y7*ft?rFKm7!JIaK1KHSy7X0N=5BRYy(voxQaQ?PC3dW9Q5s z(zEV7W%YaU#;ylx)7D?28D#OFT(!E^l|yQ}efsv~8u{^$^5(*ke=)t%9~cigSBKn{ zvw&&?*Z%hLv4rl8VfLT%@QVrKFvAY#j<-KQwLW$FEP974b$u8tJ`v+1`{Lw9KGjKU zLzS1xN$gH|ZaWTUEo_R!Q9HX<{Tr*NGp409tGi9X> zKCy=rYsZ(fkB(2QD=+8c1HC*P?=v?M@Ryjg;QEd$8mE-WGuLmrq})=AW4Ap^ZF58p z5M4r*{T(kq6g$=yZr$C^M)h~S^5x`>6$#nb9(sZV(4~W8?Xqo#(f?*yF?q{%Sjf2g z$={+Jmet`Kj`4Z!BTR=pv}~;@DkHV^Xs)Uj9kl?W9G|u#$$El$$X&#tXojel5cFBcf1R(~ zvg4<7TNWLg%)23(4&=yr??QnG^m4)11+o1mvTxb2dr#2!Vp0G|q7IlYBsR@xKt*wt5=l8s+%4+~u=qrOW_N>1F1 zLfOYt`NPj|^W7DIVKU&kYp9<-NcHsrUDFxgHU=oO#9zc%D?h|2ig@ zynXZKU=2%86m_Dh*OorIutiAuH{tBSR(o`=>tGMb@losvy|z}rfpV7mC>AZfAllBUbpHE54n(4TW3c+Qh$Uoaw*`4oCIZ3 z)^CVAsj1f0Q4%EeTNR?up9^lEfByRBpFjSq7bE}lecs}ipHB7a*0$4;Jqm@_EBs+wOr_Y};=?6&)llKeKB;vTi=| zr*`MB&Mi5=gfcNfZ&CbQ_-nCHrVZ*BT%7I$cCVtczn?ydocK5Jvs}4wq&PIa2&Y&a z<$)WSD$fOP541Wt@vVn^nYeg58J3$5aFh*ub=-Y&h45H`&q92udq~L2`C)Hd{Sa&z z*|z+W?_waJwyRTPUzdWz!LF^=KRkQDQLgIem zM>&AI{Otpm>*(bP@Y=in@#1YP>*L9+-t4lo^ohT=T9b;6-w)wz# zqJOrKTR(LNX)xx`|I<&bc*=X&rZ9ZhkK}yJ&(ULMSDCV3IXUPb`j@dsUHx}((2EZ` z4+gz1+)VeQH1&6adTqE{M9l@_j+_UtWB=(NwKq$BRV-zw+@0{pzai#3SnoG;HvSJu zYDhRT#3p?putcfJ@l?)_<5HgE#KOa7-ty}&kitVFo~-gFWn#8@nS4rF3fYz2$)*5T z^jhzY=fzx}La2cu5Zz{Xb)~Qw^1JUBO)xz&0>7nSI;vy z7W8VeLoh#k1E-ram3bICuH9Tgo~3qbD=FU`AyU(a^w0MA0`1L#+OL4#>#NA%PjA?W z*3zcxAvazw<}gs&4SmgplM|gQgtsywICNNU?)Zu5J%G1d^5BdIt@o{9xy3V+p?__= zPLUgbi_h|iZ`^D`?ajCzR5#{yNg>_&fTBfS&0hPPBO^-z_cFG$cG1g?jyI=H9yZ^G zAY##vw)1|N{YRfRVb1KEVV^$PH#YBvySR*Qv`(0p8}d2xkYCJM68|r2OXmFVast_h z^@=ol_aDB)8(+CXdruDdtNv_* z_4OO%I69v(=b$%#%gbzY%+BV5+9*knku6;DUHq%=_P?^BZMop)r-&dl|NW>Rh_Il4 z`k&pA8LfQpA{Dv9WbL`5pDN6on19Y3;j@SH`c~dNu$N;uY=6#bpFL!Bj0i^k8;5ms zQoP!k62DvwPg|hdqK-`#e(@$ZzTSejqFeVU4ff_#3Ysg2VR}$afa2@hOaG98H}z1< z$138Vvhuxk#bVKRp32eV*-HNO9LW`+4sUYj$QzE!cb(MAGEUCgXUCNC=cD*0dpa+# zy4lAE6s~_%n0}`}!@M`*H(zT*<})TGO*$-caDAkeU5#>nzG6YP1!@y{;7D5pPE1_)J1P-<;1;a&~4{|p=W;R zvX`Ch!`Ast6u2gG=QY=-ynN?BZWcIZZ#w4MMU32Y6G9Y_Ce^Fw_NU%j_QMbP(pBE5#`ee0e!2=*oo-xtkV_ki0{rQxED!tahxz8OYbW&G z^JM$<0pccVh2#^i`>pL>M@a!2mBW8y|L~EDEYC507}ek9;%ICVkHsr`LmC)494+i< z(aA51+{#Dnyw@~_Q7wM9Kd>D8#+nND4|ro+*%@EORGpkLzTW<_d7H7fZ0MC^Uu9O#!z1n zbWP8-%wO_Tw|vr{ybYEQsd8JhsLNc>6^21wx`-i4mx~k}G7lVhs(u^MrcEa<- z_bO|$)$_yexu{&a9LG!L-MADHS@>*hj;m$ z{OPan#au~apFGVR$T?i!jPT3X^W}Iso_;#*`T8g1$#HUSj5BVfAMe|UTAmv&Fy zdVRAGcScJ5=O<5ju{a1SXqb5%91(dCE_65yWmBR<7@i}-Mmx$v%EF()+6 z$}!_h@2{~f^6iUPT3h3Q#<;wj+XqXq>St>~>|me1zIM8fAf{bI-yG1k`75-S4tg@8 zbK_c4Nxu?D!1wnR+(we9i?x$ly4COhj`w!AByLsY*lz}8W>K1Na86_(0AI`< zjwP0iY}An(p`CBcPr=qNPq;Sa8bj)9E*;IKAoAC?6c{r$VwbuL;+^WR;Na3_L=$g7U`{;Thwxi}3R{P|W3v6?fj(OTV zISJB>*YSZ@IkijSNwbaI6wJg^qm9U!EO_dY5U$VY8z;`Mu|VY3=d5R<+d9&5=c&x2u90{E-aV&3egFB*U;g^%H-G!v zf4=$KfBk3PsF$C-{r*qA*5j>L?r#;{v7tUF+LRU)e=VkwTvIz97i)Yo<05PIN=jSX zDr_G_=5Ku=GLQUA0mmyZfwh+~y7GtO{FhDte)KI3i{uZf^M|%fJhffguJVg%0a3~D zJd(1btK~r4GVy>gAH`*#n9q3O+`>7$KA(WkIF|DcagRQ zOs{>c`IM7)`C(=2`VM4-_y|=+kk$Y8P2=v?_xhTSvbMQ6a1sE*O}FoCpZ=IS;EgZMoA=EqiFq3ygD zisGF!rarROS00|2(%8&6pyx~nEd(mDlJdgzfIFK z+mG%NT>TCxUAi)g@sz>b|I=77vM0S^oCS?IzRq7`Se&N(ac>~D$=6o{!^k7oZg@z! z7<48cvp#kXoMG?86genIi(dOI-kx&ka{g*Qy63!T?{@oD@g|mFxN?gPZORq;Q`WKa z=%w?y#(l~S*+a)(WHn4zk9zrwV>+L>Ygj&%&tE%V=^WWLLIlk7l`(qQH&5WXvR`HK zvV=|?{c&ExchmHexlOq>lxrE@CYOqo#AbhN$=08#tzGk(F;d_09D>VheM8>q1J<1G z0WCf@ema-aUalqXnIvOt)D+hG85~dRSH~}&x!~8^SB+DBLw3%c-IwUt70esINMVglPBCQ*rMdtQ7!$qME7s2A< zC&3m15mj=ZSNIG6H(4OAVJaMlD}3LO^>_i3hKsl4d!iXE{;2dVvYq{6UO91c958;J za0{0^NZEfAL>fIbZblLvlj?-)ubWAx$9Gw1(bEYv?S{7x>ZPnckL+HA zrs@+rUH1XRb*3sAu~cJwTQvoZy5@_Z%rVtw}Ns*VqOybhC^ zv_W{wzd>~M=(H{$hBkJ2NT=`9@Bi%E{62dfYN|fxTTT}5ZK53W^V(tH z$?<^N@T^XKihI#Szwu33s`l_hF6`xo`j;;spEiWNi*{p3w!Up4WqWJZCO{Y6^mjP4 zOMRIGKJ28EecK^>G~&^PO;EI5Gu$19*YSRRN<4?@CNhxrb2{1C6bw=)tn5Qty<$V! zSREQ;Ok|>d72OM}scVdfczP2X7?ZA?aJ4V>0#k&rlQ#RCC!B_LIR|S~GLd(FO0kDb ze#uV_SzNf-+J$N6oC*8wO`g+CHnQ0e-g>KsO{Y(^w~g9$s>#jY|F({;D96Xm6)?-F_ zFP@b@=W}hEXb<|F*Z0Ato| z@9K^+4+|^1P3Ju zFOJL0US(47^dcA0VmA+KefKs$VVCm0UBd;s%-?)bZ0#4#DoHwHS~^7I^Wa}>h_%^! zNb8#vMU;4GX+CCiz{rgh9_EJbCyKvqkWPO=lPJi#}}lyD@FTwv5VzMu^iBbZpwNP&%=3l+XH&ONuBX7G&bu< z?z?z5R*)S;Rl!dW1c`Y*SllaJY;D}bvvZp3+cQ@13j>qr!PB|)Ay;PQC92|;9S{_) zDxWudTu|Qnz#=(?^G)Qj;ol_XjkDrd{9Jz`pZq5;Jy+(&yo+`1JRHiN$~G>njg?=S z7xUr>!xQh-EuI?F!P!&MF!M$)#wYjQH}6u=zT45DVm1fmT*yNR9q;1z&OPCG?B*|A zZb;r6(>rHQJ0&LGesSZD9kCzNTN?c|L^NL3yuHILF9&^_-iSN}iwlCCH46y`$BuNK;henJxwO2gzp>Ufi4ALeu%qi-Tw+n|65Sr|=8TpJe_nHFwwnMnPF4pGpBMjP{?3-#UEfEHj_$$W9 z?fG0VEuPIAX_vl{N$ag`B06cj1>`WP_QA9uZrSF-2+qGa6L+^w*<$S$2*t_dzO|v} zlktCaqpi;qR~~xcA2zuLfVP6+nXn!=yP8vOXH0_a8B_e_PkTC7f19>hyXw9d{Uh!{ZyCAejJa0SowJ&(C zzxlu%Td##j`K=Srjp=ZA+&n%atZ|Gv_KD%kXWXG0X{%rIj!*G?lw-6PQ{^I(9{3$x zF19#4`zU8K|J@7ZW8*tyi^1_xHKd~i4 znKkFH&iPQ#AwAZcFp5R7?18m>LH^_KSuf`Xj5Q-2aE`gG@ICBIh3fZLUgU2)JQ!4F zBik1!^Uaq$xZ=S+V=Ud-XPYmG=YM@!U6h7bzcHpizQpefE5W7?3H$cbw;5;9gJM zV=%LcoIEAiHbu@Z&xsUDu?9MRM{GA`;+*e??@Hg&%nQ=&)AZ64eh7wy3s8z{tI8X&7FoYU895wN1u z+}X@)DANknzIIOue7TNl?YoDy6BD^N@YY;*nC<(JUO3&zBO$6|Z!|}?W6X??Ytw+Xx>&82N`J38CN6&Pf zcB`MYCB07_)D73OY_iC{@|D2$x?h`5_tifc%GOU{r<0D;=lCpP@rb7iogTh4kGmFU z4*it1oVn_A<}APD^tb=~>zn`j+kfO|Z~vM%>*Y;)pFTIB6hvf;gzcSD8I5sx7t{p%xG`iwZ8W2m*Q-ak8BCXmlw)!$9=!{v$f?=3m z4xqn?)y4i^&&xd9veZ?^p}Bq^#`xou!=D9zWs&(vr`?rkQ|BV`&LiRJSk`tL4_0_O zp0+usaSz>~*U$C6X`uGs#ZhhI=Pd7Bhxz!)J=IUqJ=yGB|2Munx8etFx777T+T(Ry zsphE%XIOeHG0Fh|Q+d z`*O%$9*qon%5M`oFy0mo8z}uWM~} zvv2ka6^Ty%-TBmTR8H-uXR$NtaEHA%WX}h%E#XZH!L?lsc5N2<`#EL)bge3Fn)4(1 z;hCJZ(`Z^%!4CyJLhsz6x>8~d@IE-|u--5OJOl%lyciDklqFwpP$5NsYY~hY2P3)Tu2aSrFfaK}KCe_i>;UxF*px)7mM}Vl4pNt`%26nqx zk-Y#i=xv;N`2F&sThd-~lhe=CMS}<~$@QOu1@$hr22Czn__s#A0`p<)UKYD2H$K5>2H)KC%d!LJ1i|Yy=2&y8>N&Nfwzx54#o)Y&k z+`fGmp43|;cyrX3$k$)iCgX+2Lfsow{`t?J`hei){PgZe55$GXPvaFfU5tUd=K9F7 zr0mp%g-L-`Ev>fp>(ACj(AN*ftrgT6dn`c^L}CjO;6 zE)523(Gwl~crP~5A;DEl$vjTLQ;uF5{DZ3{!M~~p-)xFNww=nhF?%e!f;$2$46AMZ zBJ|Nim$BVLlI17k;9IO5KjKBt4m1Qc9pdD9S6#;@B=OCC_|ip64@f4&-@MC1p1*$i zODEzlc?i@AmK&OV-Sh9i=0Zwn%q90W<)xptmG?XU!wsoq%!5qF&RnpLnU$7`g z3-8@ZhzCpXv!k};Q2T9O)Au&-iP35(7B~|lMHjjL_^Y!WUkoFichP(G+E-z1N%nzx z#V%Gyy((cbms0~b0etZk3tBBvOhK-#u^ zGx7(|AJ&J%=ls^-CJ6lt&Z|=uwUv`t>BaLD>?cce z^3h7H+JJqN-HV==ucD(bF;QPIF`LsTeaL#qMbyTtxPdRcHhPP9Elg52nkIuhTi1Kq zOSO7@ts6EI?}-vs-zMa^?2A8kCT?u&ck1(}?(jN>#iHEYx09}8!;zuyv88hRF&$TV zp~4Qd;m+0nq@I8%%Rik|=>rd6L~d1garX}^Q%7fxA3h2VvE-?--Mmc4g7CEe zNACQ3`drq69)^OgV?9~;!)IT)=XkO!y=@?8Y~0O_=qcTJK&+hX>*LrN;E9zG9k6z2 zHcwq&Km9>QeG@8dy>N6cRIN@u`YGOARjs9`SKKy*sD3mKX6;0G$0V_Z`W*Yl*2i2V z^sWc@Y;2j#0|}Do=x6gg)`r&F^HD;mHg-*C z?#y~cZ+r3)z*|H9DBmHG;a{BVbhrN6hqv7PKk9sbE3?J*&%saTs}Un;sVuByG-hA= zrS>(NOb<$Wwq0CGpYixwrzX@P+=V+A!S+B5xe$quC$F;68ylvlMg2h6et#@^Ts>0h6nX>{X>6>X9nlsUfZ%YJkUic zJD2Xh6)$yY*T?bAKJCB`SXx;2j-SPA4q$8kVCr=Y<45MZ_Int@A1$f# z?N<*w?WU5hFD*4>Z!$JiQC*RRRfuMywA9G&_wdCFZF+{M8vuP+*} z&K+V)05x^)WFlLQ0gsB!vHNDe2P=K)$r^rg8AXh-;`*7r?XR(O4>4@+U%X8|9rb0H zizi@}QOh>@jy;`Mj8~h->*4TRoWSGX1;&l>${HK-r-!||J`F}VCA+;5!4U^cUmCf2 z*e|B>h>exm&o!gnTs3{Y@OUmFmp_F33Nsz-f#=>p9*$I}@@4`Lq6D zBbo6&;^>;+#TQ2G-uoTiq5qSCgnH5(sfAo{bqacDytiye~?ze>RLWI)l-G3Z%TRgSy~(! zaM{)ty@rrR9^d+!dTF{YK835W4q3YU`BiaC$Un5`D({xD7ghgDePmtPqkmvPT|duf zm0Z%z-J?^t?TJf!OwUn3Wzth;tMefqZ~Nj|?D5Gs>;Glvr^F8$H&P$AJ&2>>@NNF4 zac#JEHE*HOcM%>L2bXE5=Xtrl_A%?Oe8=?7$IN$PU;ns?Ol~RO$nsN1=G*$c3hp^) z{1CqRA~G^J$oE)KJJ?g8@;{B-*GZTk}?iVsy%pjP$8!(G;n9r=<$b^rsU#%)K{1oo*%0q@{Ec7 z5)j>2U;Ri-WRZO(ZsJ)wkded`IA2o7!)zIKGRZ z8FlnCyC+JVedkTo0KD*mM-CrnbcikHpjy!K))A1cZ`d2mnWgx3YAqRARJ`~g zy!zF{6|%8s50hlvN&MWmS%%bq%MuEUGotFewv`? zI%9gtd@aL2%ho2?+4S@cdOGc`F;izAN#S${U()D9RS4=@+>e!&^;!7HU0e#TE_oQP zT>0r+ES#|;^zM;4eOmuBFOH6#__vnaeK+@(+*kUP`&2*VA-(_j%b(u-*MI#--=^0$ z>HYAzU&`2*b&U3WXsZLdi}d>MHxFH%b^d^6{)^8`U6)?F4sXD8*5;p55&g*JAo0pk z*}iF`=-ar7zGSUm&gbMek`8};ly*h#%dkyEFGt0rtOsGt^W#rBhm0S!llk*g?*CcS$B}tJ@7Fi~%>78$ zf;!g*vjkCUj70~dv0&p?dCFG^4;xB*;`QG9(nsb;?LCK)3u|q; zdex=S7miBLH~Bk}!1Da9tPctX3!4+Mn?DI`3Qq|y?xGrRb(te}9fTdn;=}vg4J!Yv zJ?ZjgCjH~u(Qz?^kXg6kaowQTIwGp=T`(8hEvucZUUM6N zo`wJFuLx_dX}%5tp80`WB|?!2YVQ3d!4UVBS1eg8 z(}lNVPgsf|1}kUt?zir^w6)`aL0o$lFG~4UYQL?%jdyqtab@qg+Kx|xp}boYs=u3Z zF4#TM_03eap00`x^2t=9Z08X2cWu>}jsqrlW6PcAuI{xHzp_Kj92}9~l2d+A)Nfr! zrxFfZNhqFk&ZlFthV9B#hHf@a=P;m`_!i&#BR=Vt$*;tIIqhj|JCr5B2bXExIn~z; zlV1~$dy_W~*VA1$^o7}Tzr=i$a}n6^zDs+~FV_yXrXq@F*T%fvi$rsfg=8|w$-zmj zzckS=DeE{`nPlAdB5OF%k)uuw8+Y&#Mf|_lwK}}g#dZ)zGXC_N3d(^-cnaIesE2!W zijd}S=^E5B4Rve6%%q2XY8a>BQ8bf->- z_ArIczYCa~VDQ1QMc?vwARw;;M)2H0477)hr!mN|ur>DhskVCL#Vl{;V&Z7BfY9mS zOWB^TU!dF$sR7%NSvXh}HF!f@f1SZdzBmHt;e*JN?_d)wE{2yT;j}GSe zqV>ts;kXy?90y}>Kp(oj@r)z(w7PneiU*c@u{57jbuasnO_z&_ZonF#J6LO-1X%5O zp|34P7dz4c-MDK!grBBf@W}pRzcTm~VfpRT-e~?^>Ire%B!EuR&Q`t_zkEOrY!Q0@ z*A8vFFtyv!_H{c4E3X zgXP{RC$Bv9_0b<}wJm&DZhMce9IcNS%*9-vUz-$X6U!db6gOXU<3g;kL~SoNXCc&Y zyvIfufBE`zVmdcCa-mGWbwSrn)B26X$oVbx24Q)&^#+J>r~NEgLO0m6VQx6(p2E(b z(+oh+Ib*M_$@iP=5#5;3UfIO38_D10+bjS5zyIhrjy!btF|P)Hp9ii!zs*9AMGUql zpHJFPj3c=T?*yn1>!p7sUSapGUN_UeH2wl6#g*aX2!zi!d%gAHANl#+&)%?+dieJw zKc)H%`)6+-C~*~{K2a;yhHLG2frc-CeWQ<)Op?F|v2Nmc@i}q-%t@D@G)b)bnY3WogkDvpqvyHERBmoqKP>)yY+Ne&!2)N2 zbkDY7oG<0s8O}1j`nO|J{NSgej)+4;XY}Xe&WBefjK1Z0#C7L{cPC_Y9E`FN+C^pJ z(8Z>BqHPUJ=ec~_y!};RmRuaomWD*i&<yySeD_lU&jqnpk7g|T5bHelx) z<3sixt1Xa&@%Z)5d*nxW>4!a7VxzeAMFh5WUBD0Fr+4!Pn&inZXc*gT+HFX@zVPir z7aHd`?Vh@P+ft%F&r&?_)pu#vUYKjxCQ%=}{dHhPsa465T z5|WHj!OS#x?)aS7(`GzOnfR^jtp~5X_QCjp9eayd)CTjlud+prdu=~u zRmdLWM*2_I5{%bZe*KsS-#+9ajI`5t`PP_p+wj^}KJ=+;*@-V6zh(6c=J-Q$foV;W zlifUwS8t^5>(^XV{Plf)cJo~xEc=iPh~6apv2O_U?d;)*-D!h+lfG~FNuT!Z;XbIB zbO zJd4S*FJDATkyl@wJ-aVHbBK2TnnvzJZ*Y|bzT^ZUj91R%AXV@tX0QJ{9_GfjpNsTR zi?`BytMay=-~8wyy_Ef&_2@4d>wf82m)L}BtwA$QNw0dDaLZSVZhBYVSPoC)BECX? zw{fg)eaiTEAgb+F1@MS=x>KXf`BLYQjGgM& z4{}q^n3fnr$0ySElNsytH=CNbzSK_HdZF1hhitu28m!iPH?_^M_Pjjr`O^0?7D?)= z*ZA9O7a1Q@c5MX09C*h*<*>TIjrZC>mhxyWukpaV(sT5b861q+J>5FC?qYlJo2&2} z&(P+mZRtVWb3Qmf88fyX^HamHIIgW+(KgE19@|{hZynXgMqeBl-qp`<#);>4?cx*i z$a+o6{8=}WFI^mtwTV&>p-JHN1Hfz;EM^RD*Tb-oV$p!zYjw9oIb*Po)d}u$#MM|YlYQ+zJTUe_{!EH^XIEl5VZ3u$ zYl!@;bKc@F9-W7~eqf8}wwsuAPATrR$;BE+P}qk`YD@Gt78_i!Yuo%K=Del3wuucq z+9vf~W5C}y)mJ!ee$eMQRh?~dX$%Rl_@>thQ1gKT)WP)JhJn7;o%-v``tOvLARk*J z4BO<8*%iS9?`Vxb1XvlGV`JVYx^v4~U&PSWbmDzE;k^KB)-z~f9 zsO@N%hAk8oaOI>9oj-l6vVBbcbj=pNI0UEu`X%iFN9U3XNd3}$w)WCKl zDq6QTA0MBQbN$v}s9?pHrUjuPXX6S%#2F6~GqF$PRkw;@-8BSd*|P5HmQEn%eR-BE z_+aMMe7lV7?F0P1xyM1;3Qrg69xb*ij2Bz5M_r0M%<&ldIj*q$S z*)Qnk3%z$tXQOkd{-k>R{XT8-F6;ANqhMf;{c6vbtciK+yNm;P%wv7X)|xMUSs5dG zedSXxy>*zzgo4$ed3rt0aJ-!f+KlW~Kd zh) z@#L^4m#cR1Z@eGBe6ent;`)b|#%7$|b0zU28xO&48;7-T zW=$di>0h_4;9HyT?J@0d0n{}Wys58mBFjAK9IO~BdA{lwchxJSs{{;z$yg8_wT7(J z=NL)7Q621>ueC^w3H7dZ+*n8Nfn?`w=2hH;d8o;JrqA>NP&KL?i>LfO)~o0pr|}za zWae)V3Wn*V6eoqUMcE7MDDd-_-s;%vZW*(g-a;Q>JtT}#QOs@aIa>vN)w`coP$O79iJ?)6Zvt}ck0sgKGMe<}n*3lI#CmIxbueA?Ff0$%ME%*k&(zO}OaUic81rMvM1Cwy>DZ!^sYT7BA@%3a;O+xDzc z^p0>g&To9VF>roZ9SQS?dSy4Rl{ZFjzbmAEl;_eu_whx9)K?jU$*Ij9(8*%!)?&V3 z;e4_4X4>BR@^kKM{pC;J=Pi1F$%A@-d-I?9x!XVe@I%J;4DgW!-__p1rN&2}Qa+4q zbBhgKuM>Ab<43$on<=M{S^hYDW*F5p-|mxh6h=mTQd=vNgS1~XP?0kI?538dFa8dj zK`gT0_2J4(v3*q@zCP?cVGoR5!ygv?tLI;3GGdHz7?ST{J_4lC9J-COIo1R?tYPGk z%Y^2i`Q@(v@BjaM&OLnbHginc=7+Sw$GrLNeZCmfYd~J2@#}1b(;A#z#@CLS5ys5Q zB=--g@dXdd&Kxxikr~FWi-PR2CJX;$ZT<1OZX)6tuc2!kjJM;QZjf#5QH?1OOEow# z5&_8vPUTEi4w9}fBQ5;OwiWqX!I57P@9> z{l?BOxz_pHZ)pqKJK&N-f=vn<;G4Z=IY5*0_V@S%J>1rzrFI?_nr&;pUQ>w&Sr;ZV zvgVIVGhd;*nCcq^O~d=gJlg4_)4|=I{_Yni0|w@+vuiH^gQeZ__<{0j%D$p^RNiZk zcIeon|5wIr*nDF?zW$sK=(s${_se0hz%Id_U4XnxU#T5AuD+uq5<+lz)TO~Q6u$XA z*T}ORDo<_8IgGBWZ|}N`KEA$5N7qdvYCv-(@C;4G!6}H^?78^7x7CkYV6`N$}WJTRHy1q$;jx? zT-Nz8*(SJ`1iHn#6kXT%Inp8abBL?Ge&0YCAL%vd44BqUkzzny+}y<`imOX~WS#+f zmIb#3Xw%x3EU61b{$_j9d_BE%+!GRYY@Q#lE`AE9ds+@onRS`TC@7as0#5yIm}ckt~|Ly0I9uqd&Uq|HNPWUD_1w;#oUb;D;x&JD{fj zmNB1;q14?rzBOsjNbNP2bYNF+=ZyVwYTz8lp2oqgY10^o4j2w5A5w>xya3pefd4$JDVtf=+D4`mkmB5`lMO4_PJ&1>E>gx zDL)1`vh%wV#n`b_`vse>KAuCHW43J$Fuv-mp*`FB?ff#3V!`n?NS^YZ`HN+EBC|H$ zK0mi9tL5sByr(`qB|wx^;4w6NV`u7IcyYMe*wd~#f7A_pgHzj)#imwNVa=hhi|g8Z zZQ8}%9JQ`11@ls9KYb!!M7o$m_Hdc=zW)BtJnZo1&Cltdy&0eS!aZ$L6W|F8*|2py zNp2)}zxt3o{K7_Qe8$7;o9)R`r2LMz>v!fE@v5>SzR7DJbl3lPe29?BgG*$K=zf!# zqNI8@4(NkDE2@mC;kVd#`s}IxMvtZeg1 zQYCu$xAHFCYFFPp+1c1mZf&~Vh*|MRf1cBcQT}IhT;aqbfBvPGqd#^;=qfG&8oo_G zFuw1B$c!J>ShX|E2MZi~I8ao;g_&%z1gmYaPm7JcGAt``KI5*=AAQ4A7U*s+pjBV~ ze01E+zP6Nixveo#=D2d{PJD#>-nb!)zG6BTL~fs;<=-W~9){JDP0Gp`nOyCAu{C;k z0i;zAu@9bdW!+ z{4dG(cqQd)?2Pc@L)?qTAzqtroFK^v2te410WHjIs3r}Vlkd{9`NZbe%!yw-pq94& zk~PAY_xik{+1f6#$BxI|T=}6g@7ROyt+zao$G~%upWa=t5qrCkQNQXp7US^328%;B zwAeW1aM*8~Y(KWB2zTVRjqnnq|7X+x^clE|-TG*6)k?wqlYRTCeRV}$Z0H+bf=?TH zJMPCkr1#;&FInS99-Pr*T>;CDuVH74I+*PX3AN%=e(G|Jr!^h`$irm(;>N@;zr20( zQ+)j)H%Z-?^Ao6iWI-2C&#WNQa+A97(BB0hFQ@27k_*iX4yU-e<%v^PCFFXR9G zv{`X$+Z(fN)mKhX*20Tdtj>`7Hn^_5`Z))V>+7zcp6xgv;ZIp~JyPh&dL%L&oFYf- zTWMWo4`;@f7L2o~^3iH!r8VD+xy79^?3eR^g$F6TJ&%w2kY0}6s72EUE_%MbaTA7F z4L83yih{`2zB|tDfL@#P^|0@J$ax-qz*e4?NLh|rJ`JRhcjLxU-BZ8RsI<-6q481- zi11sh>MO694u5o(9%=O_BUSjd;1vV&7B6cbZLNO&X>9XB<(!Yv!mnWa<_mrJpY~}N zbmvAaq34uIw(3Y}|65#|!yk5p=<0*3|M6wxD|O;Do#kJXUjv6#R8&9|l#rN;(hbt_ zQ>05lX_!bmLb|r0piUSe-AqM5x<_wxcQazbfB|Fl28;m@Z=OHkKCka{KHuxQQbgl{ zClIlv-+j5OJKN5GeB#2hnkf$@EgbuGfx(CFjN#_VO8?oIo62P4uNK6u(oM*mc7R6{ za9wP1q>0Y8cv_*@3E$ZV{iZs~!Fp}Gl5O9__lQ3pXXa>EF08uP zDcVWNLTMCTH>}1O@7)QTbj(jqw2E)!$^*uY zRH+7N@pT<{-XBY>$nvgd^o%?6q@(J_r zP-_2$w@#!ZosViEr5||>gI_upaD=4@Nm1G-+yGbKm!cRAB><6?4pnE7kAqiJdk*CG#nNTsfkQOwW#oD+DfA=WP}?UxG{kRZBRo3C4HILi=iw5nwE za(i<5f5$tfei zE0LOdQ3UcMT4n+H2j7q|(9USFz+ePo{6*UoR70vAa$~LJgdZb+A)oQKdk}LKCrN-& z6AiE=nU=|Uv?K8ZRCY}I)--VuMvh@8)I$${+Dr|stEDC@z}j1%hpQSn?#E+7lR*t9}s&NCH3ZM&mSvSHA~+^n_C8eO_Z9IHgEQzq zrmAIPI&IAL601j}9;MO3;3b=r5iIiNP*e`)cgXJjAGErE4lmS_zYi8c0Krr$%Ri9j z4JMA820&Ci6y6UP>@7s!KW5wf_v+4X3XmiJQ%G4NfFLSb=NF8Qu=^;*l1 z3htI%!M(2+BZOjl^-rvd=Z)jZYv2U5uK>T|dz6{t8^?{pnB`kmn=(i)z!`@WCcDfb z?%zkmyJM&R5@g3o%El^5z)lx1tcV=WjuBsVA<)d&H`Ay}+S#1FL!Iu}zR2J2Kq@Vt z%L9=kGHq-apC&Q1LX0o5tIoQ&qRy{MCC~lrnWKA~KcSFm!{sJ7nv(eSxpPyGj{N{U(bO8>79u*)|DyACA{@NKNkej0!ZQ#r4>GLMwMiq0gGUEr=?CgEl%_O5t zimR=Ajm7R_cF48m1k;aiN9={N;S5X)1S!Z*RKzLSV*Pu;w&-bQ$PTLaF@B@dYytca zWSM7lP8lWfgu47qN{Fw1_Q~DCC6C&5 zUHX-l%3xP439?ir*(0JAT2KIp_%>p5o*KPwg!EZiu!GK3f4Q+1a;=&Y(|GX=iIdiaj7TH`aa);awGQPXU;)>cshCOnQ= zF6EzMZXb$F#K^uGKb!UOZLX8U&V813?TRM!eOD!_v;8`7gnM*!H6>&G-b6nNFG|Pc z9zHy|7;U|OZFh4!A7rWipRSSCWLpVRwTUC_qbXn0BOinRupOQg+-8R#EeQA?(-3?i zHdFX1DJUp0I~AS4p*UG0U`Stu&ap|YM=1||M0`zV{kIm6#&f!<^zI}}l!0=Y4>#`@ z9*aehazIbXBjb>e?J^qZSKjKogDX94gkZ0cm7)T@0h~5SM106!eOcuFAHAg zwxuo!-mX+^aJeAM<|78?wi`9W@L``N!R8SkIUzfTYZL0tYq2+noyxWYsK$-dqi2{V z=iJ6HC^n_+T51Jk_Ul;6ePx%gHsS;|HEuzxt{|e-736q+Whu_#*7TP`9I`6PljG0r zR?w&0M4pd?>U+oVjL|%3g<+f1=vp{!S~T7IrC1zCMF;nijgM5_yT*QXFZ&6ReTLI= z868D^7I?ZN_oN*`c{gkRzLB!RChBYJm#g5FBDJ{u{+FgVB))L2taY0V1<$-4BAqKV z^U}c?3`b=&FcRcTrnCFPf4*tKn5nqJeV^Y3?jy{aJ0upN-i}N7;w_sDP?w>=oV)$j zviNES!4CJ-xn*sw zAZp@cuR#{Y(M~k5NlPCiq8emj1Gw(gw)f8OM-|zL?%NBU&X%~d94ka@mP|2sJ{d~t z^AFVJ+5dwCZgjwy1E`gKZND0h!m2Lp>4wPJZ~k{N@CA%O$ec92y^HKAPX&$Cld!?k zOZI(gGf`5j5q03)f1U9>YdnXmMqM?BPpI4WyPgKl6l3I!|9{l8vGnb|oh&+VRG(G} z*T~`eSc7cH@jiaZb8JGr0iGzi6BNP0ZB}@#m2zt`_rb@fJIAg-y>3;= zXNU6KuVIRIi8pqBr~&+j%d~xsoni5ziScjmeSB23^+9;oCudtDI;9z?-vTUX_hPjQ zm7yD81iafv{-XLAeRW8d`8*;=i4oRotUqi(cz=FI+8@JF zJo2e=g_AKpfmyXz_IlCTXwwz}Mme0geQ#v$N7NZebLZ;Y7~MM)Q%;m)l4fz|{&Z`e zHIVX|{80*j2A(O5Cfowi`%U%Ci1q69u><DgFpFQoH$cW@bJovP zBh@x&myf$^o=ItiIldf+QogQVuIWBI7bduOO!&ImcK%b|cV_X=J3l$4e9)(N{*rUF zJ{2q=bV~V3kLKU0QhT^!g%?I^*^Y;4MgMVCSjesR6f)Nc_n4vJD5y_owoShr zrTyx0=?kvCBWwStd$&x3>GX?dKF8gFb$jjokuZ^rCWk>N7xpn$CGKz(94Uvc8=) zxVCOOnYM8vk4>p+it27gE^ZxERLCVZw$TJlzU2OI3|6f_1?WPxxv&G}@R&}Ge4NRHdD~O&6Aslb^iu_|9z=33&j1@{Od}`tjBiL; z#!oPFFrC2h!RU|AMBdpu4gdIbvA+@NWnqCJaf!>bqX1t4Ym)N=ZPT~AF){QYN$N81 zW7E5{etLuEvT)lM;q+lB5#LC8yKf|EMB5xJ>v1|)=bx7@$J5fTZxvMev!&idbyQU* zJbDOf>!xqxmYfjl*jz$#wn!C?u-DJ3aD~w!fA4)BR^4>jXEtuO${Gj(smZl#o=Dr! zsE@kEl*qOceoqVlxfP&N+<7(>i+->;$8uZ=A5 zVhjCvr%Pg6>o=pjzfI|@IDFKCd*g)!wC@60EoR+hMphI$tvy1hY_qmELhzCAFkjcI z?0et-WB*o=kBT}rH?BSM7f;J>3=g+i|12W8Y8Q}2Zlo}u?jTaW1KNetENQz|>Kw?W z(x#mh!^g@vqf){(yIT1=qGa&mr4fM?ST)PuZh(k zNU2yjn;pts;Nc}@yEDhHfjaW+Q&aWQyrg5w2pp1TYb~ZfXZW6%S zJ@zS=LpR^a^X_8< zei-sW2~BJ>ulIe`Su9N31Syd_n6JOaYv&!6Qep7!urn(vrv?B#g~x+Vs#+sdHD~&P zOKHL$U;^ucafhH8x3`(|GTNStT&+6)fvaF>_P2jAhxz1)kgOV0ZA6GtIq5hVdD`zUO7KGzPv4SADvcuINFm z>PbG!TF(P9N8CbsC*u4nd8L-OGur}bM)+sCOV*U1UYHWAj3AdZUG^@g?>m}K&#wo0&iQ?H^bYVai+decnVj5hS+W^*^XWA=e{jpBW<=yaY|zKAAeumn zqrFi;BM*V^b-Up;b0kUj>r!Y`CZ0zZ__-dZk!s@q8K~bCtEb>n&lQ)~=*8RxEc8a^ z^C8xVg#2(ZV8H&AN&+s8CHKXz^_>wc`ZmqF+L9=-+3fkG{LX41muvd;xXN#W#^j z3v;v8pf!wW{-HzX_O$1!H7F6())C@%f;)Sh3!I;?yqR#TzO!05OO#8spgZZCd68le z1_XKfjp~y_>YnnST)t0nhF^AQ3lASx?ab-MP^edarY}@~g*GF&jO});0$gCHf4zra zhMW-T1{3xDRMear+@grRoKbN-nS(HZj?)(Z*O=w5N@$^d#n!G`O}Qwck*xX6zSv-E zRju4r*K?_}^uh!R+s0Dm#gdMUC)=Q2)l-PaimzkQ2o>>aed|A?Wq^-X|BeSkJC3r!y1|Gied5UlTpznU(iODB5vIVuyv>~gShgx;&Z%ak(i ztD8kT`G86&7smr8id-vc*Am<>Tg!F>2rxl%Q7NxKAGP%QIv;DKpW-?4-OZ8VTBQfDL*w&49lR)%8r-WLu(1 zNhIYkq}jv6nj6G`L35Yn1=?XgFR&e^5r5oVB(1qd9O4V9yp_v9BceyPQ6EC7GnU#@ry-y@&Zt}08!jXvF^inZ{4CSb!;~MLOtHHz@ z@Rl-G+Q*hNEOJ$`T_`~h#m*(_zGtY_@S*hT(VvHXUn_~PxoCh&)Ji1N97hV*)Hbz+ zE3XlkrJ!D|YoNIAuylCaHTJH2DIHcbqmwbf$L8gZ z{wnz`hH>{X4eRJ`c|%TJOGV0yWRb5#XVS(lVZ@iVPckb;$cct%@4{aHXKVITG_UF_ zquWEfh49{vyy{RPlC|Cy43SPlYTn;$+ePOfqngl*x>Xb|KppLh(pZA z9C#%eyGJx17k5TOgXN$lrR`U&7VUofA+@k={B_NlhLhTvxnYiw~L$~({P}H$TG6FGlHXUSl zDYy%1|A0?k!Zp48A>FH#Z6&QCHy+t4;K~9u3QiWY`!4rE&l7wxa4$WEK-14S_{fG_ zZD7`n1E4}+lE1KBh3eUjg~4if-Y4IU#>c1ajBjln`AhKBHby10WL)Pz1gILE+!IRO zWmojx974Zj4CW#Pulkbwi?+>J>IV+bbyz(~%C4mB&?iAQ#>DTL^XRH=(gXnt{?2%M zx83k)q!s_NwA>n-1orJ3+%wdA`o);;Nh#MSIpW>adC=6YG&; zG~N5NH@0NiAh^_S+XzCzwi!#kuIR+zpS=|i8F_~G9sG837uYsZ{s{^t)7sgy%M#*s z5q1SaLq~VHOl2mBC$>v{g*Ehx!3PcmHqVdZ`o<~M>Z2lJz*jrK67Jlnx~m0GkS)_~ zcIS(x%AA!v#W{b;Y!`2g`Mu_ei1-aQ4)!RnTMZ@C8Kw*y&q&ErZFTah4k7%| z-3N7e=ZO;f;BwfRD{!@5<)zDMQoFyqj^9A+Dfc){TW#F4v}zqpce>G>)$Gu?*!2Or zsQgh4HpSw@#haq#zoU}BmE$#jc|*r&<;EC$)~UW^aEJKx2e0VhEoSAT^*1Hl?#J+J zPR1K@^N6Y;9WJ2jqMA%cdq2V5JxFUi8O)ALR(iOn+uJBVG{l@G5=cNEf1sA)G_Nvx zKkqXo$pXT1Lb+V!kW->iW%7L#`3u$EbliAoxfr^)%9`|^Ag^Y3&|@riPbhFHc91Tq zXgRn$m}o2Xp`5ID-F)-|&+PMM=@GhqwEiY!vJLC&svak);-;(7C8KUUj3W)~nwMJQ zeuS-U^<1_Uw@9Tq$pioO|6&?6>FcWF+VYdpjq_iWQ+?pkN=N1HxLU(RrrnVgXDy?( z>*huPevYS{uR5yTZ{J^q(c^2Gz->B##(Lu;_y3j|H^I!CY4^dG@f?wga?9v7-} z;h$EcBpjp1A@cPU{DU#33#;#+={&IVyaqqb0`=n^KvbeZJ!?-uH=|PeRMg9wk1VkD zZ{E#VZBbzW+liyI3;HQGt%}<6H_gL-t!hGxcJx{tN&9d|&na!a4`=UPz>! zj}%(?XnS&@?wx706|1+(h7X?X3{?{;-$WtZYOAABUxWCG*4UTVg(_toze6ng5%BdqE2n?{K>9{VPEaeI{<{uxhnOWswU~*g(v#zg zgn8uaabC=vhA(xna}6RH`DHRij~}LU4*wc^svoW z^FVLBCEZgyC~Lym3$_{y%!8QU@tWQy>VQjtIa=y9whbz9?^cf2^Cyk@XSukXtwF%X z6F<`BzUiBxPd|co+NV$tt!sG6S5{sl(r8jkc?+-XziyhDl69?{nCWAh_hS%;I7~T~ zG`=a=cKWN!tWuvz*NHzF6*13uLP6Fd1T>SVk1Ogi!}+ffUJloM-V<~wg)qp7Azx^O zVm&@&H|CRDHJ`y}%dvdI10FBTAx~dW>L7=#y*pRX)YTcF>-zFxy~U<{u|jX zR@hyO2vA?g%ZvdwBOoUVR?35;=*@r{s^w^ohsLQ`n>u@POy=76~orje$ zav&s^o^D34GhjTJ`R1$0Gb5n7IOL1EY~FBA%5o0edZx_n%r9o(f*7-LV<`5m0!c0K zpSB^O-EBc38-~ReeO>Sjwse*r*N8qgGyOM(@sIOAFQJ;jET>>ku+{jQ#Br5w+8>Bt z#-JuF>Yg$<@bA`bkdh?;KD$)Fouk`1G9cj7!@EC$2Rnpr8 zA3l2hNm&AyVw`2Kgo^f1Gdi$vk^w=HbJ{o9P^&_Ed5EXiwEJ6!P=c0!2DVFNly^lA zn^kTDCsuia!m>XITFP4}#tpFsFjd;iK)017jS#vi-5B5Uw&z+_p}&KTM3zrR~7Q5YZqL5me1v`h^?0m%nyI*xT_&uR6MozoR52}ZZ(HNEpU}}k1y=& z>^D!++gCwerbvn+D$rzg)+?<$h?hhdQ$!nP!Y4qSH@=r}2=?9+4la6Z>3>6%FelKu)nBCCLDgP)z zF*qkslbnRx>&tYNC@r)fSa-I z=rjgA_8ZeMK?)=Vb>iaaW_!PRFj^p$uaA#kyw` z9zT;9kyP#8qYB31o1N{}VwY-f+=aq_2+=?cZ~V?f^J#aD#f(GoF$1A03QPE3ZU3zwA+szv% z#g@#S_WC|zZ?~XfHox!DKn)6>TPc3{iT%X&FpATDz_G4+QCzc=u-OvgIX$iaW!+?A!a`5g}{`PklcE2phd2EZBb%WAB`J2sddQ+6qEga?4t zeZWiodFKI(lVB))4D-cX!d6mq%sqz^@Z^@-u5J z!!Yp9sBF+V1;^O*h|p?gnB?WTh1a8YCd`G0(65oys4YA5pQhV<4}bsiU?a#bIJdpX z{!vByiUncmiu~%RxiN2cP!@i(>)M~_Yb|I`qSE(K&o$_n+@7Hohg6VlRK|gPnn%IO zdzx-f-H`*!UCcRCrj?yeSZGFX$8VJFtUB&{4Ep1BJF?bTn&p#Kt=Z;<$~!2K*JcQ5 z@2(MMag3ZdZ<%jhEireKjhOi)?uk*LOvH;kpOxZ%+TDI<=3z@xkF@LL^_-SV|1JNx z0h}GVkD%_aR0Y#~qNw@F+YJuSr*EWGt=OwOLLVCx zX0dJ_*^DjcOpH((sveD=6&s#C;@cRW_o_%U3=X)nMIw4W0%g|u?{^gOZ@!5rPU6g5 zo>qXiV7(kP2ifu%qdlmqHoK=0#m)jfepm~ngpTQ!rxuLA>-qg@)8sxkR8yS69_D~auEFF*rhH#aMac1W?X75b@WH@2XUiw7| z?jktlWc{RE;h>)|4-|t4MDb{VPslO(yLR*-4)*0&J5SvN7#U~4vu5`d^U({gfw=YI zpV5)GpH3NmUoPa-fSs<{(6=O?=Zx=SlXoEDP>-=-1PpsTqI4*F3{~7en&#vc4H;lK zY$_L4tx2n^W&F=~OTK>QPO87qaQ5COy3a;zj4_bTPHxR}eSwk;E?B-zz2@65{}K#r zVvI~;SYW<&HPekp=xVrwQTFs{w^f<{mvQjjK>phWa1;G;dHXDMQm=eP?35T5R%(zE-&W2? zxT}RPCAu{|$`S&bXu^EKyj>f=V_r|_pWD64(EHss;*B^V8-nT(I3dQj2hW?pcb5^W zL9aYm12Yiei^@-m21-ifWNqw0{S%vE#b<&+f@tl6W_y=eApm@zZ>GOn?&HfyD5w4Chat0{n2M8u!dYanVTZTBho3^kLeIOV)ZIY_=U!E0h4xDcB_A zkq&q3wWAc+xRs>bR35^h4ypU?ma_**5FxY&a4NZ6KdbDR;T`OiG z>@*TAhOBrt7-RQAvAoCm{7U4F6^h1`dF(uh<5sw;*Q`f2LZ75rJqTn(?f5ZBYcck7 zVBcl8tu9{iSRD#eln*(MU)D?{9glPS4OvRv@vt2YsM zJt4B`e82XcDqZ3u7vER#MVGT=T1ei1(Vr6eIS*@W4 z^5g8>?@&xsf`h_#4$K9+6W%$ioRt#0SQ~f~v_5 zdJ(*SW==FsCdX6@pr={|1-(YR+w7eTHGG1NLDwhNWMT@PV70bWE%8=2Zlj#$%4r#b zyiU~>H~xJ1Yv7QW{J3_yl+5evZ|C0yNr68)>&NWI#8ElSI&|doHCfsZj`2P zBx=%F%=jBwieS_gY@KeE9qekFu^#0nX2){uhClZ(?GGc)D82k!B+Gm(fMjQ-{HOoE z+E0C_^Sf-SuF_vwu<(jyijuTh$aVGEl@SBy{=(Ps6|<^}=qI`9gUA1UMn0@)x7aK5 zu%hqmcCmbk?apO}syy+&=yQBn4$Nj37+TpTpiXoy%0Sl(R-+foAo z0n*+Zj3|1g10>+jgYC!krp0=v)bHsBx`ZQf=>|ro;WsP!xw^z<;*$?BA0eP}T25l$ zP+HGRKICRw@_EO?E5Kx%n)?RaF6B6c=y3LNKplOS#Ci&DB3)Kyodul<%rc;O0oB9WEtZ;i7x}6*~$n;CcDp0odOB z982kp%KRRIo)nXfVYk$=SV1+qG*M5Pcx*6a}$kJT6hKHmtsUkbICc$_^B&fD{s$^qxH?<{M)5 zGxtWj2{6BzkO4KHPLrvt$3!)5uk~5d60Mysal@*)jZg}%5Q{DXk{5TY_PNJrX~?M~ zzlT^2$Pa(Zlx&B7QNdxx&bwmFjRU^_QRU;z;5M_sIiHa0kIPvf8g&-M8(F8Zggdc+ z)vkCs<2M>e@i-X~WcBXhvo_z`pYf@-vK{qQj!A%mN<+JMsT{P)yOepQeFKcCnb1>8^7nps3)?{U>v+rUekgF zB!PfGQCvG8W;@_I$jyaU8@);_d!=ISw^}+wM;Kp;+9 z(gExqF-9j>6!d+~MXz1ajA%FuXD6A02N^%65Kfxk5WA=E*0`O%7V&*EW%yR60TUg& zPAB9%$=2cEz|Z8`_tS~Ia8Dv_wlo-zPx?Qrrx7b-@}fK z>4o}b?0?|@&NNKaJ1xwjkDRDkBqOfogn?3KA8=7r-gd!YbH9Aw`djE*)XX<>?dZng0joTIRgAf%7zs}lG zA9}+THTRO!!zip%0RNw95a$e4R!xC-p;j~k!l{M-G_<$?X75r)*`L4rRV#yK;+*2G zReDvC#Ic#6UMl0IgyzkTKU8{pg=c67dHfJ(G3h#a*ola?UN)X$JaV-aj~VB+(=H%P z;iRhadF+NRZGvqj{E9@GTbQkPZ(Arg{MPD;NNb=iG&9qFVm-MHV=Nq$xS z`ELY}BZ|+5QSnH?Cw4nWX*6*nOzvglKyKof-_olL#kO;ehx)qDfhkq6m)y`JpaT|+ z4_||gnHWAD3nFY*(O3@_-g%=WC_}H}tAE5-V-(%!X_Yo3*&zNaIcPAcsP+zRj^$gz zOuf98hk^RptZDQ=p4E0UGo$T==su$@#YFDaPom^(yG{BOM0XvYsf@wnky4q8&;7NH zAZ#3yKtms$5SE>gSRT_43748y`W0XA6uSE_l8VEy&X4Uj-wBNd7+$8?f!X1CN9_%} zNT(v`6J1=rTPfp^c88a+{e7vL0mzrbX>L0C^R)3rPKKNB%chugRI_GSxq9gFEgl(v zYCPE?HD{NyD+Ap%2hNH)%E^+v%FYR*0w;c4 zX=LToJP7}-4a?>4d{6XRHWS+54Ox4SM5 zvS9)rOJ;bpOH~U1$NfjfNUs$loK)Oru`&_=T9?x`gXAv}XZsR_om}l`Z#?f3y*T_pls)c6^$!WOkRTI%@nVhq+t>EAyUR_haBp| zqR{*2_Ua|hQ)|8Dzw!2mJyU^2Mo<~eV>E-oIZH~HlP0Ria?|VoE|74B%&K&Z*} zz9xQFnz8cRD50>0>{)F&z)oR$A{ggpRSc_)x}W+$nUVA92Lc_*=h3Ei+j^~dL(A2N zO$b#;kk37jup?!fx2#7aU3|!scs8z&W4z#L8O8-lnsw~oGfJIbZjpeTJ74)Bv+N<> zaDmsIJH(*TV73`e_k(@B8tCelo;DWESd((cqpB24RcHpws8%U}e|=U>t&hGBhHln+ zDL!utSE=flL-P1n?94Ohv)bopGiEI%EBow#3F!xPB)+%T}s?u zz%biaZ@5mv{$*6@dz{{{r#zKx538cP+Lq1|*=FoKz$#Cq?Xl6#zw9ZK^Ee+{(uZO_ z4ILVaIg9gv*N0QA4Vojx5vt%`^6|hSLWPfvGxj^mgmtGKSVfM>R;(TC+VGuOUO(_Z zt{WRt{elOmqK>-^RXc1F%n$guqtt+?v(P%`Fp1qhR*za~^9WfskvEbh&othfL*n;v zrp&LpzEm-0vkE~ayVy7utmM4kzn7$`R6TF2$!RM0#5`f;Slnh&hl`*dAGSNX5+q`- zrfY9J_h@ajl=P4Mppz^R|alhJi4LJ8)amWuS1q|Svx%pHjR?d zlaB+me+<>za+I|DoE@lFYz^IfHx?bY=f1cw(BIKffY6aCk+(@j@e2T^dwi~7QQswB z6!10wtmJQ`$f*2TxS2xvSG(t)iQ5Ql{hJY(w`>ft)o;)L89XyJRCvB2q;V?vIS_C1 zYR863#+>|@aUL_==|9pUzGj6)ES8XRkW5TA#?uvE51wPh7-zCg?ZX{Dd(CRUmCc^`v({o@3Oo6dLorMY+|(LJ$G>J%)bNq*wvXXt1BA(aL~QtX}!prx%69A z!*tVyARUzq3W!p3<8wmD#=z!o>kpNvcjCrp)0o4-(rF#eG`JdAC$^sL6`}W6Aq(x^|xrO;hK1b4Jx}#rR!OwQ;FZ)gEVR3BHYs>#)WLEO`m}~NEB-4JG^4<5if{%bv(!|9_9w}1KzcbyDyw{k;wKgA{RXy3@KDwk(TeITj#J}!El-NqMd zBVe{%Sh<;&yI;p&A=iQscF_OI=fyRjuLLd?ppGsBJEQv5!v z0{&SNu5A*CTzB?F;VL)p9`Q-5jKt>#NNXDR!M*SKpNK~(UfN3Od1cT0&l1w#hMa<+ z6oGUEfU+_LqDX_>(n2J)_FBB$npa=EL=$GOSX2+D_>t(^J!@i$jjYP_-)d=>eWeZHUHU5+-};O z!(2=+T{d=;&Agp5bu~0*7KwFAiwo-(s-@bq!jkR2-LCMOn(F&s1!v zuvvhG_;Nl9J}AXyGIGv1!_z`$bm&-P8bpi)udweyc| zs)5Yq5jEjau4DbNQq)BJV-MB`%3S-u_xrAQQSj|L zltVH;@JB9M(pb%d(|P}>I|XXd#Gv>H5CowZv!pIMQ%6>cO@H08#u%-2^sn;#(!Hyw zw1#}vFpLMEx?_T)J%f#308~zXHuYa8mYv0*zPL^8HAZc#aZl?0dAe;qTTDWq^@B@f zLj|dDZMV6Mlk}*EAiK_IZbAz0wheu9WBxKu-))5UtimRr&W_5~zedy{#%129HW%o# z%SsIf{ixNz$14uy5(|D;2SQaHs5tSj7&5DyRQknL_{YL#Dk>p|5#oe00k}aq$xm?f z+Or_$)p>s#&{pplcI6SCtAX1bTg9f=WG{EpyY;3X`U2G?wzRVn6RamP~jIu5CCeZ+e`TBWbC;3tNVl+RJ6dQaB)jMRxlA-DxqC+ZcNv*#HbK$nST<`%c+v`N-J-_i4QOEeBs zOpwc^(br?fC7$_2bWaQ}q+9yk7IZJ&Ogvv8GtUO=J1dzrJyZEWc&`I~`7qf)<95U| zi7E72`c#r3LLz9&j=eBuj{H3KSDnwGKe$^a#7(0MwtP$oIS?uxyI>;IkglRn94Gx< z6c2u%r>UQBOOm0&VL{Lagjir+2Sf+ z5jGdQZn%Jq6kaKL&6FH&xvvJ%i~nHPd-Dg;aSTE?bYnjp*}x^;8GSDO#N#+&YI-=& znMc!4StH`(2Efw6F##xtEoh=E34G zRlx>6(4NtO{tK9CV~Fu^<5e?BSSl0}Fbj#n(^38PtSs4CBt6hO36bPLnHfdZiH`^6 z%9xoXU!Ne^K@7hB>DNr-oGq+F(a9rk9gne-V?08UZ*_swh&LO3b+I>dRLC(BDt6?NxM%g6Iqf0o~^8Xv{6`bmrY9A|Ii#MN}{)-cF;yjhG= zB1VMx4*Ou*Eit!*kN&*$lUdO{IIFxG@B1IJAvzSdluo>1U~_wBT+YrA!kRCDRqA3Z zq6d|7MGLzkQmS;&H%!%GrbNlA?rUg41D4)7*xlx4(8x)F!g~mm?*4&;2z<`MO z(C*5e(Ka0i5M-u))X;r!6!qB2K2dDk{y~TW;=SBWk;yZ!AHpl1{>0fv7az>S&9+?Z zyf+iKMH*-Qf%(RV{VzI!YudI(1WB(gB~Or{xJxqmKp%f(+h6VD3!fT^6m`-(o1cn) zRmUs5aMV2ArP=EqsPzH2l0EutimPu&hafeEML^BD=1+11(DNVrSxz2q2U^d56L0u0 z>*%=u7`a=5<05*^%woE@Q zBE|YlETM~50rwSxf0Wl==Ock_YV0AZS0tV6L|4E9sG1tYw<#|NiF8T()QsThn8&`4 zweArxJJFtVl5$)z{uOHho!zS?ItA%xy#}0)^kugf=e%{$zE<N)HCBosKXeHi`=0zFo9z z1zA=0Q$#1ar-oh%dfGeAW^i$y8hcgb_axEYLJz8VXIDFc3Eu69IYk7~Ht73Wh z`2q7eJzsFL4W71e2!7K~8os-@jLYU>w>wl;y5xnRM^Zp=woLp*u;5*34CcJq#hWIQA9CrT^U@G&E zVC}pE*4XdCBNsaJ(Hb2-i+4IKa{9!nhCy$9&_((PUPqdVcQ0W15+`3yZ%>n{ngN;b zl`jK*B$ki8qbOnYoUzhc#4YFTOfG9=Gjay=+Q9>_Jd6g`(6)mc z`TPTD(k55@zD~_P4Y@qAw6=w+vS!QmeLCg%`g7XKFCV|W`M>kcd%8SN^k0Af+nc}r z^~0N=f864Fjp?`YA}8(R!-u?8?_WN2|F8e$$3Eoh=In09YCC@ZY!4B9abv(Fy4_pq zB>T@_^7fVdMB3Z8d63WBW#CMmc2P31FFxA;v>#qQYfrZ>YG2}CH^J{ZqizgDnW5eWvg5{LKyA{n z+$}I^Z%1xeEZ)L(KB5P|3*x+OA$4TLS&W+WZGku$>$4$^ZQsAkgU%oFb4)q?R}~(C z@3Q^y_J4H&P>`8V_=eafCc&QN8V^K}m5xV$n)l#zPQ0;AE*$i~O7z=k+W6<>!YyB<;adV+j@dv}A`T zeWbY6X0(;iuTP;XUZSFyW>3$XB_8>qo{XUBcL1CDkG4~jLtnoiK5ZM;rwvt-(xWQ; z{kzIq(Bcu~kd@M`J;!`|^K$sl*e_onJ{Oy@_rCE5E-?_!%2~at_vQCuK1Iz}r?Ig- z#d|a>&)?>9u{!?sMTM;d!5hCi6=O-2RXO3RUseZ*TA!iojo8vhZg@;n>8MYMN#_H% zg`KuL^&Vf`xeO<*&4oApEIu*XHrV>kapSUxifKoBr^tdiJo6{baHovjHhos(T_iTA5MN_P4Y~sIl!3X_mDL&6O)=;K>7*jOD+b{3u;Vdj$AevEXge4Vh zPhW(zdnYr#ceCex7q5*$^hBmM9^7k7^y-uNAnhc77G%^H?Ap`bx+`w+tSzY_bB4R9 zoYUfG+x@95dF*YyM+bYi9om^O-=DsW$J)--bFhd94+-|?h+<#I4R1?KQ2GLe2NT=ed}8%pN>Af2S`=N2dUF8 z90i2>==elw^i^eIN!? zPF1Ar_#-?UOX{T+4n^@fy#AgZSYBy^lm8NQBg|44oN zDZkrCDx~jo7R3A<9v;l?|8uNew|%A!9C)$i=p!*>WZOyd;1So2J&*HQpNVYOM6|=K zPbg031j3ShFacfP!s-10__KG7Flq$}6k)mxvj$<1UB^MxbjzqS2p z*ToSYi~gZzHlz(X5BXC2BXiKjS->@JT`w0Oyzr!H=?50W-@W)|NM_%qARvo!^ob^?6HpLMErLA%rQBi@&;7#THgnEm{YEO4r8zN5?B4= z>S@!vb|VYu`9oV^Yu^%-vHNXqoWA|RoH_PIF095^KKa4e9y{K9dw=wZgAe_ZYZ6T0V$`%^kH1>oMBq9u&6*DXm?`pK)@E>l3*7=GKMtoBHPM z)OFV;Ir@~fjYP(s-*!BUZG21Cqp_-^)7M~a{YEj}&&~PPCdI*;=`uwTC}rA8ysf+;?+;;`Y3toLVLL>S&^e$ zd|aQ8?jVY+(RBPddgV#muMb#`&-u^M?He3xI91c~C(RQp1I;B}r!RSkYC3|6&gwnN zOENp@nViUFZ(_55b=q|nKJxT!MCI?nrw_BiHUF6t8UELQ3-e~b6b=Q%z;NoEk{LwR=UDaIs6$9ti3s zL-h9rA@HC$4!1T_TIJak(%t!Y=PZ-_yIEK+!x@vYv)67~t`s9sbYxavS~h*kCr-vu*86J6!zn!~ADX<=$L8-*!6Q>vyra zu?IHVeGDL3PPN_oG5Ts#_U35{(fp7x^KHhMd%a=q2$Q#PZ(V2e7h~GTkDsyz@TvEN zj4F>hip&Gxv7gSI9!zjH)qZv^RYH**Q~-*xl`em@+CgxEMs0R~CLa5x*0f(vG!OVL<9}Qnza%Ta zykP9@90f=C>T4eyA*1&6h{_7)n)2K^dFY)RpZQzFLa00Jy@1GWY`~XecHjAP=L_-Y z+Hi_Xkq;P{7nXYL`VF)QHs^95UYZ{-=4Rz1TzKddBh|aT{43XCx5$Heb(SN3=7Qwx zI_2B?QX6WLo|F@ya+h@=gce`DjEb!voLy%go<0XZG)JWNIa^oxX!>x1CSVe6uGHGdBSqNSDBT@SkmbIlMz;V16+ zqhnFB*-biGk#cgES4k->juydt{@SOFd@(m({W8^f z??yq}PV&&c(l0g^KdT42`2t@3XVxAv*57nsv>uF2&e_xFevFyL#h>!Yn!T?!*WPf_ zimxOZ=&os{L)9*c!q7~<0 z<3;6#F0Hk)8YgKh{k4_!MQ?L2c5BbtF3Ay)N_Bmw`QX>4^%YyQrH_9%j?<0irX4=d zSNB$>Az^125z1n_R5F z%jE73qFc0_4;Of#>Uh%_BgDWxU-2QG3-r=b(p1ZiPP+MQGSN%7qWdcD_^FuD*g}6r z2?h;YK&op4_Bud%*|dPK3_*L!4w~uW$M~-9E5$y_bI%7WXN!5=+jML{1H{L@c=U}$ zJx+WvwUw`p=&yZaMy*L#j$`)R_7cf0WB>h0Mn2Oam;mW8-Kg218i7(AS(-CIa}(dT zP7(t&*4K=+Io}S^^veV~1*47r`0kHvuy$g8Vt~ALu-DFMAoET%6ULE4c)V7I92QAV znz6~&Vy#xkH+wtXZ+WQh`z-Lc|4ZKLehW$OvOq(JZ@0LYOs9qQ@4tVa*Nb~XJwA?Z z1K}2|?Om{adGq&QKE3(%*N^=Pw2zWkjQqr+F?4+e{pw6qt}WEHIqrjR zM^=G6RoAZKQy!V-8o!^IX$uX`8;f_`>B1%2v#njs-W#(p3?soB(Z+U`klS%8VCse& zqdlpW4}V3w##HxPSmf8rGBz?W^{Jn=z)!ZMO}dc1_!g_v-v`^o5WZ}^xQa?V7cWWb zUo4QxqxL718L$+*jql^=tIz)Gy!EJkG&T!zF~;0`A&joRZ$BAbS+Lq`RqKN-xR z_bEyK{8GYOQgA#T+J2DlAnBYJTx~>`HYV;n=QwRCq^~v#H<yPut#%%oFIw|AR60)TFKlNek?-wj&hD;l=wcc}HdUy^W8hSRT5B|()%z?Bi&0ymm z8Nm_kyKti~T!j{FA?%zr{Y_LAOJkYgG|hCXh7-1AHa}%(+lJ*QEnoR_dzTpVFlgh7 zyp+NHeSQYz-S>GT&B@aS8{5aeNGNSMDjUA_AIB%jmB&A9Q|F^BlJKhICytgeWQJDe z#VPyxyJHpqu)6i!(qzmA741{q|ODYIY-UOp)jqiewgY3c4od|URNFblsx|1O-J!J zU)YP;_F39o+n@Fs{Mb{@(xOV4Q$BA0+Y<2MPc8%GkzK!pD?H7em|SaQ9M2r?bH;IR z(EBA1>iw2Cl6!m8XN#}_Z7%58H>SN^Yx2mn2(fmjy}5a+Y-u(Yc;f<&*}0o&=6*cO zD*id~W#Q0yKKF5A7%lQ;p3j_xPn=%8Y)5GKfP$@gvAuQEjM6wl_bu(pzxiyR5W3(k zeG1)xR1b9N3nmBh(3oq7r`N#;ZIPu;P+T9%>-;19df3J)JhdybPaTHrkzU8YP%teR z79-@|2SYI^hp%+Cldp|?u9@Aa4!t&zvc^sHbygny-aZ4Xc-ewj<^u;0Tw>|Hhj&u% z>#J!@N9W!p(&h>a3meY_%V!xsgjCMofoY83O@<*iF4Qhk*+JRRagiu4@5&6B=< zVzB*5_&e?#f1tt>p$@Z9eAXuF2Snz49_Ct~amNxEMc~E~`f?l_`fxz{6MaJ0gyKIw zlOK|#*qt(XYd`rpUTlleLstD2i>dVHyApZrGvw#5552jGW_})_ZUBDD4KxodvGskh zlV83l=(p_S*DH&Z`E_6X@E~5lfgf39?@em^NiORW{enyswV!|=9yXkac~ zwnt+j(3|+S#*sSC`pc!WZ`&X%MU+V8o z#X~-Vr0k2|O)q29NsT{)MBL=2#ee*-zrXok`O@A0{^eunJU~fC)p?Ek*EYs08#je(&xEY>1$GH8;V|_Mul;_l+F~}OH^$2*_ zbm#nY-{O((8&e`|{^g@kWiwBFoFuDlBRa$_|7_jEmTz`yaV=ph|kNNg9(Me_WpdZSn7gqT3v)2|24ynB9Brj4PB8p#I$pM)sP_MtoS|XqcF0v`P06P zJ8kFQDi?Zv&xbs$>w&oseo^DkFTGh`=Ma+v{?zYOl)7-vxagS`p`$yA>h}4{lf+m4 zx8=kfUBAKx{fxJE%4_UaWc-l*enMND?LV!RJJS-kK{gx>kj7zoG68986?ZLKIqWgK zbO(B{&JOb{7;D4vVIRbg47gVB-oh7tazh<&)Caj_IC>%=dEF>>7)oj(+8N^Mp*t?k zc4_&D{1TMDTw}%5dLxZbIZ4rCJb9N-At%-B&;Wpv9XZMF=tWiuk+-?NF~0TMYXa8= zp}}7n5fSE%IgyK1K?tZ?-+A)vqLZJ)(PKvw)z&oK;q_Bq>l0#qe9Inl$Q&Mf=M!}_ zi{Y+u)w232nA*`yx{BGJT)F+o@#GEv_-bdcC|kWmzA>qFEsxH)JY$wO8@>l_tXJ&A z)@liR<2hP8=Zt^Jy*RMe3+&gfQYP;p46p0pVQ;;b{wf@uwrq~+y4{!LBB}HI##HBM z!(8kUOhbQuF>=LjuaPqcYcov@qT54Z=E9pR3|o{(I(x)Uapk;y0;yGinMLtSaiiD& z#1Hwrb55kU?eT?B?RXwu?SOx)yIAIp3dx5vJY+WI*!ev!fl^BBQ^a=^XlBFZX?soH`Vjr)X>Z~>dcN;9r~c_p9x(sm&0q62 zy?@ECKD|%>PfzEn*^93)S(B*T@W|hMHDh8PM*Qy2%so@+EpDOChI_j5S?t=Z0E5wd zkN>rc#ldN7Derw_53HHHrk-Ne!M%1}yNyX)kwoLLs84Mr+WDb+^BKaNCeap>>oPRS zcde76mhyRJgz|{TxbpCgKYCsgJuq}{!i95$rFzs;>n>T9gCLaAr=7_&S0|?raclF! zQa=)q?MFS>6`%Q4EMsZgD%~O6y>@bfg1s<+fiAw*Ztn|b>^VUn(J%7kxOA1dykQfs zvsL-{)LFXUoO53FASS~;srMGe6EpQ=6w9}H&cvnm zySMon@W}S12y==8%%|k6v{`?2&3d1G*mwv}VvP;aS&R=~Br9cC|8$~*=lZCpk-zHMqDT|zHuFT8hnG(6{i_%UKH@80UO10zo;jU>tViQ6AM*e)&EXtC|VE;L7 z-u;+uJG*B-x}>qTDvlyi!9{9f?EWj-U`>Cq46qzWg$a)Z;D%!e(nlzkM{05)TG#fR0y&y%ZgWLxvl zmf31XX5CXiqrClKXxZ^>9-EW3KMN7x+QcG1NLP=&vgvBk`I!H1`700KOII%5No}^0 z$b;efME;2C@5V;1?*QZ=1FLV2ssMR$Z~s-m7EssWaMt4{a6mZjQ^w(A!L3}nC|n1Z zUMS}^I0yaRY;}_hXA6V)LRn*cm>{Ir3ID*8>CgY1w#HDLI`aFRW(&B4p)|+h_@pL8nDvuBDHs7Z{1b)&cQjYyBivf+_Zh-Sq)fKnNTK>D? zRaP8D@f?)sGH)|+HCg>$>?FwKUtf5VVf-wZOl7SeN?ud)(caGK(!u_{#SackD%dC7v!cAK8nu@SrPq%2URVjc-0kex_3MQT$bph2BFL3dvBP)t+-0CAyAFmQmu1 zFFuTn)oEnLKgAXX`W(x<_2n&yEl>W{$F8=3#ulD++&T^uCVu}TZ|*>MV~4Md>)I9k z-*@7OmsUv(?`D8kph^~TEg*dNeun8#l<|*PF-ct8$2$Bn) zlOs1%KjuR5*I(bg`Fk#QKExM4q)+-WZ_o1(UG2-oKp>T`?J54}yT$8lg-cA5_g`}J z)`NP#{Q9Zer#!6J8@ZWKeoUF4A&G`8&}YFrdNiihQ>+TUVy^Gi-?5+1fQYZ;xQMmj z#rVgkK{vKV$hNv9<&A+@5`6qtp2&k=Lf-yN-6j9turV{Xv*EJRk1wjRFvF8(GTZn4DgL@IlvgY}kcE#^ez_5vdQ zuAA_OO?xM^HdNM;m$Ko1@fSTzg$>B0*ZSBv%P&lh&0<+wPO4o8+s?@#Xyql!$4=Sz z%*U%uS8y%Pp?1!eyP-*6(lLab*wrm^(1_{XAX%SReJL|u+zB{a;O0ATW>To z#`n_d{y3p$tBV%qqxDr;atP{w`E_M|K61a@)76=h=#XK6oma4Q}iqZ+#nIQf+JBFe?vlg17x-q^`Uz;sNhj zcl;2x;O8rgO|x~RjZx(}Rj&V%_qEuQpS;n`p0=mZqHk>0I9AG8zR&CHI}fR!lt(sK zBEK~J(zYgcgRf&79CxA221cOug71HqgwDZ2BH`Q}vNkn#vo0eMb%%+IHs{Gv&L!WvPW!J=%D0>P7Dz zC)*$A;Uf8BVn6eF8Xo~gveUMxqP7ax5kx!oZ^yRkdPuay$dr^e0w3LOO)ok%#)1^s)B8p1U zbEi39f2`GochzxZ#Gx+z{efeMh{ z^P5)B1@HN|dQu$L#+%q9yQbnxQs>$rTU&?ClRv-IH_3bY4cGj5%k1@O+LAJ9@i`f6 zkhFP;EZgTVc@tjVglWF%CK|fme*LX6+n!jcv|{2odQ&26ibWdS;Me)>UJiZy)E zQW1FM-%a)%`|x?wT}mJ2#g{tM2f*w>3mCQIU-J{FX`F4t+A-Q)JLkr0#@Dv%;8eCg z^k9geJ+Nku**+=qJfMZn8v*f2FiPa&zZ=ZTdh^Rze|)H1y1K4^;6>}aH&RdRpk*uX zls9tcr`g{*a7&;5c*TTv7LkNETQKaJQD3rgL!YhIXH95weyEFSeM~44oRxos-nc<7 z|LT6&_n1T6FLwmb@kJCo{DA-Ft7~<`7cdx)KmERk^R=&Vq)3?y3E<5j_D5*Eo4vvdko29QFOPPGS#DTiGF@nGTL4F*zwz#^5TfK-?<$Pf+ zh2P24R({A^^E^PKN4)LHxaJGaw=W+qF&!+4A?Hm8ckPSJ{0C3U^C$j~iIKcIu||~U z8veD9+L?Y!A6R?C(D}|`|6+eL4_xf?~dU%1LQ zr&yiT=Mi|kFnI@a>HmLxjO`ftkT?M_-)%VZd6nkyTi)@!eqNj9%}-)LJWXHiDEeEz zdU+^8W*&0k9pRIuZ+v3t8bQj*M_<+ly#w{J3~kkV)3B_b@U-~(5jjsOV&>{i7j+UD z=IF*;Sx+6#hI@Ff{nb)hb@{AA`Lx|wE=lq_ce*#1V_V=>bR zD>w1tu=A(%AwT4yzz=EkKgAY$^);P0>yyIkS44gf7LtYK#({Pu6RUTK!0%EAG&K(F zyU9QP?^?m;3iPj>%=9nWdLtjU%=5RNb$lA)UQ@)!#$$bE-$0HpB$cF3gDqzpXOc^Y z{OrHawM9Ic^624EN3|vA<-v!$C9{W<3n4L_GI;l4AGzD*Q_q~ag6o%vfJ6L{yjb9G zIATZ2(mjXw{LvxFa~Oj2fE@seYW6?yH`L20}`XPtT zyRl){SXCO3shRkFKI6Ac7yp50KAZpM9S^{ls=DXn+SXh(+0w{X9pOJQ$8Wbz>K}ci zIt~Ndu8z?a`P!#-<;a>%JAT-elK!QwcC9;v%trf1+7k@y60`LOLB)N15`6q4yNumk zA!;>$p}9A6+ZIy^>aTN!RX}BGbNZ8hVdz}P4m17LK+6N4W4hzP+CWI@+ut8tjFIeu z+s`vT>`dlkJO>%sAqPuZ-8)iG&GB(Tq;7V7{@;;t5 zfqY3XbIk9)^JNfrBwmBZT(n>0h_BiCsN>3}Z9WW3kLkSi(VW6B;QChi-PGl!HJ4QX z)`;lw8_FKm^X9)Ff6O?OKHtMj36o-it7Pgkya{tr9(fvl`j6o6!;Yu2`p~Cu*c5L* zL*`z2b%7MQ^ZsUEuaupZHWWW9;ME@6KTwf;+v`9x5K*?%q94vD>X z=d8!}lHM`JtAmK$Dnricj={wN8#zfeZy&W~v2$cr=M=a7!qLC+vTx^npUp*m^7usm z&|_KQYx|CG$=A-BjXMYW!oIwx*PZS`TVKljBr2b&+}2AF-S5aL?ulsK6_g;Q7a} zXudNQ)4{HepKQzK`2q7GWNg*{j=rCT(HP7r`)}X&n-mx7TGAgC zcjS>XUiGm$DN#P2dgD8d|Kttr%7d(O^{=iydySjABvU<#PxP;NH;zmn980tFVnMGN zjL#nCZxeh^pR8cM5E6)7ih%P&WxU1HudSz{W8; zlKlVKj)1}dB)HDYXF8YCrbtJ-MJ!(PKZSh=j*KH;e%eD9q{xv-4tpmNtt<`y_@XrU zjldSMLR(p|;9l@8sb-)pIJH84W4Y~b`U0*xV2z>|J-M}H^*(s4n zIXvh!sQ4p)_rl>qWZcC_od#MOKFe_@8zm0+gK3z2k}n3UyZX@4wB$%X-)}R>Z_A`< zzM4!Jl3}~L_*DfbQ&u^OH7Cj0pm((VgAMI|l2<#}lWnr_-bBXuAM$AdBpEBY4Tbh# zOx>AaOLrh6!gg=$&X@5Uy(!q>T9y)CohPSys*4TzgSmAO{>p-h4j($V$V3ljF*!KA zC-aKV{%K<~(Pb;<`gWx9ZqiPABbCo6qAy!J#>DhJSA5#{oAkvP-cGLB91)3iI70I9k%jczo;LAcj8DhtW-l4@+dulB z<(st61M|f72fq00o}$gMQxot_?q2xXH^3R&(=5K0KFNsz4*>j}+Iv(Iy8L=yo^Gqr2Nk5At zANdD)1+bV<4Dax#qzvekZ}2r{z>j8$-SWoU_)b5mFU51OV{5<%0d33W<|>%udNmf(?LTUq4$w(XCEer!V9V)t9(x9hY|m@aog;8A0;h!?5~V zIp6rJE3)qeeub--pvNi>@*mGd=IEzM_VRWVEIFT@&wN(5&(kOM;cRsfjP*{auYuIG zAO`37COD>dF>Ovc#hoL58k|cUY+>qJrKZx&5kTSrD19N>MsVlv$j0Y!dD?~;~rzKo&^?Sb)-ZAV@n&6=Sz35{^j)Jl&#L_ zl1#GiPs{WIqVg{uRG~|r_Su`!p|2gOhsV5>_^a~nOLgo`IUIX{nH~CxA)q1jH0e|9Q|~#{tNfV@;ms+?h0_CUwmq2DpIO3^1e5le znw&gB&ql06HrJk4dD&oEtDK*VwvnKSN*g+Aa5e|XpeFnHbQNuI6FNhK^E`Aoe=O*XbW#t%-j zd+cZ#kv^K1%3E1K^Ktv4;b;31BnKypQ*zQXhy}=Md zv3?(-WM}J)QPB%$H!|xhu_14<(l{z`o;!A)^Vxs=Anqdb*5}6e$tpSSI`Zr*?KwV0 zVau!U`t$e+|MItoucCaM+Ly=M-C;;l`j06HPeJx!A!0muS2kVgZ&Ik0uw_1>BPnE3 z^XPOE+Cfn32qsHWPY-L)n>Qgf0m+f6h+K7cj|;SCEvz0iwdLgZJThQ@#AV9X&rKFN zm2ENJ7wllVw&gA)zT0;Yix>Sf;m=t%c+E-sZSIaoqmuus1Yj>-002M$NklVeBBJjCxFJ0vOS#HVs z-QVNa^PBgGh4LI<-FiNLN^WJ9|J+c5uQ$zdo$Dbhc&?8sJL=(N-`ec1DU|tnIC~o! z^B@oCk<&G@qxZ(b_4lp2s48#$tWQs!DZ2^Z)-yKN-#)o=;&XecI1khHx3U{EE8@pt zE%xXN(b2>MO;$TpvPpND4lmKGQK zTYFKT9u6|TM>&C&eLv$;9Rvm|BkNuuH-a`rUS5RMs=`r3;K$(z~jCviF zGKb0Bob-4*(a)LAZGaB@tTLr*6X9zUKl+S;sPM!QVtrS^*vrMK|l$ zGatg{zkd9ad|7b()1+X9)Rj9Qi_s?@tiyKYf6LeML-Z|Oq(|`jqt(r|5&2EW)YVDw zIA1+Z?_yit!S^}5iJ#W!EH!?H-?gJhj%Q%W`a`{C&7kznXF!^1# z&zR$9%k-hXFs*I>;HTI>%N(79y9Y$KyN8i; z11Dc7_V(=`vUu4y0`@_@JggV}9@NuiH4eg;uER+%q+bdSy463KtIr6wo*Ei;kdylK z>J&rfA!zY!4ipT@_r~q}*6nnKjh)q5xC?^l)IsQqEB#(=dKgOEv0GmLBc?ifkPq|b z;sgyr_l}cbzT0vR+qLb`sINQ!JajaPoqPtPI-CzS?&#MeKG-kR);--a_$g)TwJF3~ z-xyXh_ZPZ{?~+5|O~#F$(j7Y-qtzFVt){9f@fC$RxXj<~AK7TjfK=}Kp4+B#+8LBL z_aJi)XKC?9&1e_zv7l;woh}0EgyI8b^GArO!=vqa3Rcp!1k|v$1W!ES$wj-GK@HrcibW)DV*WE zZN`^~$lv{s+~d+wMb`SSJrpz^>sw;a+>DqAc}cBD;F8d+k2F4{FEmDY`9g5JasM{= zbx(LkUwolY4b5NjR=U6a%inTs|0(_S*W9=H?br!3V=KM#dnhaUBF)&*d0z#uj?@=_ z)S!HN;Gx(LPSS9%e155#n}y({>Ymg^>M98cTI zskiTXgDrKKzkU(6G1Uty?&ljtGJLWrYUz?R8cJ5&dMSU3T3`15(4176*iL@S z&Us~B!jwA~r?oG8xW!ge_VsHpaD_7N>DqY?lGSq$>bu_DH77qEndEkh8ommBw{!4{ zZ~anoipTojc~A~N|Ko{%|I+Lo{k46vmxs*UTskar^2Z7Z-S$4&EM}T>d{VIGDIp?4 z!=Ljj+hjm-c4TZ_x>AxK?Btd&r}4|xdGVus_?xcC;xlbnJJ|L4{5VDBIO?NM!){_* zC?deNG3AsfXsKA8o%VbC@aP#pw|cs?U|(z#@!G$J?4_KB@u49rp6q1V3H&JwzphL6lDjM7^MFP(VT79GnQvwT}|=A-l4FpplFl&-wXBk%Azn!x&j zFCH>+#`lvsx?6@${;n^5@g{35Z3lcK0&gl=Z|Db1;z`#G9n7jMqLDGT-N$D?dA=dS6hol1hm_DFnp z^5xy}{L(KEMX9nM??glv0y4FO$|gf*KNKqNetqj{Gx6P(h4vdvDVaUDub|>$zI!sO zy7G(UL8IjQc=}=5_LPZgiOl)X{N;X3o? zKjaZ!+8&gS40euBevbSXzuca#{N!!&QI7IHCfYDWRu>%$dKaMlv>W!DMC@m$rjz`+ z&L=}RD9EQ_jWs?`qikoafv7OP$VQ)hI=gUAfJ#Ur5iLm<7p#1U*Tn=%{y}YrjxHkX zR|hNvsM%K7Kgw!&dX>I#zkp6@3+YeGSv}RY*=A57k6gaj-QV6`Z%;VI{A= zIQ(dfwvE)pdXsjTI_bzh470V$?#FaScy+K6-hC5uGU}U(=VzF=U7ytf25TvXHll-uxTJ=yXFM=d`C!WOvM}*8ZeT{A*v9rEs<9 zEq7eGDUUuby82^neO#<5CRdhkA@kdjR$Fep%6v>piR{Yukg!9KQzZDiNT5I5g2SjR zuA`W3%iHJbV&ky(I=oRx551A!hnF)Pcid7CS)?@uB+O`^X{DRfq)d7Kw9(4U$1V=F z(b2}ko2SGdE}AM9mx~8R`PRnnjljpg?Y{1;Eu%%BE%d^KQ|POI(Wk8Ob_`2VcoF+wKhnJ9 zzx9)5V{vipes&`%HCq-txLOkxNo$jAFu7lKQny38p_Sx>e=D$%}fi`k;@Oiho`+y zjwStrpLy{m12)yUEdkryB*+sJ{6Sso$w57)zSPLm_w5H#UJ82$C*9a{dc2zQ(V*L$ zwGE~>yS%XkOg`Z}$MI@!gtq_D-=v=PH}^VD{LDMz%a(FS4zfSH%3`a&dl+16=m#wV z?&oX2#~l`TT8v z)BGPqhc57YJQ^}k=A-KAkBl~m#Y_g_6wzHo6I(rKdk`DAg)JIx1q~k@QBa&YbSlw_ z>e8N*=G>3k%Elva`BwrNN+Lzy*yGDd-&0q8Rh+kcxHpc@hw5AGFq;ElQ@?KF?-6-O zlbgKGRWgA`d+BuXSU0!qLCbPfAJtDzP6DU;wb^iP%-tS|`OB@hvXCDp8{25U=Q*g~ zYeV`jYYaB{^+T>1`AUCArxZ!;Yntzg)+A+UJGYQgJ=5#-HNDz19JhZ7Ri6455431Q zZbEkH4ympGZ2s zm>zhZ@qi!EwaH13^`V$kes3<5({y%@`R+bYb?uSA2T{Tt+KGwI`bFuf_t<>X^s6Ps z{S06J>Ki>`(jf=q`Ua+}%W=0uSZSfHob3A+4zl~dJ%85kM<+Gw=hVsKs^UPRADh0Y zzFmx6zw}Lt=#qwmDc`;MkQq>i zJ)`(yNnK1oUvw-;89S!q>UqY>bVPmxzv5s7>C*Ou>}VR#@%1#FWmr@HABJu8ComNy zq*O}jkkLa$MWhszhLIxDjD|541nCx#m`F)?!v@mbjGlCi+Q!&eus?79FVA(IH|Jc} zIp_O1-{-!ci(`HMU4|Q|*vghQWtp;(HAVqx^^xk0ckQ^coyZ#wB~Z(TN?BMrobTe4 zQ=aqb1NV>K78Lk@!Vq?~DXNfo+`bocCZ}eSy6#R%$~n7c@)kT5Q*QNM!gRtL(HN}^ z%si!U#e}Thb$-z@p}tY#7Kp*8sqW@!z46qzH@H-GYj`lOJHY1YF(%mG75@XZP~Z$c zId(>TOjjt8&m78~W0m9gUYe-=R$Uh7i<+Xxfol$bWqB#O3N!&G{68-5%`0Ec2qPR- z$^kbySKrQEVj_nmxejj{(SN|zV{?XzRg|p;sS~V9w678FgaM)-C83>e@G2y4owa^6 z>#{Uvk&P}U*cmV9e(e0!?^QV_Cat5{V#|Bus1+Fg&iUAUXHNwhzjP{pKKrbomxy@oas(!Ov67`46M@*qIiAH^$VvS84 z*>Y*!R5mMpK|O3!LQctE#+vc9Hv@faX4M338O505Z!-8S9v|JmszXc(&WTq&>;`9c zOu&%@CH4zOme_b-wqM=OWK53jvc$g}o~YceIHSJ4La^dieyah4DSD8dhGG@K8**p} zds(e-X{1u05wb1ARnTVh>R{Sv>QyF2jicKA96_$WrC=pb$_m6;ag9it=KEHPB)u3^ zP_GVh#Yv2OEI5t{KC6nnUvuc`6B8-su{|7m>@Jp7r`tVORQJPuT&%%T9D2-#+Jo!O zDX)4`7&tWM3V!|zt1o1jk=qCtdmH!lTpT(;@&d?@csf{HTg##6sE+CR_xeiE-JO)$ z^Tq^&{^ZwANB42cl7D$=eTQ7Y3nY06&&h@|7%G*F_?n5&QP zGf%+RNtE6*XlnYy$A5pEb2>(D6BR=VuS!M@;pSrf+lr57saIfw#o9dMl#>Dg)N+KT zRl}2kKh(rL?DlgXAl0N>Nh{G*Y&H+hQj|wNer{4kktGEEF7NsPKR5B25xC+gP56wF zVtpguNwQzS=!$KyZ3c~`&mcdbPnF5@i1`D1F?4is)C=m$`n}fa=CAU*>Cf9`4vdMF zk8D1jzZcJAyR)7ZAr!knMx7di%VX5)z11GVQ$-H; zw4I6fHCTrH$9Y6q0^BAVK~{IIS~wdOxOKcW+KpAn32K<9ttju<5@IAb{~bBX4D`6W zKfozt$B&kuat#^FMIbGU`e{bmowg1maQZy?e8ORoY2yO0TYW~0NvznL`i&8ZqtmLD z)iWur(xg>5?Q0IO#(&%7#Wo+V7ixXSF`jd&96L)*h?r%Xe74oV-Rc8EQFN&jj{R{} z_o;LHq~(g%+$2hKxQ@lctn~1|GpDI;Tnb@^>ChEWT?la}7YVi6ay8*FA@y#2o{ieT zfw05nYYR-7K_gryO|%Ed$q1Xyij+0%`TmG)=%+8MG4Yb}NF#%~+6Mr+0VGni``aF+ zS}1^hcX{cq-!I^pqZ$#;qAZfCi^${CZ3^hw>K%xWg#?isd&iISA*p;L~;9%Qxpzy?;)oC`>t&udi~v z09l>eJY4&83>uLD{xO6<&&R0x>QD+Xq)LY9yy6^4jpJY+|LVB7V_Z1z2PV3h!`d) z%H8rbNtQE4J!+duICN^`5b8@$nxW;{;&Cp;v>Jh1E27=0I2bA`~VASmue>D z&a-}7FLEuyXbu0izGz4F=8Y+$-)gLXy17qsDql*g`R})r5$g@df9Lf?F;7lvSPSxo z_Lot=w1W;4PxK73i_3KyCj2M^(k~@GZ3J&yRu`4+T?#8Z>ya&t_eyx{k#IS}`+0Wz zrYXzolP0b-sEQcDFcOs*K(k zAe?SN%(?_bGM_?cblM|>I!}R^^o*T1^*6CjoD&Mzf zp2{I|*t`z4(!uGNw{Hbz*o=u)6<8bCv?xH2_7h%A%Let5dImML`Anw02x!@C|>m$x*f=B&9G28Zo*tf|iL*!r~H6M+F#*OYS!tr|0gbQN>+ zI7S_3{g&Nl!CsXTUZY0kpKU|bE#_T)AwQKrzl;rA*vH>D?OX!ABu&i1|9cbL{w+|s zSkq>_D>R*&W%x-)UygOScW^8`?9Ok;W*b9R_`l~w^@|S?gQt|O(w!s~YA!O?TswYw z#c)~h^xTiqWN6Mnsm-BC0{1(@q|Ewmva}o1fimB| z+&*0z?W=?v8iQ3tx5R9J83&P`D9!k^8}vmvaF< zQdp5&{CDp{c8MviEvLM9JyCS7D@v!`e=ci6_1i)S@xpxeE(=~({5?DoCm-(r99CCK z4Z0u>ypX-i&XQU0RKdKz5h^ETp~7&9BN~&WT9E_o`Yve0q%?{WymTs}u2o>My4$7W z$&b7)$$AM_4J}o2?c90bHCmLKamF1F!*p!ILb)6~7r%uJiMX1D=KDrzF8B4AJ019C z<8RVQNjd>a1wBW1GIhB`Hu~rphh`B!evqyvWh+0YiBv}RNDr}5#rMY^0t9>wIVoqJ zPcq3^53Rg&{8+Qgw^tZ5HXE3r_Xphw*p6Q!InJ)=@igss%pf7+2jQ|p>byIB7Ojh? zIjh~!R{*B@yL1J2kZg$fYP!}^FT8&N=4IN#Dz_+Zc>YZIRg1H5tx6H?4@oI]-A zEsFjc=n?ly0kCV@9KQOgIhEEpP11xqSyqRgZ<@B)=v$Ff%|>}19b3f&Ktvf2M5!O< zO*i%A-ljbqqDr~DKHYcbx!3#bBh;7raiI~&NCv4L^&0YW%Sk^v)EDIi1@1rCMFolY zth#*=bcEHuRsMvMG@{N}4{+5mIL@3dnaLc1^(r%oQw)v3SLxBl&9gqN+Tz_5efy2` zYpB0Cg}!{|2UFU4iVA)KBw!vxtiqR}2UVOtO7=NJOw)tTB>BfphHQV{Ik6}eMn1$n zv3$jqCkp%;#}A${K6K{wBFnGu8vU^?2Mc>k*Qt=3*0vmhY=bSLfE~XH+@{tQL@Mzp z@a({7WJJ{e%}7fnP~5>-#fyB(0KZGdR&mwok)z z3$^Kf7@6p|fj)LlgP%C%fU-Q>jUKPRli;~l@@1w9%3a=v0zT`Qc?_}h1*Le}`RZhj ze0e!G52Q~&F11;wrbh2ZJG{M}J{K!6q8cX3eC6BHyaX!tRe$W#n4X;>v9H&KmIJBv zcvLHtZuEGgSp76j)VG=YhAI3BydkOsrpx7J&gWU0LYix600~e=2bXGQlf2CSXbIQ6 zxpKk_K>Wz36K)GnYxY=HKVLry zB#p=1ZaYe|yiM%wO5FwLgYHGW3jIqJ4+u{ zZB@vk9Wtvq%+fDNy|K7uI?Gbo6Vzk9x54!44lg2^`*Uqg{mLbcz*JpO4DkX zpZ;B4Ii<`l@w!EnD`r>cfu@p>)}?F{VGC69^BPn00P(lfFgNf|4ul~bG-vVIxcI+6 zb?payTJXJSf7O%OHvG#6u83Vun#_;c0vn}=Sfs*!mBw(35;HmB^JT|9}&t^3X3jthh`tj2hd-ODaqUT&ikQGgm zv3}(I&_Z)z%#HI3VREplP$dTIQ%|e7BoS!-oA13Ounq*HsRFYEI?GX``^W)`&!%%@ z>(UCaVdwMQADuJboasExj$szsaLFaS{*uZZZ@iS87LpiW6a-G zshN{oI*XkBF=Aue$!qFBTifM==XlD|#S(fAGxGis2?x(0&VM_u#Sht2tkL9ff)6>o znS1Wlud}VkxK*np)N#t|*^B3Jn~Dn-oN+0VKb`A2S>uqSq)DUzBR`(8G042PFiuP`cow1+j5-)4rtA@I5MRU8|M)TDTgq~DRT{?Ya z2l}}Y2wVaxG0H~uT1&G{Z=S|UIT9`SX775MxUM3k5^Nx^hz`LwF|_Rk@+%4;vzEnC zrS1mugpWjkS{RKI{4!GURs|)6>W_ zhJ9ExYWe;i1@}6K<+_!*TMAEnUwbs1J!BQ>9f|nfrg;*~|E?Z@q}Wcu4}+@5Ch0j? zu9S^V3%jJ)+n2^%wRE%2$`u*;EA?Mb&zY>O7av=1VT(~2@yUx{Bui^KE%Wv-Ap4=WU>cXRPjLWuo6_pSO6XHG^C6aGXZmK(r z15gj{@7wN9ic7Ob9%|Yb@Y_{}4{1v(@?@5nKF)eA0$4)XF2vib`X#au`CE7LVi&N9 z%^gBRc&aIPIj$D|ZoMPS(4zLmR_&dUx3Za@hIeKY>1$m+9^k{$z0RJym&=l(H#-|a z_e_Tv`&Jd3vG=jRlg@LGtzv`2Lp0Mto?uoaaD5Adc` zoc+MVB%k3#Z2qGMy%-hEo*R{DxchxrKcQ0n*-4m{pP`WI%KN&Ot~$TCGk^9|RHGJ7 zV6~`j6ai#MXm7TVV&GhI0U)qhf4VreR>{A2%Egh*vP3Z`m7A0w%(Y&#pbV)m#%z4M z=WvW17pK=c^&FYge89%BfqS1ID39Blx#o+B*v<<{(jGk0J>$A3=#|!Q>2Nb1ib$9k zx(UwcjZ35L0EGaVLppuU1#!0x3_)MoJlj6bY~}O6#9Z^zJDI<58?9W zTS?{LK;MP$a*KX0)S^)HuGwovUE)0V5ighK3Bn7e3Tr z43aW%ec;Y(Jt5`3$O!Ml963phla9S!Q^qH=)9>e;7`j5sm7PRX{@D(H5US;qo&zVw z<7Blia`h!#(d@Z8XQ|zEgCd0Vx}%qAI6UiJAMx-dHBq6lI?ozEhP#4aUlhO^E#}^@9<9k@*psekIFSesGuYp`bbN3Yo154 z&jf2>-i*DOPJcK%@kn;irfbjQq16kolN&`nugQ1y<6((vK~L2g=Jxg7+?5@YX~B#f zLSrW8@z)BD_q?bTrKc!&;)a?_{sJf9D9sXzl>wbSZ%dwqs<8<6InFWhBx#NEZ*R3# zPVF<9bt`+yG9Ll1dhS}=RAlCKXPpz@E5+ET(%0xU6t`Zsfg$ZLf15RTmskR)ZZJYI zno7-gRE0F>0s_5lpA#f+-7Og=xC-779Hse3NDX%{Ku00 z&536f@MrrY59lQE>*ri2c&bNlajbM&{}pHbx_&vh^04lj`;#jA@%C0{Yn;3e6c}tJ zCJ}0O&!)s)+=b~EeJssLZ64H8{FCZ5(R@#-25Vdz`MW;>rbof`>U0hR9{H1E0bpR9 zlOv{5r7l^F%BI;y0^EGY@JO=-Gw|=Pi0sSSZ2j0FWnTQi7}U9xR-jh2)%R#XwqT}< z%S^IsZfo>=z(qdi!qtjESp4<{FA(GY=(1hpZ+|z2_jvMKWG4rqt;3+|r7Y+7)U2I; zhlfQYr?TeIDv46ucK8nw(m!#g*}{2P$d;Me?^!HWY`ARKf2(slv72fec?+XCY5ruA zt?kL$WB1#NkI8Dvc;h4Pi2c`E-F>yl4{{>BBK^bd3JQa-9D5Y#_RV44y;-eKQ7`DP zSj2JkFO^ew?6(|wO&$$2F6K#?ue=wN`0dhHl#^}Ny7Gd%6wJB`D7E^M?Yu#v@cw%T zF2Zi7TR&XoGq{^Gr~4#)tQJ2zT8Xg~YF>tweBas9rFB}=ElxK4g;4QPDYcx0LJKTP z!Yau8U#eMEef$7#y=uEbbEHq|{J|rVpqP!XPJ7Y@e^78`o1Z6elA)l~n~Tv7n;$!S zL2v8A%UQ^n53Tl_h1^*%<-x(-3ff-EpgD5j!Mga5zQ~gE=P~?*`(XOY&~3jC^9^2_ zaUwN@+{3F%%$9VW-&0N%3uoDNRt?veUiJh1k%JenF3m)0@mfw2AEV3>KTk%T#cVWp7XLH$i(d}OP zTPl|hs3iOTSf6(bH`B~FixV8_OVqV9BV|G$c_u{H9KYNx0m_eT&1p5t3f!9VQsJA9 z@bYvzQY|@ZYxWJkS!kv#k{q8ygRfe}g}H#Pn@h90_8b1ty{zFFS=@o`yk3YBf*IX) z{mA3Fo|pT;|4gZ|-v{e+*xutkVEZgt1@-8qHTF(6MrhJ*`ZZ~I_q+^VVqaw4Ht5dNz)gvd38?yex#i8MZ)?7X zMy>L(9COMVUIo8 z0w{OA;-jOwLvYlgn9uiCrb07RtJY+u5GSt@+Oe2(xRctd?tc(>!YR9)YW*@KpKck^HJFk6+0HPo-bEt|4MM_yesUpnNc&gYIrV5Rpase5~a zT3k+jZn!ceOW9oDs;TAWC(UfMr%G(YmmBJwMX#RD>%>zuTg42R_ez@|KcGrZ2Gt~w zyx7$;e|Vi1oWGuPv0zUoQ1Xu)Dy|WKjd;~;A5Amv^CFwqmJj@IOdV5 zv_KRVKjK6$$d=k*eQ!S;`;%+v3V%#7B&__oNc2-D1b#Sd1pFe&V|)|7+(h#)`L9b1 zY;25c2eWky%_AJC}3Wp^ZnF)_LQ);d49eee8{d!ZrH%FIl6?6 zf~%v|$vEsswq%K|_IpQLT7Wr6NX1J#BV^&QZy>)rX?Psu33Y`u_e<<&C`*-fxKzzai%$9{^z%%dke~hVo#35F zu|d6_e&`qO1g`;;xkv{JVAE#RC+d*%za#fgCtY%ryUW7*=&-G(i5KcF{KlhtAB1a< zGKsL>6B%gp>pTI0Xy}J0afLJ-xvAdB9|24A(K4NXY6q2()?E<+d|Q z*!!hrSmCYQKg;l5M1*jw#G))(-=lvjPg+#$UNARtGf%x3>raS8&+E%G zpw6D4Ln%ik;`FpvEAp(d<7CJt>rb8)71m8< zOF0VbiK`{UGiZsVEu$>&VSlOH={7Sd#|r@kS^YO{1ALE%Q!+)iHvlker2}r*cO<6% z$eeGsYprB~v>sQ2MXq(6PzeI)T$JksM(%7Q)>LZm{+#tt>kj}lpw~^XD&3}6(b;bI z?QO)T?^!t!P5kUW{Q3%8ujVv$!V?!a+v9TF6YB=ezSRr&$uq7)akhzFJ{TKaxQV-+ z6O6K@V3QV{ft67XrU7ZlLH4bB=YHI5-vx5&FIhn4P%E=rii`MI$rNTcFwGURfb`@Tj)wL z!F{u;CK2__(wLvv4VFY&m-IlM5za6iA-D^L)=1;#6tA?-o2#pv=)PO`+;QI4l zVBMDO_2wM=|8xnqyV-9&?nn$TL4EAxZO~0@nO=Xq2BH^d=_}9!w(8(3(lgIfJlB_6 zFmomU_yr<*if6#!qn0&V2s>)Y27NoAH-3HkUB=+zXwS>+@~vdr$@7 zf8V_`YI5Vb8$FSOXm_C&P8s5vLPnaD zUl`YU>+irp|TkyHKIY~SB~Z}y>g*hzj{*LWqOqx5dB z1G3&F^JG$J>B(~Q$gCwfLk^;H=|h5kOx8%C&3yUEyEypacANQW$-tR{cZ>M)h1_0W z*~!ag@1phSQFcMeWno*vToFVwQI_dh!Pf z@X@g#qinMNX-=iNA>C2z{huaM3MTc|@~U}2o~A8C8LgNqX9qRyN8&1$MozZpcyVv0 zxP^rC&G4l`+v#`D{%8ar+99N=N^;&~Id-+!#X%2zX|(dWtwa;#dbA~=U`F!N_{9YG zmqEfK>5P65d3YV0(A+$|PmG1hp|v0*>&KST(oTYh3_V=|~@cY1NZA zxfq74OC4vZwNjrT2d>tpW*^)%KAF3eSA8k-irYz2W|LpUm+aTA@;gJ?-IB)x9q9s= zJ5#kcPHs)-_Uqh7qKmTsD<{c@cIvm#X9OG*GkG}Y*4>$x9yCJXAKx3QAFmtAASm`IUOy5 za5~=~ltsQon&qhdP;z>39cu%?m(qwH*0f*z1t26!k))Xcs(#b@v7|m#6csyj_aTsr zv+Y{|^^H3BX+7?9Y;^MBRXAV>jtcW*X$ypVGndRARmolMslU`VrtoOfp8HLH&C_8M zcE5$2DOdoK_e!Yi&z+6A+1p)uN@cC-j!$qO)?NKR5{OR63kh1PKb~#n;j`NGI4U#s#PDu7hOz6VdS4fSFX;Xe zfl@hXyXuZkTkIa5Q_Q>B+wynro9jBDS>R9gcj;GhUjOm?%%*mqTh%Sm1lkCAk!LBD z0=%L6qI8m;o^yJiB0noAQs_|)cBn{73{OBTbcK}O3<&o zBG+vd<#`LtS>k?=@yFTreB)=n$HTb!ofg* zuD0X$gaXyy-wYFKd7fyDth1Kyl%Ul!wHOO8rcy;z*QY4uGsod0gB%K!x>$4&J>#rx z1TFg|Oq~q5Z!BkfD0r{n2wO%EMhUtz7Y%(n=YWT%n}0x9PJ{LDLOb$LgNom&=EkoS z43%EfxPGjs4nI{Xo_Y?Ch%=ioy$Wkqp|`Xl*Y+clHaM=>*MTQBy4n18;UU1!g5YABZ6f*Xy9kNR>Xk+(ZD z>G&+}?@p~Zcp+sojtiY^g6;?D==ilUAn&J)vEoxFL7J;$XI=GW{>lIyRGu$pV|9nH_Tdz(XDIaUI$*?N|}YC zz1G(xnDioN*?bb}A2$zoLHxUT5NhcVBhG-Ga4!U5m^hOv5EEK?wA@;A+e@qn`Bl9u zzMzb3y2&)w>M-5<^|Rbd|B7gQ*&TP^f$s_8%zH~%9O;w%hCVs9uF*9iwYH98G8_^L zHqN zx8|p6SnK{{M?-V?&fqdpU>M~_8E#UQjWA!(|ow62v zUB_BCRHeV%d_rk~4Wq;~ZdTCm@9NC*iBgtfNz(E!z1cml@WA~c(?PPrLID0*CXSnC zkmdda~0&rvb=u7U~-}vW$WkRq4S4;&dlVeOlTO z14TnHr0nf8ONNIsA%Fhou%l?Gxd36CSyVB{vFWmjPIlIN@10YpqHpk+1tZiUCv;x#bD=?eX&52 zFFGb#^^&MFC$0yp%P}&;v9O^91|Hf^dmC#oxa{0T7hZSW#IU!8MwvLPs~}plTpBY@ z^ml&#a(;T#H1ap0TMRUz!%vhTa5L0$6v^&#aO&&9;yI`>)jXcDCHJp%xm^&JK?IBZQTzN>0-D!216S4*!$U{QukCJZZec&q2<4a}H!l z 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

(y&YvNXzM)Ax=a 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Ðn-&-s~0~~rhHKE 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�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 z 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