This is a step for me to better understand d3 polyhedral plugin. (the inspiring code is Jason Davies's Airocean world map)
Last active
May 10, 2022 12:50
-
-
Save espinielli/5676160 to your computer and use it in GitHub Desktop.
Flattened icosahedron world map.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(function() { | |
var ε = 1e-4, | |
π = Math.PI, | |
radians = π / 180, | |
degrees = 180 / π; | |
// Creates a polyhedral projection. | |
// * root: a spanning tree of polygon faces. Nodes are automatically | |
// augmented with a transform matrix. | |
// * face: a function that returns the appropriate node for a given {λ, φ} | |
// point (radians). | |
// * r: rotation angle for final polyhedron net. Defaults to -π / 6 (for | |
// butterflies). | |
d3.geo.polyhedron = function(root, face, r) { | |
r = r == null ? -π / 6 : r; // TODO automate | |
var mesh = []; | |
recurse(root, {transform: [ | |
Math.cos(r), Math.sin(r), 0, | |
-Math.sin(r), Math.cos(r), 0 | |
]}); | |
function recurse(node, parent) { | |
node.edges = faceEdges(node.face); | |
if (parent) { | |
// Find shared edge. | |
if (parent.face) { | |
var shared = node.shared = sharedEdge(node.face, parent.face), | |
m = matrix(shared.map(parent.project), shared.map(node.project)), | |
ring = node.face.slice(); | |
ring.push(ring[0]); | |
var centroid = d3.geo.centroid({type: "Polygon", coordinates: [ring]}); | |
mesh.push(shared.map(function(d) { return d3.geo.interpolate(d, centroid)(ε); })); | |
node.transform = parent.transform ? multiply(parent.transform, m) : m; | |
// Replace shared edge in parent edges array. | |
var edges = parent.edges; | |
for (var i = 0, n = edges.length; i < n; ++i) { | |
if (pointEqual(shared[0], edges[i][1]) && pointEqual(shared[1], edges[i][0])) edges[i] = node; | |
if (pointEqual(shared[0], edges[i][0]) && pointEqual(shared[1], edges[i][1])) edges[i] = node; | |
} | |
var edges = node.edges; | |
for (var i = 0, n = edges.length; i < n; ++i) { | |
if (pointEqual(shared[0], edges[i][0]) && pointEqual(shared[1], edges[i][1])) edges[i] = parent; | |
if (pointEqual(shared[0], edges[i][1]) && pointEqual(shared[1], edges[i][0])) edges[i] = parent; | |
} | |
} else { | |
node.transform = parent.transform; | |
} | |
} | |
if (node.children) { | |
node.children.forEach(function(child) { | |
recurse(child, node); | |
}); | |
} | |
return node; | |
} | |
function forward(λ, φ) { | |
var node = face(λ, φ), | |
point = node.project([λ * degrees, φ * degrees]), | |
t; | |
if (t = node.transform) { | |
return [ | |
t[0] * point[0] + t[1] * point[1] + t[2], | |
-(t[3] * point[0] + t[4] * point[1] + t[5]) | |
]; | |
} | |
point[1] = -point[1]; | |
return point; | |
} | |
// Naive inverse! A faster solution would use bounding boxes, or even a | |
// polygonal quadtree. | |
if (hasInverse(root)) forward.invert = function(x, y) { | |
var coordinates = faceInvert(root, [x, -y]); | |
return coordinates && (coordinates[0] *= radians, coordinates[1] *= radians, coordinates); | |
}; | |
function faceInvert(node, coordinates) { | |
var invert = node.project.invert, | |
t = node.transform, | |
point = coordinates; | |
if (t) { | |
t = inverseTransform(t); | |
point = [ | |
t[0] * point[0] + t[1] * point[1] + t[2], | |
(t[3] * point[0] + t[4] * point[1] + t[5]) | |
]; | |
} | |
if (invert && node === faceDegrees(p = invert(point))) return p; | |
var p, | |
children = node.children; | |
for (var i = 0, n = children && children.length; i < n; ++i) { | |
if (p = faceInvert(children[i], coordinates)) return p; | |
} | |
} | |
function faceDegrees(coordinates) { | |
return face(coordinates[0] * radians, coordinates[1] * radians); | |
} | |
var clipPolygon = []; | |
outline({point: function(λ, φ) { clipPolygon.push([λ, φ]); }}, root); | |
clipPolygon.push(clipPolygon[0]); | |
var projection = d3.geo.projection(forward).clipPolygon([clipPolygon]); | |
projection.mesh = mesh; | |
return projection; | |
}; | |
d3.geo.polyhedron.butterfly = function(faceProjection) { | |
faceProjection = faceProjection || function(face) { | |
var centroid = d3.geo.centroid({type: "MultiPoint", coordinates: face}); | |
return d3.geo.gnomonic().scale(1).translate([0, 0]).rotate([-centroid[0], -centroid[1]]); | |
}; | |
var faces = d3.geo.polyhedron.octahedron.map(function(face) { | |
return {face: face, project: faceProjection(face)}; | |
}); | |
[-1, 0, 0, 1, 0, 1, 4, 5].forEach(function(d, i) { | |
var node = faces[d]; | |
node && (node.children || (node.children = [])).push(faces[i]); | |
}); | |
return d3.geo.polyhedron(faces[0], function(λ, φ) { | |
return faces[ | |
λ < -π / 2 ? φ < 0 ? 6 : 4 | |
: λ < 0 ? φ < 0 ? 2 : 0 | |
: λ < π / 2 ? φ < 0 ? 3 : 1 | |
: φ < 0 ? 7 : 5]; | |
}); | |
}; | |
d3.geo.polyhedron.waterman = function(faceProjection) { | |
faceProjection = faceProjection || function(face) { | |
var centroid = face.length === 6 ? d3.geo.centroid({type: "MultiPoint", coordinates: face}) : face[0]; | |
return d3.geo.gnomonic().scale(1).translate([0, 0]).rotate([-centroid[0], -centroid[1]]); | |
}; | |
var octahedron = d3.geo.polyhedron.octahedron; | |
var w5 = octahedron.map(function(face) { | |
var xyz = face.map(cartesian), | |
n = xyz.length, | |
a = xyz[n - 1], | |
b, | |
hexagon = []; | |
for (var i = 0; i < n; ++i) { | |
b = xyz[i]; | |
hexagon.push(spherical([ | |
a[0] * 0.9486832980505138 + b[0] * 0.31622776601683794, | |
a[1] * 0.9486832980505138 + b[1] * 0.31622776601683794, | |
a[2] * 0.9486832980505138 + b[2] * 0.31622776601683794 | |
]), spherical([ | |
b[0] * 0.9486832980505138 + a[0] * 0.31622776601683794, | |
b[1] * 0.9486832980505138 + a[1] * 0.31622776601683794, | |
b[2] * 0.9486832980505138 + a[2] * 0.31622776601683794 | |
])); | |
a = b; | |
} | |
return hexagon; | |
}); | |
var cornerNormals = []; | |
var parents = [-1, 0, 0, 1, 0, 1, 4, 5]; | |
w5.forEach(function(hexagon, j) { | |
var face = octahedron[j], | |
n = face.length, | |
normals = cornerNormals[j] = []; | |
for (var i = 0; i < n; ++i) { | |
w5.push([ | |
face[i], | |
hexagon[(i * 2 + 2) % (2 * n)], | |
hexagon[(i * 2 + 1) % (2 * n)] | |
]); | |
parents.push(j); | |
normals.push(cross( | |
cartesian(hexagon[(i * 2 + 2) % (2 * n)]), | |
cartesian(hexagon[(i * 2 + 1) % (2 * n)]) | |
)); | |
} | |
}); | |
var faces = w5.map(function(face) { | |
return { | |
project: faceProjection(face), | |
face: face | |
}; | |
}); | |
parents.forEach(function(d, i) { | |
var parent = faces[d]; | |
parent && (parent.children || (parent.children = [])).push(faces[i]); | |
}); | |
return d3.geo.polyhedron(faces[0], face).center([0, 45]); | |
function face(λ, φ) { | |
var cosφ = Math.cos(φ), | |
p = [cosφ * Math.cos(λ), cosφ * Math.sin(λ), Math.sin(φ)]; | |
var hexagon = λ < -π / 2 ? φ < 0 ? 6 : 4 | |
: λ < 0 ? φ < 0 ? 2 : 0 | |
: λ < π / 2 ? φ < 0 ? 3 : 1 | |
: φ < 0 ? 7 : 5; | |
var n = cornerNormals[hexagon]; | |
return faces[ | |
dot(n[0], p) < 0 ? 8 + 3 * hexagon | |
: dot(n[1], p) < 0 ? 8 + 3 * hexagon + 1 | |
: dot(n[2], p) < 0 ? 8 + 3 * hexagon + 2 | |
: hexagon]; | |
} | |
}; | |
function outline(stream, node, parent) { | |
var point, | |
edges = node.edges, | |
n = edges.length, | |
edge, | |
notPoles = node.face.filter(function(d) { return Math.abs(Math.abs(d[1]) - 90) > ε; }), | |
inside = false, | |
j = -1, | |
ring = node.face.slice(); | |
ring.push(ring[0]); | |
var centroid = node.centroid || d3.geo.centroid({type: "Polygon", coordinates: [ring]}); | |
// First find the shared edge… | |
if (parent) while (++j < n) { | |
if (edges[j] === parent) break; | |
} | |
++j; | |
for (var i = 0; i < n; ++i) { | |
edge = edges[(i + j) % n]; | |
if (Array.isArray(edge)) { | |
if (!inside) { | |
stream.point((point = d3.geo.interpolate(edge[0], centroid)(ε))[0], point[1]); | |
inside = true; | |
} | |
stream.point((point = d3.geo.interpolate(edge[1], centroid)(ε))[0], point[1]); | |
} else { | |
inside = false; | |
if (edge !== parent) outline(stream, edge, node); | |
} | |
} | |
} | |
// TODO generate on-the-fly to avoid external modification. | |
var octahedron = [ | |
[0, 90], | |
[-90, 0], [0, 0], [90, 0], [180, 0], | |
[0, -90] | |
]; | |
d3.geo.polyhedron.octahedron = [ | |
[0, 2, 1], | |
[0, 3, 2], | |
[5, 1, 2], | |
[5, 2, 3], | |
[0, 1, 4], | |
[0, 4, 3], | |
[5, 4, 1], | |
[5, 3, 4] | |
].map(function(face) { | |
return face.map(function(i) { | |
return octahedron[i]; | |
}); | |
}); | |
var φ1 = Math.atan(Math.SQRT1_2) * degrees; | |
var cube = [ | |
[0, φ1], [90, φ1], [180, φ1], [-90, φ1], | |
[0, -φ1], [90, -φ1], [180, -φ1], [-90, -φ1] | |
]; | |
d3.geo.polyhedron.cube = [ | |
[0, 3, 2, 1], // N | |
[0, 1, 5, 4], | |
[1, 2, 6, 5], | |
[2, 3, 7, 6], | |
[3, 0, 4, 7], | |
[4, 5, 6, 7] // S | |
].map(function(face) { | |
return face.map(function(i) { | |
return cube[i]; | |
}); | |
}); | |
// Finds a shared edge given two clockwise polygons. | |
function sharedEdge(a, b) { | |
var x, y, n = a.length, found = null; | |
for (var i = 0; i < n; ++i) { | |
x = a[i]; | |
for (var j = b.length; --j >= 0;) { | |
y = b[j]; | |
if (x[0] === y[0] && x[1] === y[1]) { | |
if (found) return [found, x]; | |
found = x; | |
} | |
} | |
} | |
} | |
// Note: 6-element arrays are used to denote the 3x3 affine transform matrix: | |
// [a, b, c, | |
// d, e, f, | |
// 0, 0, 1] - this redundant row is left out. | |
// Transform matrix for [a0, a1] -> [b0, b1]. | |
function matrix(a, b) { | |
var u = subtract(a[1], a[0]), | |
v = subtract(b[1], b[0]), | |
φ = angle(u, v), | |
s = length(u) / length(v); | |
return multiply([ | |
1, 0, a[0][0], | |
0, 1, a[0][1] | |
], multiply([ | |
s, 0, 0, | |
0, s, 0 | |
], multiply([ | |
Math.cos(φ), Math.sin(φ), 0, | |
-Math.sin(φ), Math.cos(φ), 0 | |
], [ | |
1, 0, -b[0][0], | |
0, 1, -b[0][1] | |
]))); | |
} | |
// Inverts a transform matrix. | |
function inverseTransform(m) { | |
var k = 1 / (m[0] * m[4] - m[1] * m[3]); | |
return [ | |
k * m[4], -k * m[1], k * (m[1] * m[5] - m[2] * m[4]), | |
-k * m[3], k * m[0], k * (m[2] * m[3] - m[0] * m[5]) | |
]; | |
} | |
// Multiplies two 3x2 matrices. | |
function multiply(a, b) { | |
return [ | |
a[0] * b[0] + a[1] * b[3], | |
a[0] * b[1] + a[1] * b[4], | |
a[0] * b[2] + a[1] * b[5] + a[2], | |
a[3] * b[0] + a[4] * b[3], | |
a[3] * b[1] + a[4] * b[4], | |
a[3] * b[2] + a[4] * b[5] + a[5] | |
]; | |
} | |
// Subtracts 2D vectors. | |
function subtract(a, b) { | |
return [a[0] - b[0], a[1] - b[1]]; | |
} | |
// Magnitude of a 2D vector. | |
function length(v) { | |
return Math.sqrt(v[0] * v[0] + v[1] * v[1]); | |
} | |
// Angle between two 2D vectors. | |
function angle(a, b) { | |
return Math.atan2(a[0] * b[1] - a[1] * b[0], a[0] * b[0] + a[1] * b[1]); | |
} | |
function dot(a, b) { | |
for (var i = 0, n = a.length, s = 0; i < n; ++i) s += a[i] * b[i]; | |
return s; | |
} | |
function cross(a, b) { | |
return [ | |
a[1] * b[2] - a[2] * b[1], | |
a[2] * b[0] - a[0] * b[2], | |
a[0] * b[1] - a[1] * b[0] | |
]; | |
} | |
// Converts 3D Cartesian to spherical coordinates (degrees). | |
function spherical(cartesian) { | |
return [ | |
Math.atan2(cartesian[1], cartesian[0]) * degrees, | |
Math.asin(Math.max(-1, Math.min(1, cartesian[2]))) * degrees | |
]; | |
} | |
// Converts spherical coordinates (degrees) to 3D Cartesian. | |
function cartesian(coordinates) { | |
var λ = coordinates[0] * radians, | |
φ = coordinates[1] * radians, | |
cosφ = Math.cos(φ); | |
return [ | |
cosφ * Math.cos(λ), | |
cosφ * Math.sin(λ), | |
Math.sin(φ) | |
]; | |
} | |
// Tests equality of two spherical points. | |
function pointEqual(a, b) { | |
return a && b && a[0] === b[0] && a[1] === b[1]; | |
} | |
// Converts an array of n face vertices to an array of n + 1 edges. | |
function faceEdges(face) { | |
var n = face.length, | |
edges = []; | |
for (var a = face[n - 1], i = 0; i < n; ++i) edges.push([a, a = face[i]]); | |
return edges; | |
} | |
function hasInverse(node) { | |
return node.project.invert || node.children && node.children.some(hasInverse); | |
} | |
})(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(function(){function t(t){return t?t/Math.sin(t):1}function a(t){return t>0?1:0>t?-1:0}function n(t){return t>1?$a/2:-1>t?-$a/2:Math.asin(t)}function r(t){return t>1?0:-1>t?$a:Math.acos(t)}function h(t){return t>0?Math.sqrt(t):0}function e(t){function a(t,a){var n=Math.cos(t),r=Math.cos(a),e=Math.sin(a),o=r*n,i=-((1-o?Math.log(.5*(1+o))/(1-o):-.5)+h/(1+o));return[i*r*Math.sin(t),i*e]}var r=Math.tan(.5*t),h=2*Math.log(Math.cos(.5*t))/(r*r);return a.invert=function(a,r){var e,o=Math.sqrt(a*a+r*r),i=t*-.5,M=50;if(!o)return[0,0];do{var u=.5*i,s=Math.cos(u),c=Math.sin(u),f=Math.tan(u),v=Math.log(1/s);i-=e=(2/f*v-h*f-o)/(-v/(c*c)+1-h/(2*s*s))}while(Math.abs(e)>Ya&&--M>0);var l=Math.sin(i);return[Math.atan2(a*l,o*Math.cos(i)),n(r*l/o)]},a}function o(){var t=$a/2,a=hn(e),n=a(t);return n.radius=function(n){return arguments.length?a(t=n*$a/180):180*(t/$a)},n}function i(a,n){var h=Math.cos(n),e=t(r(h*Math.cos(a/=2)));return[2*h*Math.sin(a)*e,Math.sin(n)*e]}function M(t){function a(t,a){var h=Math.cos(a),e=Math.cos(t/=2);return[(1+h)*Math.sin(t),o+Math.sin(a)*r-(1+h)*n*e]}var n=Math.sin(t),r=Math.cos(t),h=t>0?1:-1,e=Math.tan(h*t),o=(1+n-r)/2;return a.invert=function(t,a){var i=0,M=0,u=50;do{var s=Math.cos(i),c=Math.sin(i),f=Math.cos(M),v=Math.sin(M),l=1+f,g=l*c-t,d=o+v*r-l*n*s-a,b=.5*l*s,q=-c*v,w=.5*n*l*c,m=r*f+n*s*v,p=q*w-m*b,S=.5*(d*q-g*m)/p,Q=(g*w-d*b)/p;i-=S,M-=Q}while((Math.abs(S)>Ya||Math.abs(Q)>Ya)&&--u>0);return h*M>-Math.atan2(Math.cos(i),e)-.001?[2*i,M]:null},a}function u(){function t(t){for(var a=[],h=n*(1-1e-6),e=n*(90-1e-6),o=-180*n;180>n*o;o+=e)a.push([o,e]);for(o-=e;n*(o-=h)>-180;)a.push([o,n*-Math.atan2(Math.cos(o*an/2),r)*nn]);return a.push(a[0]),t.clipPolygon([a])}var a=$a/9,n=a>0?1:-1,r=Math.tan(n*a),h=hn(M),e=h(a);return e.parallel=function(e){return arguments.length?(r=Math.tan((n=(a=e*$a/180)>0?1:-1)*a),t(h(a))):180*(a/$a)},t(e)}function s(t){return t=Math.exp(2*t),(t-1)/(t+1)}function c(t){return.5*(Math.exp(t)-Math.exp(-t))}function f(t){return.5*(Math.exp(t)+Math.exp(-t))}function v(t){return Math.log(t+h(t*t+1))}function l(t){return Math.log(t+h(t*t-1))}function g(t,a){var n=Math.tan(a/2),r=h(1-n*n),e=1+r*Math.cos(t/=2),o=Math.sin(t)*r/e,i=n/e,M=o*o,u=i*i;return[4/3*o*(3+M-3*u),4/3*i*(3+3*M-u)]}function d(t,n){var r=Math.abs(n);return $a/4>r?[t,Math.log(Math.tan($a/4+n/2))]:[t*Math.cos(r)*(2*Math.SQRT2-1/Math.sin(r)),a(n)*(2*Math.SQRT2*(r-$a/4)-Math.log(Math.tan(r/2)))]}function b(t){function a(t,a){var h=on(t,a);if(Math.abs(t)>$a/2){var e=Math.atan2(h[1],h[0]),o=Math.sqrt(h[0]*h[0]+h[1]*h[1]),i=r*Math.round((e-$a/2)/r)+$a/2,M=Math.atan2(Math.sin(e-=i),2-Math.cos(e));e=i+n($a/o*Math.sin(M))-M,h[0]=o*Math.cos(e),h[1]=o*Math.sin(e)}return h}var r=2*$a/t;return a.invert=function(t,a){var n=Math.sqrt(t*t+a*a);if(n>$a/2){var h=Math.atan2(a,t),e=r*Math.round((h-$a/2)/r)+$a/2,o=h>e?-1:1,i=n*Math.cos(e-h),M=1/Math.tan(o*Math.acos((i-$a)/Math.sqrt($a*($a-2*i)+n*n)));h=e+2*Math.atan((M+o*Math.sqrt(M*M-3))/3),t=n*Math.cos(h),a=n*Math.sin(h)}return on.invert(t,a)},a}function q(){var t=5,a=hn(b),n=a(t),r=n.stream;return n.lobes=function(n){return arguments.length?a(t=+n):t},n.stream=function(a){var h=n.rotate(),e=r(a),o=(n.rotate([0,0]),r(a));return n.rotate(h),e.sphere=function(){o.polygonStart(),o.lineStart();for(var a=.01,n=0,r=360/t,h=90-180/t;t>n;++n,h-=r)o.point(180,0),-90>h?(o.point(-90,180-h-a),o.point(-90,180-h+a)):(o.point(90,h+a),o.point(90,h-a));o.lineEnd(),o.polygonEnd()},e},n}function w(t){return function(a){var n,r=t*Math.sin(a),h=30;do a-=n=(a+Math.sin(a)-r)/(1+Math.cos(a));while(Math.abs(n)>Ya&&--h>0);return a/2}}function m(t,a,r){function h(n,r){return[t*n*Math.cos(r=e(r)),a*Math.sin(r)]}var e=w(r);return h.invert=function(h,e){var o=n(e/a);return[h/(t*Math.cos(o)),n((2*o+Math.sin(2*o))/r)]},h}function p(t,a){var n=2.00276,r=Mn(a);return[n*t/(1/Math.cos(a)+1.11072/Math.cos(r)),(a+Math.SQRT2*Math.sin(r))/n]}function S(t){var a=0,n=hn(t),r=n(a);return r.parallel=function(t){return arguments.length?n(a=t*$a/180):180*(a/$a)},r}function Q(t,a){return[t*Math.cos(a),a]}function R(t){function a(a,r){var h=n+t-r,e=h?a*Math.cos(r)/h:h;return[h*Math.sin(e),n-h*Math.cos(e)]}if(!t)return Q;var n=1/Math.tan(t);return a.invert=function(a,r){var h=Math.sqrt(a*a+(r=n-r)*r),e=n+t-h;return[h/Math.cos(e)*Math.atan2(a,r),e]},a}function T(t){function a(a,n){for(var r=Math.sin(n),h=Math.cos(n),e=Array(3),u=0;3>u;++u){var s=t[u];if(e[u]=x(n-s[1],s[3],s[2],h,r,a-s[0]),!e[u][0])return s.point;e[u][1]=_(e[u][1]-s.v[1])}for(var c=M.slice(),u=0;3>u;++u){var f=2==u?0:u+1,v=k(t[u].v[0],e[u][0],e[f][0]);e[u][1]<0&&(v=-v),u?1==u?(v=o-v,c[0]-=e[u][0]*Math.cos(v),c[1]-=e[u][0]*Math.sin(v)):(v=i-v,c[0]+=e[u][0]*Math.cos(v),c[1]+=e[u][0]*Math.sin(v)):(c[0]+=e[u][0]*Math.cos(v),c[1]-=e[u][0]*Math.sin(v))}return c[0]/=3,c[1]/=3,c}t=t.map(function(t){return[t[0],t[1],Math.sin(t[1]),Math.cos(t[1])]});for(var n,r=t[2],h=0;3>h;++h,r=n)n=t[h],r.v=x(n[1]-r[1],r[3],r[2],n[3],n[2],n[0]-r[0]),r.point=[0,0];var e=k(t[0].v[0],t[2].v[0],t[1].v[0]),o=k(t[0].v[0],t[1].v[0],t[2].v[0]),i=$a-e;t[2].point[1]=0,t[0].point[0]=-(t[1].point[0]=.5*t[0].v[0]);var M=[t[2].point[0]=t[0].point[0]+t[2].v[0]*Math.cos(e),2*(t[0].point[1]=t[1].point[1]=t[2].v[0]*Math.sin(e))];return a}function y(){var t=[[0,0],[0,0],[0,0]],a=hn(T),n=a(t),r=n.rotate;return delete n.rotate,n.points=function(h){if(!arguments.length)return t;t=h;var e=d3.geo.centroid({type:"MultiPoint",coordinates:t}),o=[-e[0],-e[1]];return r.call(n,o),a(t.map(d3.geo.rotation(o)).map(E))},n.points([[-150,55],[-35,55],[-92.5,10]])}function x(t,a,h,e,o,i){var M,u=Math.cos(i);if(Math.abs(t)>1||Math.abs(i)>1)M=r(h*o+a*e*u);else{var s=Math.sin(.5*t),c=Math.sin(.5*i);M=2*n(Math.sqrt(s*s+a*e*c*c))}return Math.abs(M)>Ya?[M,Math.atan2(e*Math.sin(i),a*o-h*e*u)]:[0,0]}function k(t,a,n){return r(.5*(t*t+a*a-n*n)/(t*a))}function _(t){return t-2*$a*Math.floor((t+$a)/(2*$a))}function E(t){return[t[0]*an,t[1]*an]}function P(t,a){var n=h(1-Math.sin(a));return[2/tn*t*n,tn*(1-n)]}function z(t){function a(t,a){return[t,(t?t/Math.sin(t):1)*(Math.sin(a)*Math.cos(t)-r*Math.cos(a))]}var r=Math.tan(t);return a.invert=r?function(t,a){t&&(a*=Math.sin(t)/t);var n=Math.cos(t);return[t,2*Math.atan2(Math.sqrt(n*n+r*r-a*a)-n,r-a)]}:function(t,a){return[t,n(t?a*Math.tan(t)/t:a)]},a}function B(t,a){var n=Math.sqrt(3);return[n*t*(2*Math.cos(2*a/3)-1)/tn,n*tn*Math.sin(a/3)]}function A(t){function a(t,a){return[t*r,Math.sin(a)/r]}var r=Math.cos(t);return a.invert=function(t,a){return[t/r,n(a*r)]},a}function D(t,a){var n=Math.sqrt(8/(3*$a));return[n*t*(1-Math.abs(a)/$a),n*a]}function G(t,n){var r=Math.sqrt(4-3*Math.sin(Math.abs(n)));return[2/Math.sqrt(6*$a)*t*r,a(n)*Math.sqrt(2*$a/3)*(2-r)]}function j(t,a){var n=Math.sqrt($a*(4+$a));return[2/n*t*(1+Math.sqrt(1-4*a*a/($a*$a))),4/n*a]}function F(t,a){var n=(2+$a/2)*Math.sin(a);a/=2;for(var r=0,h=1/0;10>r&&Math.abs(h)>Ya;r++){var e=Math.cos(a);a-=h=(a+Math.sin(a)*(e+2)-n)/(2*e*(1+e))}return[2/Math.sqrt($a*(4+$a))*t*(1+Math.cos(a)),2*Math.sqrt($a/(4+$a))*Math.sin(a)]}function H(t,a){return[t*(1+Math.cos(a))/Math.sqrt(2+$a),2*a/Math.sqrt(2+$a)]}function I(t,a){for(var n=(1+$a/2)*Math.sin(a),r=0,h=1/0;10>r&&Math.abs(h)>Ya;r++)a-=h=(a+Math.sin(a)-n)/(1+Math.cos(a));return n=Math.sqrt(2+$a),[t*(1+Math.cos(a))/n,2*a/n]}function C(t,a){var n=Math.sin(t/=2),r=Math.cos(t),h=Math.sqrt(Math.cos(a)),e=Math.cos(a/=2),o=Math.sin(a)/(e+Math.SQRT2*r*h),i=Math.sqrt(2/(1+o*o)),M=Math.sqrt((Math.SQRT2*e+(r+n)*h)/(Math.SQRT2*e+(r-n)*h));return[cn*(i*(M-1/M)-2*Math.log(M)),cn*(i*o*(M+1/M)-2*Math.atan(o))]}function J(t,a){var n=Math.tan(a/2);return[t*fn*h(1-n*n),(1+fn)*n]}function K(t,a){return[t*Math.SQRT1_2,(1+Math.SQRT1_2)*Math.tan(a/2)]}function L(t,a,n,r,e,o,i,M){function u(h,u){if(!u)return[t*h/$a,0];var s=u*u,c=t+s*(a+s*(n+s*r)),f=u*(e-1+s*(o-M+s*i)),v=(c*c+f*f)/(2*f),l=h*Math.asin(c/v)/$a;return[v*Math.sin(l),u*(1+s*M)+v*(1-Math.cos(l))]}return arguments.length<8&&(M=0),u.invert=function(u,s){var c,f,v=$a*u/t,l=s,g=50;do{var d=l*l,b=t+d*(a+d*(n+d*r)),q=l*(e-1+d*(o-M+d*i)),w=b*b+q*q,m=2*q,p=w/m,S=p*p,Q=Math.asin(b/p)/$a,R=v*Q;if(xB2=b*b,dxBdφ=(2*a+d*(4*n+6*d*r))*l,dyBdφ=e+d*(3*o+5*d*i),dpdφ=2*(b*dxBdφ+q*(dyBdφ-1)),dqdφ=2*(dyBdφ-1),dmdφ=(dpdφ*m-w*dqdφ)/(m*m),cosα=Math.cos(R),sinα=Math.sin(R),mcosα=p*cosα,msinα=p*sinα,dαdφ=v/$a*(1/h(1-xB2/S))*(dxBdφ*p-b*dmdφ)/S,fx=msinα-u,fy=l*(1+d*M)+p-mcosα-s,δxδφ=dmdφ*sinα+mcosα*dαdφ,δxδλ=mcosα*Q,δyδφ=1+dmdφ-(dmdφ*cosα-msinα*dαdφ),δyδλ=msinα*Q,denominator=δxδφ*δyδλ-δyδφ*δxδλ,!denominator)break;v-=c=(fy*δxδφ-fx*δyδφ)/denominator,l-=f=(fx*δyδλ-fy*δxδλ)/denominator}while((Math.abs(c)>Ya||Math.abs(f)>Ya)&&--g>0);return[v,l]},u}function N(t,a){var n=t*t,r=a*a;return[t*(1-.162388*r)*(.87-952426e-9*n*n),a*(1+r/12)]}function O(t){function n(){var t=!1,a=hn(r),n=a(t);return n.quincuncial=function(n){return arguments.length?a(t=!!n):t},n}function r(n){var r=n?function(n,r){var e=Math.abs(n)<$a/2,o=t(e?n:n>0?n-$a:n+$a,r),i=(o[0]-o[1])*Math.SQRT1_2,M=(o[0]+o[1])*Math.SQRT1_2;if(e)return[i,M];var u=h*Math.SQRT1_2,s=i>0^M>0?-1:1;return[s*i-a(M)*u,s*M-a(i)*u]}:function(a,n){var r=a>0?-.5:.5,e=t(a+r*$a,n);return e[0]-=r*h,e};return t.invert&&(r.invert=n?function(a,n){var r=(a+n)*Math.SQRT1_2,e=(n-a)*Math.SQRT1_2,o=Math.abs(r)<.5*h&&Math.abs(e)<.5*h;if(!o){var i=h*Math.SQRT1_2,M=r>0^e>0?-1:1,u=-M*(a+(e>0?1:-1)*i),s=-M*(n+(r>0?1:-1)*i);r=(-u-s)*Math.SQRT1_2,e=(u-s)*Math.SQRT1_2}var c=t.invert(r,e);return o||(c[0]+=r>0?$a:-$a),c}:function(a,n){var r=a>0?-.5:.5,e=t.invert(a+r*h,n),o=e[0]-r*$a;return-$a>o?o+=2*$a:o>$a&&(o-=2*$a),e[0]=o,e}),r}var h=t($a/2,0)[0]-t(-$a/2,0)[0];return n.raw=r,n}function U(t,r){var h=a(t),e=a(r),o=Math.cos(r),i=Math.cos(t)*o,M=Math.sin(t)*o,u=Math.sin(e*r);t=Math.abs(Math.atan2(M,u)),r=n(i),Math.abs(t-$a/2)>Ya&&(t%=$a/2);var s=V(t>$a/4?$a/2-t:t,r);return t>$a/4&&(u=s[0],s[0]=-s[1],s[1]=-u),s[0]*=h,s[1]*=-e,s}function V(t,a){if(a===$a/2)return[0,0];var r=Math.sin(a),e=r*r,o=e*e,i=1+o,M=1+3*o,u=1-o,s=n(1/Math.sqrt(i)),c=u+e*i*s,f=(1-r)/c,v=Math.sqrt(f),l=f*i,g=Math.sqrt(l),d=v*u;if(0===t)return[0,-(d+e*g)];var b=Math.cos(a),q=1/b,w=2*r*b,m=(-3*e+s*M)*w,p=(-c*b-(1-r)*m)/(c*c),S=.5*p/v,Q=u*S-2*e*v*w,R=e*i*p+f*M*w,T=-q*w,y=-q*R,x=-2*q*Q,k=4*t/$a;if(t>.222*$a||$a/4>a&&t>.175*$a){var _=(d+e*h(l*(1+o)-d*d))/(1+o);if(t>$a/4)return[_,_];var E=_,P=.5*_,z=50;_=.5*(P+E);do{var B=Math.sqrt(l-_*_),A=_*(x+T*B)+y*n(_/g)-k;if(!A)break;0>A?P=_:E=_,_=.5*(P+E)}while(Math.abs(E-P)>Ya&&--z>0)}else{var D,_=Ya,z=25;do{var G=_*_,B=h(l-G),j=x+T*B,A=_*j+y*n(_/g)-k,F=j+(y-T*G)/B;_-=D=B?A/F:0}while(Math.abs(D)>Ya&&--z>0)}return[_,-d-e*h(l-_*_)]}function W(t,a){for(var n=0,r=1,h=.5,e=50;;){var o=h*h,i=Math.sqrt(h),M=Math.asin(1/Math.sqrt(1+o)),u=1-o+h*(1+o)*M,s=(1-i)/u,c=Math.sqrt(s),f=s*(1+o),v=c*(1-o),l=f-t*t,g=Math.sqrt(l),d=a+v+h*g;if(Math.abs(r-n)<Za||--e===0||0===d)break;d>0?n=h:r=h,h=.5*(n+r)}if(!e)return null;var b=Math.asin(i),q=Math.cos(b),w=1/q,m=2*i*q,p=(-3*h+M*(1+3*o))*m,S=(-u*q-(1-i)*p)/(u*u),Q=.5*S/c,R=(1-o)*Q-2*h*c*m,T=-2*w*R,y=-w*m,x=-w*(h*(1+o)*S+s*(1+3*o)*m);return[$a/4*(t*(T+y*g)+x*Math.asin(t/Math.sqrt(f))),b]}function X(t,a,n){if(!t){var r=Y(a,1-n);return[[0,r[0]/r[1]],[1/r[1],0],[r[2]/r[1],0]]}var h=Y(t,n);if(!a)return[[h[0],0],[h[1],0],[h[2],0]];var r=Y(a,1-n),e=r[1]*r[1]+n*h[0]*h[0]*r[0]*r[0];return[[h[0]*r[2]/e,h[1]*h[2]*r[0]*r[1]/e],[h[1]*r[1]/e,-h[0]*h[2]*r[0]*r[2]/e],[h[2]*r[1]*r[2]/e,-n*h[0]*h[1]*r[0]/e]]}function Y(t,a){var r,e,o,i,M;if(Ya>a)return i=Math.sin(t),e=Math.cos(t),r=.25*a*(t-i*e),[i-r*e,e+r*i,1-.5*a*i*i,t-r];if(a>=1-Ya)return r=.25*(1-a),e=f(t),i=s(t),o=1/e,M=e*c(t),[i+r*(M-t)/(e*e),o-r*i*o*(M-t),o+r*i*o*(M+t),2*Math.atan(Math.exp(t))-$a/2+r*(M-t)/e];var u=[1,0,0,0,0,0,0,0,0],v=[Math.sqrt(a),0,0,0,0,0,0,0,0],l=0;for(e=Math.sqrt(1-a),M=1;Math.abs(v[l]/u[l])>Ya&&8>l;)r=u[l++],v[l]=.5*(r-e),u[l]=.5*(r+e),e=h(r*e),M*=2;o=M*u[l]*t;do i=v[l]*Math.sin(e=o)/u[l],o=.5*(n(i)+o);while(--l);return[Math.sin(o),i=Math.cos(o),i/Math.cos(o-e),o]}function Z(t,n,r){var e=Math.abs(t),o=Math.abs(n),i=c(o);if(e){var M=1/Math.sin(e),u=1/(Math.tan(e)*Math.tan(e)),s=-(u+r*i*i*M*M-1+r),f=(r-1)*u,v=.5*(-s+Math.sqrt(s*s-4*f));return[$(Math.atan(1/Math.sqrt(v)),r)*a(t),$(Math.atan(h((v/u-1)/r)),1-r)*a(n)]}return[0,$(Math.atan(i),1-r)*a(n)]}function $(t,a){if(!a)return t;if(1===a)return Math.log(Math.tan(t/2+$a/4));for(var n=1,r=Math.sqrt(1-a),h=Math.sqrt(a),e=0;Math.abs(h)>Ya;e++){if(t%$a){var o=Math.atan(r*Math.tan(t)/n);0>o&&(o+=$a),t+=o+~~(t/$a)*$a}else t+=t;h=(n+r)/2,r=Math.sqrt(n*r),h=((n=h)-r)/2}return t/(Math.pow(2,e)*n)}function ta(t,n){var r=(Math.SQRT2-1)/(Math.SQRT2+1),h=Math.sqrt(1-r*r),e=$($a/2,h*h),o=-1,i=Math.log(Math.tan($a/4+Math.abs(n)/2)),M=Math.exp(o*i)/Math.sqrt(r),u=aa(M*Math.cos(o*t),M*Math.sin(o*t)),s=Z(u[0],u[1],h*h);return[-s[1],a(n)*(.5*e-s[0])]}function aa(t,n){var r=t*t,h=n+1,e=1-r-n*n;return[a(t)*$a/4-.5*Math.atan2(e,2*t),-.25*Math.log(e*e+4*r)+.5*Math.log(h*h+r)]}function na(t,a){var n=a[0]*a[0]+a[1]*a[1];return[(t[0]*a[0]+t[1]*a[1])/n,(t[1]*a[0]-t[0]*a[1])/n]}function ra(t){function a(t,a){var h=o(t,a);t=h[0],a=h[1];var i=Math.sin(a),M=Math.cos(a),u=Math.cos(t),s=r(n*i+e*M*u),c=Math.sin(s),f=Math.abs(c)>Ya?s/c:1;return[f*e*Math.sin(t),(Math.abs(t)>$a/2?f:-f)*(n*M-e*i*u)]}var n=Math.sin(t),e=Math.cos(t),o=ha(t);return o.invert=ha(-t),a.invert=function(t,a){var r=Math.sqrt(t*t+a*a),e=-Math.sin(r),i=Math.cos(r),M=r*i,u=-a*e,s=r*n,c=h(M*M+u*u-s*s),f=Math.atan2(M*s+u*c,u*s-M*c),v=(r>$a/2?-1:1)*Math.atan2(t*e,r*Math.cos(f)*i+a*Math.sin(f)*e);return o.invert(v,f)},a}function ha(t){var a=Math.sin(t),r=Math.cos(t);return function(t,h){var e=Math.cos(h),o=Math.cos(t)*e,i=Math.sin(t)*e,M=Math.sin(h);return[Math.atan2(i,o*r-M*a),n(M*r+o*a)]}}function ea(){var t=0,a=hn(ra),n=a(t),r=n.rotate,h=n.stream,e=d3.geo.circle();return n.parallel=function(r){if(!arguments.length)return 180*(t/$a);var h=n.rotate();return a(t=r*$a/180).rotate(h)},n.rotate=function(a){return arguments.length?(r.call(n,[a[0],a[1]-180*(t/$a)]),e.origin([-a[0],-a[1]]),n):(a=r.call(n),a[1]+=180*(t/$a),a)},n.stream=function(t){return t=h(t),t.sphere=function(){var a,n=.01,r=e.angle(90-n)().coordinates[0],h=r.length-1,o=-1;for(t.polygonStart(),t.lineStart();++o<h;)t.point((a=r[o])[0],a[1]);for(t.lineEnd(),t.polygonEnd(),r=e.angle(90+n)().coordinates[0],h=r.length-1,t.polygonStart(),t.lineStart();--o>=0;)t.point((a=r[o])[0],a[1]);t.lineEnd(),t.polygonEnd()},t},n}function oa(t,a){function n(n,r){var h=bn(n/a,r);return h[0]*=t,h}return arguments.length<2&&(a=t),1===a?bn:1/0===a?Ma:(n.invert=function(n,r){var h=bn.invert(n/t,r);return h[0]*=a,h},n)}function ia(){var t=2,a=hn(oa),n=a(t);return n.coefficient=function(n){return arguments.length?a(t=+n):t},n}function Ma(t,a){return[t*Math.cos(a)/Math.cos(a/=2),2*Math.sin(a)]}function ua(t,a){for(var n,r=Math.sin(a)*(0>a?2.43763:2.67595),h=0;20>h&&(a-=n=(a+Math.sin(a)-r)/(1+Math.cos(a)),!(Math.abs(n)<Ya));h++);return[.85*t*Math.cos(a*=.5),Math.sin(a)*(0>a?1.93052:1.75859)]}function sa(t){function a(a,s){var c,f=Math.abs(s);if(f>r){var v=Math.min(t-1,Math.max(0,Math.floor((a+$a)/u)));a+=$a*(t-1)/t-v*u,c=d3.geo.collignon.raw(a,f),c[0]=c[0]*h/e-h*(t-1)/(2*t)+v*h/t,c[1]=o+(c[1]-i)*4*M/h,0>s&&(c[1]=-c[1])}else c=n(a,s);return c[0]/=2,c}var n=d3.geo.cylindricalEqualArea.raw(0),r=qn*$a/180,h=2*$a,e=d3.geo.collignon.raw($a,r)[0]-d3.geo.collignon.raw(-$a,r)[0],o=n(0,r)[1],i=d3.geo.collignon.raw(0,r)[1],M=d3.geo.collignon.raw(0,$a/2)[1]-i,u=2*$a/t;return a.invert=function(a,r){a*=2;var s=Math.abs(r);if(s>o){var c=Math.min(t-1,Math.max(0,Math.floor((a+$a)/u)));a=(a+$a*(t-1)/t-c*u)*e/h;var f=d3.geo.collignon.raw.invert(a,.25*(s-o)*h/M+i);return f[0]-=$a*(t-1)/t-c*u,0>r&&(f[1]=-f[1]),f}return n.invert(a,r)},a}function ca(){function t(){var t=180/a;return{type:"Polygon",coordinates:[d3.range(-180,180+t/2,t).map(function(t,a){return[t,1&a?90-1e-6:qn]}).concat(d3.range(180,-180-t/2,-t).map(function(t,a){return[t,1&a?-90+1e-6:-qn]}))]}}var a=2,n=hn(sa),r=n(a),h=r.stream;return r.lobes=function(t){return arguments.length?n(a=+t):a},r.stream=function(a){var n=r.rotate(),e=h(a),o=(r.rotate([0,0]),h(a));return r.rotate(n),e.sphere=function(){d3.geo.stream(t(),o)},e},r}function fa(t){function a(a,n){var r,o,f=1-Math.sin(n);if(f&&2>f){var v,l=$a/2-n,g=25;do{var d=Math.sin(l),b=Math.cos(l),q=i+Math.atan2(d,e-b),w=1+c-2*e*b;l-=v=(l-s*i-e*d+w*q-.5*f*h)/(2*e*d*q)}while(Math.abs(v)>Za&&--g>0);r=M*Math.sqrt(w),o=a*q/$a}else r=M*(t+f),o=a*i/$a;return[r*Math.sin(o),u-r*Math.cos(o)]}var h,e=1+t,o=Math.sin(1/e),i=n(o),M=2*Math.sqrt($a/(h=$a+4*i*e)),u=.5*M*(e+Math.sqrt(t*(2+t))),s=t*t,c=e*e;return a.invert=function(t,a){var o=t*t+(a-=u)*a,f=(1+c-o/(M*M))/(2*e),v=r(f),l=Math.sin(v),g=i+Math.atan2(l,e-f);return[n(t/Math.sqrt(o))*$a/g,n(1-2*(v-s*i-e*l+(1+c-2*e*f)*g)/h)]},a}function va(){var t=1,a=hn(fa),n=a(t);return n.ratio=function(n){return arguments.length?a(t=+n):t},n}function la(t,a){return a>-wn?(t=un(t,a),t[1]+=mn,t):Q(t,a)}function ga(t,a){return Math.abs(a)>wn?(t=un(t,a),t[1]-=a>0?mn:-mn,t):Q(t,a)}function da(t,a){return[3*t/(2*$a)*Math.sqrt($a*$a/3-a*a),a]}function ba(t){function r(a,n){if(Math.abs(Math.abs(n)-$a/2)<Ya)return[0,0>n?-2:2];var r=Math.sin(n),h=Math.pow((1+r)/(1-r),t/2),e=.5*(h+1/h)+Math.cos(a*=t);return[2*Math.sin(a)/e,(h-1/h)/e]}return r.invert=function(r,h){var e=Math.abs(h);if(Math.abs(e-2)<Ya)return r?null:[0,a(h)*$a/2];if(e>2)return null;r/=2,h/=2;var o=r*r,i=h*h,M=2*h/(1+o+i);return M=Math.pow((1+M)/(1-M),1/t),[Math.atan2(2*r,1-o-i)/t,n((M-1)/(M+1))]},r}function qa(){var t=.5,a=hn(ba),n=a(t);return n.spacing=function(n){return arguments.length?a(t=+n):t},n}function wa(t,a){return[t*(1+Math.sqrt(Math.cos(a)))/2,a/(Math.cos(a/2)*Math.cos(t/6))]}function ma(t,a){var n=t*t,r=a*a;return[t*(.975534+r*(-.119161+n*-.0143059+r*-.0547009)),a*(1.00384+n*(.0802894+r*-.02855+199025e-9*n)+r*(.0998909+r*-.0491032))]}function pa(t,a){return[Math.sin(t)/Math.cos(a),Math.tan(a)*Math.cos(t)]}function Sa(t){function a(a,h){var e=h-t,o=Math.abs(e)<Ya?a*n:Math.abs(o=$a/4+h/2)<Ya||Math.abs(Math.abs(o)-$a/2)<Ya?0:a*e/Math.log(Math.tan(o)/r);return[o,e]}var n=Math.cos(t),r=Math.tan($a/4+t/2);return a.invert=function(a,h){var e,o=h+t;return[Math.abs(h)<Ya?a/n:Math.abs(e=$a/4+o/2)<Ya||Math.abs(Math.abs(e)-$a/2)<Ya?0:a*Math.log(Math.tan(e)/r)/h,o]},a}function Qa(t,a){return[t,1.25*Math.log(Math.tan($a/4+.4*a))]}function Ra(t){function a(a,n){for(var h,e=Math.cos(n),o=2/(1+e*Math.cos(a)),i=o*e*Math.sin(a),M=o*Math.sin(n),u=r,s=t[u],c=s[0],f=s[1];--u>=0;)s=t[u],c=s[0]+i*(h=c)-M*f,f=s[1]+i*f+M*h;return c=i*(h=c)-M*f,f=i*f+M*h,[c,f]}var r=t.length-1;return a.invert=function(a,h){var e=20,o=a,i=h;do{for(var M,u=r,s=t[u],c=s[0],f=s[1],v=0,l=0;--u>=0;)s=t[u],v=c+o*(M=v)-i*l,l=f+o*l+i*M,c=s[0]+o*(M=c)-i*f,f=s[1]+o*f+i*M;v=c+o*(M=v)-i*l,l=f+o*l+i*M,c=o*(M=c)-i*f-a,f=o*f+i*M-h;var g,d,b=v*v+l*l;o-=g=(c*v+f*l)/b,i-=d=(f*v-c*l)/b}while(Math.abs(g)+Math.abs(d)>Ya*Ya&&--e>0);if(e){var q=Math.sqrt(o*o+i*i),w=2*Math.atan(.5*q),m=Math.sin(w);return[Math.atan2(o*m,q*Math.cos(w)),q?n(i*m/q):0]}},a}function Ta(){var t=pn.miller,a=hn(Ra),n=a(t);return n.coefficients=function(n){return arguments.length?a(t="string"==typeof n?pn[n]:n):t},n}function ya(t,a){var n=Math.sqrt(6),r=Math.sqrt(7),h=Math.asin(7*Math.sin(a)/(3*n));return[n*t*(2*Math.cos(2*h/3)-1)/r,9*Math.sin(h/3)/r]}function xa(t,a){for(var n,r=(1+Math.SQRT1_2)*Math.sin(a),h=a,e=0;25>e&&(h-=n=(Math.sin(h/2)+Math.sin(h)-r)/(.5*Math.cos(h/2)+Math.cos(h)),!(Math.abs(n)<Ya));e++);return[t*(1+2*Math.cos(h)/Math.cos(h/2))/(3*Math.SQRT2),2*Math.sqrt(3)*Math.sin(h/2)/Math.sqrt(2+Math.SQRT2)]}function ka(t,a){for(var n,r=Math.sqrt(6/(4+$a)),h=(1+$a/4)*Math.sin(a),e=a/2,o=0;25>o&&(e-=n=(e/2+Math.sin(e)-h)/(.5+Math.cos(e)),!(Math.abs(n)<Ya));o++);return[r*(.5+Math.cos(e))*t/1.5,r*e]}function _a(t,a){var n=a*a,r=n*n;return[t*(.8707-.131979*n+r*(-.013791+r*(.003971*n-.001529*r))),a*(1.007226+n*(.015085+r*(-.044475+.028874*n-.005916*r)))]}function Ea(t,a){return[t*(1+Math.cos(a))/2,2*(a-Math.tan(a/2))]}function Pa(t,a){if(Math.abs(a)<Ya)return[t,0];var n=Math.tan(a),r=t*Math.sin(a);return[Math.sin(r)/n,a+(1-Math.cos(r))/n]}function za(t){function a(a,n){var r=h?Math.tan(a*h/2)/h:a/2;if(!n)return[2*r,-t];var e=2*Math.atan(r*Math.sin(n)),o=1/Math.tan(n);return[Math.sin(e)*o,n+(1-Math.cos(e))*o-t]}var h=Math.sin(t);return a.invert=function(a,e){if(Math.abs(e+=t)<Ya)return[h?2*Math.atan(h*a/2)/h:a,0];var o,i=a*a+e*e,M=0,u=10;do{var s=Math.tan(M),c=1/Math.cos(M),f=i-2*e*M+M*M;M-=o=(s*f+2*(M-e))/(2+f*c*c+2*(M-e)*s)}while(Math.abs(o)>Ya&&--u>0);var v=a*(s=Math.tan(M)),l=Math.tan(Math.abs(e)<Math.abs(M+1/s)?n(v)*.5:r(v)*.5+$a/4)/Math.sin(M);return[h?2*Math.atan(h*l)/h:2*l,M]},a}function Ba(t,a){var n,r=Math.min(18,Math.abs(a)*36/$a),h=Math.floor(r),e=r-h,o=(n=Qn[h])[0],i=n[1],M=(n=Qn[++h])[0],u=n[1],s=(n=Qn[Math.min(19,++h)])[0],c=n[1];return[t*(M+e*(s-o)/2+e*e*(s-2*M+o)/2),(a>0?$a:-$a)/2*(u+e*(c-i)/2+e*e*(c-2*u+i)/2)]}function Aa(t){function a(a,n){var r=Math.cos(n),h=(t-1)/(t-r*Math.cos(a));return[h*r*Math.sin(a),h*Math.sin(n)]}return a.invert=function(a,r){var h=a*a+r*r,e=Math.sqrt(h),o=(t-Math.sqrt(1-h*(t+1)/(t-1)))/((t-1)/e+e/(t-1));return[Math.atan2(a*o,e*Math.sqrt(1-o*o)),e?n(r*o/e):0]},a}function Da(t,a){function n(a,n){var o=r(a,n),i=o[1],M=i*e/(t-1)+h;return[o[0]*h/M,i/M]}var r=Aa(t);if(!a)return r;var h=Math.cos(a),e=Math.sin(a);return n.invert=function(a,n){var o=(t-1)/(t-1-n*e);return r.invert(o*a,o*n*h)},n}function Ga(){var t=1.4,a=0,n=hn(Da),r=n(t,a);return r.distance=function(r){return arguments.length?n(t=+r,a):t},r.tilt=function(r){return arguments.length?n(t,a=r*$a/180):180*a/$a},r}function ja(t,a){var n=Math.tan(a/2),r=Math.sin($a/4*n);return[t*(.74482-.34588*r*r),1.70711*n]}function Fa(t){function a(a,i){var M=r(Math.cos(i)*Math.cos(a-n)),u=r(Math.cos(i)*Math.cos(a-e)),s=0>i?-1:1;return M*=M,u*=u,[(M-u)/(2*t),s*h(4*o*u-(o-M+u)*(o-M+u))/(2*t)]}if(!t)return d3.geo.azimuthalEquidistant.raw;var n=-t/2,e=-n,o=t*t,i=Math.tan(e),M=.5/Math.sin(e);return a.invert=function(t,a){var h,o,u=a*a,s=Math.cos(Math.sqrt(u+(h=t+n)*h)),c=Math.cos(Math.sqrt(u+(h=t+e)*h));return[Math.atan2(o=s-c,h=(s+c)*i),(0>a?-1:1)*r(Math.sqrt(h*h+o*o)*M)]},a}function Ha(){var t=[[0,0],[0,0]],a=hn(Fa),r=a(0),h=r.rotate;return delete r.rotate,r.points=function(r){if(!arguments.length)return t;t=r;var e=d3.geo.interpolate(r[0],r[1]),o=e(.5),i=Ia(-o[0]*an,-o[1]*an,r[0][0]*an,r[0][1]*an),M=e.distance*.5,u=(i[0]<0?-1:1)*i[1],s=n(Math.sin(u)/Math.sin(M));return h.call(i,[-o[0],-o[1],-s*nn]),a(2*M)},r}function Ia(t,a,r,h){var e=Math.cos(a),o=Math.sin(a),i=Math.cos(h),M=Math.cos(r+=t)*i,u=Math.sin(r)*i,s=Math.sin(h);return[Math.atan2(u,M*e-s*o),n(s*e+M*o)]}function Ca(t){function a(t,a){var r=d3.geo.gnomonic.raw(t,a);return r[0]*=n,r}var n=Math.cos(t);return a.invert=function(t,a){return d3.geo.gnomonic.raw.invert(t/n,a)},a}function Ja(){var t=[[0,0],[0,0]],a=hn(Ca),r=a(0),h=r.rotate;return delete r.rotate,r.points=function(r){if(!arguments.length)return t;t=r;var e=d3.geo.interpolate(r[0],r[1]),o=e(.5),i=Ia(-o[0]*an,-o[1]*an,r[0][0]*an,r[0][1]*an),M=e.distance*.5,u=(i[0]<0?-1:1)*i[1],s=n(Math.sin(u)/Math.sin(M));return h.call(i,[-o[0],-o[1],-s*nn]),a(M)},r}function Ka(t,r){if(Math.abs(r)<Ya)return[t,0];var h=Math.abs(2*r/$a),e=n(h);if(Math.abs(t)<Ya||Math.abs(Math.abs(r)-$a/2)<Ya)return[0,a(r)*$a*Math.tan(e/2)];var o=Math.cos(e),i=Math.abs($a/t-t/$a)/2,M=i*i,u=o/(h+o-1),s=u*(2/h-1),c=s*s,f=c+M,v=u-c,l=M+u;return[a(t)*$a*(i*v+Math.sqrt(M*v*v-f*(u*u-c)))/f,a(r)*$a*(s*l-i*Math.sqrt((M+1)*f-l*l))/f]}function La(t,r){if(Math.abs(r)<Ya)return[t,0];var e=Math.abs(2*r/$a),o=n(e);if(Math.abs(t)<Ya||Math.abs(Math.abs(r)-$a/2)<Ya)return[0,a(r)*$a*Math.tan(o/2)];var i=Math.cos(o),M=Math.abs($a/t-t/$a)/2,u=M*M,s=i*(Math.sqrt(1+u)-M*i)/(1+u*e*e);return[a(t)*$a*s,a(r)*$a*h(1-s*(2*M+s))]}function Na(t,r){if(Math.abs(r)<Ya)return[t,0];var e=2*r/$a,o=n(e);if(Math.abs(t)<Ya||Math.abs(Math.abs(r)-$a/2)<Ya)return[0,$a*Math.tan(o/2)];var i=($a/t-t/$a)/2,M=e/(1+Math.cos(o));return[$a*(a(t)*h(i*i+1-M*M)-i),$a*M]}function Oa(t,n){if(!n)return[t,0];var r=Math.abs(n);if(!t||r===$a/2)return[0,n];var e=2*r/$a,o=e*e,i=(8*e-o*(o+2)-5)/(2*o*(e-1)),M=i*i,u=e*i,s=o+M+2*u,c=e+3*i,f=2*t/$a,v=f+1/f,l=a(Math.abs(t)-$a/2)*Math.sqrt(v*v-4),g=l*l,d=s*(o+M*g-1)+(1-o)*(o*(c*c+4*M)+12*u*M+4*M*M),b=(l*(s+M-1)+2*h(d))/(4*s+g);return[a(t)*$a*b/2,a(n)*$a/2*h(1+l*Math.abs(b)-b*b)]}function Ua(t,a){return[t*Math.sqrt(1-3*a*a/($a*$a)),a]}function Va(t,a){var n=.90631*Math.sin(a),r=Math.sqrt(1-n*n),h=Math.sqrt(2/(1+r*Math.cos(t/=3)));return[2.66723*r*h*Math.sin(t),1.24104*n*h]}function Wa(t,a){var n=Math.cos(a),r=Math.cos(t)*n,e=1-r,o=Math.cos(t=Math.atan2(Math.sin(t)*n,-Math.sin(a))),i=Math.sin(t);return n=h(1-r*r),[i*n-o*e,-o*n-i*e]}function Xa(t,a){var n=i(t,a);return[(n[0]+2*t/$a)/2,(n[1]+a)/2]}var Ya=1e-6,Za=Ya*Ya,$a=Math.PI,tn=Math.sqrt($a),an=$a/180,nn=180/$a,rn=d3.geo.projection,hn=d3.geo.projectionMutator;d3.geo.interrupt=function(t){function a(a,n){for(var r=0>n?-1:1,h=i[+(0>n)],e=0,o=h.length-1;o>e&&a>h[e][2][0];++e);var M=t(a-h[e][1][0],n);return M[0]+=t(h[e][1][0],r*n>r*h[e][0][1]?h[e][0][1]:n)[0],M}function n(){o=i.map(function(a){return a.map(function(a){var n,r=t(a[0][0],a[0][1])[0],h=t(a[2][0],a[2][1])[0],e=t(a[1][0],a[0][1])[1],o=t(a[1][0],a[1][1])[1];return e>o&&(n=e,e=o,o=n),[[r,e],[h,o]]})})}function r(){for(var t=1e-6,a=[],n=0,r=i[0].length;r>n;++n){var e=i[0][n],o=e[0][0]*180/$a,M=e[0][1]*180/$a,u=e[1][1]*180/$a,s=e[2][0]*180/$a,c=e[2][1]*180/$a;a.push(h([[o+t,M+t],[o+t,u-t],[s-t,u-t],[s-t,c+t]],30))}for(var n=i[1].length-1;n>=0;--n){var e=i[1][n],o=e[0][0]*180/$a,M=e[0][1]*180/$a,u=e[1][1]*180/$a,s=e[2][0]*180/$a,c=e[2][1]*180/$a;a.push(h([[s-t,c-t],[s-t,u+t],[o+t,u+t],[o+t,M-t]],30))}return{type:"Polygon",coordinates:[d3.merge(a)]}}function h(t,a){for(var n,r,h,e=-1,o=t.length,i=t[0],M=[];++e<o;){n=t[e],r=(n[0]-i[0])/a,h=(n[1]-i[1])/a;for(var u=0;a>u;++u)M.push([i[0]+u*r,i[1]+u*h]);i=n}return M.push(n),M}function e(t,a){return Math.abs(t[0]-a[0])<1e-6&&Math.abs(t[1]-a[1])<1e-6}var o,i=[[[[-$a,0],[0,$a/2],[$a,0]]],[[[-$a,0],[0,-$a/2],[$a,0]]]];t.invert&&(a.invert=function(n,r){for(var h=o[+(0>r)],M=i[+(0>r)],u=0,s=h.length;s>u;++u){var c=h[u];if(c[0][0]<=n&&n<c[1][0]&&c[0][1]<=r&&r<c[1][1]){var f=t.invert(n-t(M[u][1][0],0)[0],r);return f[0]+=M[u][1][0],e(a(f[0],f[1]),[n,r])?f:null}}});var M=d3.geo.projection(a),u=M.stream;return M.stream=function(t){var a=M.rotate(),n=u(t),h=(M.rotate([0,0]),u(t));return M.rotate(a),n.sphere=function(){d3.geo.stream(r(),h)},n},M.lobes=function(t){return arguments.length?(i=t.map(function(t){return t.map(function(t){return[[t[0][0]*$a/180,t[0][1]*$a/180],[t[1][0]*$a/180,t[1][1]*$a/180],[t[2][0]*$a/180,t[2][1]*$a/180]]})}),n(),M):i.map(function(t){return t.map(function(t){return[[t[0][0]*180/$a,t[0][1]*180/$a],[t[1][0]*180/$a,t[1][1]*180/$a],[t[2][0]*180/$a,t[2][1]*180/$a]]})})},M},(d3.geo.airy=o).raw=e,i.invert=function(t,a){var n=t,h=a,e=25;do{var o,i=Math.sin(n),M=Math.sin(n/2),u=Math.cos(n/2),s=Math.sin(h),c=Math.cos(h),f=Math.sin(2*h),v=s*s,l=c*c,g=M*M,d=1-l*u*u,b=d?r(c*u)*Math.sqrt(o=1/d):o=0,q=2*b*c*M-t,w=b*s-a,m=o*(l*g+b*c*u*v),p=o*(.5*i*f-2*b*s*M),S=.25*o*(f*M-b*s*l*i),Q=o*(v*u+b*g*c),R=p*S-Q*m;if(!R)break;var T=(w*p-q*Q)/R,y=(q*S-w*m)/R;n-=T,h-=y}while((Math.abs(T)>Ya||Math.abs(y)>Ya)&&--e>0);return[n,h]},(d3.geo.aitoff=function(){return rn(i)}).raw=i,(d3.geo.armadillo=u).raw=M,g.invert=function(t,r){if(t*=3/8,r*=3/8,!t&&Math.abs(r)>1)return null;var h=t*t,e=r*r,o=1+h+e,i=Math.sqrt(.5*(o-Math.sqrt(o*o-4*r*r))),M=n(i)/3,u=i?l(Math.abs(r/i))/3:v(Math.abs(t))/3,s=Math.cos(M),g=f(u),d=g*g-s*s;return[a(t)*2*Math.atan2(c(u)*s,.25-d),a(r)*2*Math.atan2(g*Math.sin(M),.25+d)]},(d3.geo.august=function(){return rn(g)}).raw=g;var en=Math.log(1+Math.SQRT2);d.invert=function(t,n){if((h=Math.abs(n))<en)return[t,2*Math.atan(Math.exp(n))-$a/2];var r,h,e=Math.sqrt(8),o=$a/4,i=25;do{var M=Math.cos(o/2),u=Math.tan(o/2);o-=r=(e*(o-$a/4)-Math.log(u)-h)/(e-.5*M*M/u)}while(Math.abs(r)>Za&&--i>0);return[t/(Math.cos(o)*(e-1/Math.sin(o))),a(n)*o]},(d3.geo.baker=function(){return rn(d)}).raw=d;var on=d3.geo.azimuthalEquidistant.raw;(d3.geo.berghaus=q).raw=b;var Mn=w($a),un=m(2*Math.SQRT2/$a,Math.SQRT2,$a);(d3.geo.mollweide=function(){return rn(un)}).raw=un,p.invert=function(t,a){var n,r,h=2.00276,e=h*a,o=0>a?-$a/4:$a/4,i=25;do r=e-Math.SQRT2*Math.sin(o),o-=n=(Math.sin(2*o)+2*o-$a*Math.sin(r))/(2*Math.cos(2*o)+2+$a*Math.cos(r)*Math.SQRT2*Math.cos(o));while(Math.abs(n)>Ya&&--i>0);return r=e-Math.SQRT2*Math.sin(o),[t*(1/Math.cos(r)+1.11072/Math.cos(o))/h,r]},(d3.geo.boggs=function(){return rn(p)}).raw=p,Q.invert=function(t,a){return[t/Math.cos(a),a]},(d3.geo.sinusoidal=function(){return rn(Q)}).raw=Q,(d3.geo.bonne=function(){return S(R).parallel(45)}).raw=R;var sn=m(1,4/$a,$a);(d3.geo.bromley=function(){return rn(sn)}).raw=sn,(d3.geo.chamberlin=y).raw=T,P.invert=function(t,a){var r=(r=a/tn-1)*r;return[r>0?t*Math.sqrt($a/r)/2:0,n(1-r)]},(d3.geo.collignon=function(){return rn(P)}).raw=P,(d3.geo.craig=function(){return S(z)}).raw=z,B.invert=function(t,a){var r=Math.sqrt(3),h=3*n(a/(r*tn));return[tn*t/(r*(2*Math.cos(2*h/3)-1)),h]},(d3.geo.craster=function(){return rn(B)}).raw=B,(d3.geo.cylindricalEqualArea=function(){return S(A)}).raw=A,D.invert=function(t,a){var n=Math.sqrt(8/(3*$a)),r=a/n;return[t/(n*(1-Math.abs(r)/$a)),r]},(d3.geo.eckert1=function(){return rn(D)}).raw=D,G.invert=function(t,r){var h=2-Math.abs(r)/Math.sqrt(2*$a/3);return[t*Math.sqrt(6*$a)/(2*h),a(r)*n((4-h*h)/3)]},(d3.geo.eckert2=function(){return rn(G)}).raw=G,j.invert=function(t,a){var n=Math.sqrt($a*(4+$a))/2;return[t*n/(1+h(1-a*a*(4+$a)/(4*$a))),a*n/2]},(d3.geo.eckert3=function(){return rn(j)}).raw=j,F.invert=function(t,a){var r=.5*a*Math.sqrt((4+$a)/$a),h=n(r),e=Math.cos(h);return[t/(2/Math.sqrt($a*(4+$a))*(1+e)),n((h+r*(e+2))/(2+$a/2))]},(d3.geo.eckert4=function(){return rn(F)}).raw=F,H.invert=function(t,a){var n=Math.sqrt(2+$a),r=a*n/2;return[n*t/(1+Math.cos(r)),r]},(d3.geo.eckert5=function(){return rn(H)}).raw=H,I.invert=function(t,a){var r=1+$a/2,h=Math.sqrt(r/2);return[2*t*h/(1+Math.cos(a*=h)),n((a+Math.sin(a))/r)]},(d3.geo.eckert6=function(){return rn(I)}).raw=I,C.invert=function(t,a){var n=d3.geo.august.raw.invert(t/1.2,1.065*a);if(!n)return null;var r=n[0],h=n[1],e=20;t/=cn,a/=cn;do{var o=r/2,i=h/2,M=Math.sin(o),u=Math.cos(o),s=Math.sin(i),c=Math.cos(i),f=Math.cos(h),v=Math.sqrt(f),l=s/(c+Math.SQRT2*u*v),g=l*l,d=Math.sqrt(2/(1+g)),b=Math.SQRT2*c+(u+M)*v,q=Math.SQRT2*c+(u-M)*v,w=b/q,m=Math.sqrt(w),p=m-1/m,S=m+1/m,Q=d*p-2*Math.log(m)-t,R=d*l*S-2*Math.atan(l)-a,T=s&&Math.SQRT1_2*v*M*g/s,y=(Math.SQRT2*u*c+v)/(2*(c+Math.SQRT2*u*v)*(c+Math.SQRT2*u*v)*v),x=-.5*l*d*d*d,k=x*T,_=x*y,E=(E=2*c+Math.SQRT2*v*(u-M))*E*m,P=(Math.SQRT2*u*c*v+f)/E,z=-(Math.SQRT2*M*s)/(v*E),B=p*k-2*P/m+d*(P+P/w),A=p*_-2*z/m+d*(z+z/w),D=l*S*k-2*T/(1+g)+d*S*T+d*l*(P-P/w),G=l*S*_-2*y/(1+g)+d*S*y+d*l*(z-z/w),j=A*D-G*B;if(!j)break;var F=(R*A-Q*G)/j,H=(Q*D-R*B)/j;r-=F,h=Math.max(-$a/2,Math.min($a/2,h-H))}while((Math.abs(F)>Ya||Math.abs(H)>Ya)&&--e>0);return Math.abs(Math.abs(h)-$a/2)<Ya?[0,h]:e&&[r,h]};var cn=3+2*Math.SQRT2;(d3.geo.eisenlohr=function(){return rn(C)}).raw=C,J.invert=function(t,a){var n=a/(1+fn);return[t?t/(fn*h(1-n*n)):0,2*Math.atan(n)]};var fn=Math.cos(35*an);(d3.geo.fahey=function(){return rn(J)}).raw=J,K.invert=function(t,a){return[t*Math.SQRT2,Math.atan(a/(1+Math.SQRT1_2))*2]},(d3.geo.gallStereographic=function(){return rn(K)}).raw=K;var vn=L(2.8284,-1.6988,.75432,-.18071,1.76003,-.38914,.042555);(d3.geo.ginzburg4=function(){return rn(vn)}).raw=vn;var ln=L(2.583819,-.835827,.170354,-.038094,1.543313,-.411435,.082742);(d3.geo.ginzburg5=function(){return rn(ln)}).raw=ln;var gn=L(5/6*$a,-.62636,-.0344,0,1.3493,-.05524,0,.045);(d3.geo.ginzburg6=function(){return rn(gn)}).raw=gn,N.invert=function(t,a){var n,r=t,h=a,e=50;do{var o=h*h;h-=n=(h*(1+o/12)-a)/(1+o/4)}while(Math.abs(n)>Ya&&--e>0);e=50,t/=1-.162388*o;do{var i=(i=r*r)*i;r-=n=(r*(.87-952426e-9*i)-t)/(.87-.00476213*i)}while(Math.abs(n)>Ya&&--e>0);return[r,h]},(d3.geo.ginzburg8=function(){return rn(N) | |
}).raw=N;var dn=L(2.6516,-.76534,.19123,-.047094,1.36289,-.13965,.031762);(d3.geo.ginzburg9=function(){return rn(dn)}).raw=dn,U.invert=function(t,r){var h=a(t),e=a(r),o=-h*t,i=-e*r,M=1>i/o,u=W(M?i:o,M?o:i),s=u[0],c=u[1];M&&(s=-$a/2-s);var f=Math.cos(c),t=Math.cos(s)*f,r=Math.sin(s)*f,v=Math.sin(c);return[h*(Math.atan2(r,-v)+$a),e*n(t)]},d3.geo.gringorten=O(U),ta.invert=function(t,a){var n=(Math.SQRT2-1)/(Math.SQRT2+1),r=Math.sqrt(1-n*n),h=$($a/2,r*r),e=-1,o=X(.5*h-a,-t,r*r),i=na(o[0],o[1]),M=Math.atan2(i[1],i[0])/e;return[M,2*Math.atan(Math.exp(.5/e*Math.log(n*i[0]*i[0]+n*i[1]*i[1])))-$a/2]},d3.geo.guyou=O(ta),(d3.geo.hammerRetroazimuthal=ea).raw=ra;var bn=d3.geo.azimuthalEqualArea.raw;Ma.invert=function(t,a){var r=2*n(a/2);return[t*Math.cos(r/2)/Math.cos(r),r]},(d3.geo.hammer=ia).raw=oa,ua.invert=function(t,a){var r=Math.abs(r=a*(0>a?.5179951515653813:.5686373742600607))>1-Ya?r>0?$a/2:-$a/2:n(r);return[1.1764705882352942*t/Math.cos(r),Math.abs(r=((r+=r)+Math.sin(r))*(0>a?.4102345310814193:.3736990601468637))>1-Ya?r>0?$a/2:-$a/2:n(r)]},(d3.geo.hatano=function(){return rn(ua)}).raw=ua;var qn=41+48/36+37/3600;(d3.geo.healpix=ca).raw=sa,(d3.geo.hill=va).raw=fa;var wn=.7109889596207567,mn=.0528035274542;la.invert=function(t,a){return a>-wn?un.invert(t,a-mn):Q.invert(t,a)},(d3.geo.sinuMollweide=function(){return rn(la).rotate([-20,-55])}).raw=la,ga.invert=function(t,a){return Math.abs(a)>wn?un.invert(t,a+(a>0?mn:-mn)):Q.invert(t,a)},(d3.geo.homolosine=function(){return rn(ga)}).raw=ga,da.invert=function(t,a){return[2/3*$a*t/Math.sqrt($a*$a/3-a*a),a]},(d3.geo.kavrayskiy7=function(){return rn(da)}).raw=da,(d3.geo.lagrange=qa).raw=ba,wa.invert=function(t,a){var n=Math.abs(t),e=Math.abs(a),o=$a/Math.SQRT2,i=Ya,M=$a/2;o>e?M*=e/o:i+=6*r(o/e);for(var u=0;25>u;u++){var s=Math.sin(M),c=h(Math.cos(M)),f=Math.sin(M/2),v=Math.cos(M/2),l=Math.sin(i/6),g=Math.cos(i/6),d=.5*i*(1+c)-n,b=M/(v*g)-e,q=c?-.25*i*s/c:0,w=.5*(1+c),m=(1+.5*M*f/v)/(v*g),p=M/v*(l/6)/(g*g),S=q*p-m*w,Q=(d*p-b*w)/S,R=(b*q-d*m)/S;if(M-=Q,i-=R,Math.abs(Q)<Ya&&Math.abs(R)<Ya)break}return[0>t?-i:i,0>a?-M:M]},(d3.geo.larrivee=function(){return rn(wa)}).raw=wa,ma.invert=function(t,n){var r=a(t)*$a,h=n/2,e=50;do{var o=r*r,i=h*h,M=r*h,u=r*(.975534+i*(-.119161+o*-.0143059+i*-.0547009))-t,s=h*(1.00384+o*(.0802894+i*-.02855+199025e-9*o)+i*(.0998909+i*-.0491032))-n,c=.975534-i*(.119161+.0143059*3*o+.0547009*i),f=-M*(.238322+.2188036*i+.0286118*o),v=M*(.1605788+7961e-7*o+-0.0571*i),l=1.00384+o*(.0802894+199025e-9*o)+i*(3*(.0998909-.02855*o)-.245516*i),g=f*v-l*c,d=(s*f-u*l)/g,b=(u*v-s*c)/g;r-=d,h-=b}while((Math.abs(d)>Ya||Math.abs(b)>Ya)&&--e>0);return e&&[r,h]},(d3.geo.laskowski=function(){return rn(ma)}).raw=ma,pa.invert=function(t,h){var e=t*t,o=h*h,i=o+1,M=t?Math.SQRT1_2*Math.sqrt((i-Math.sqrt(e*e+2*e*(o-1)+i*i))/e+1):1/Math.sqrt(i);return[n(t*M),a(h)*r(M)]},(d3.geo.littrow=function(){return rn(pa)}).raw=pa,(d3.geo.loximuthal=function(){return S(Sa).parallel(40)}).raw=Sa,Qa.invert=function(t,a){return[t,2.5*Math.atan(Math.exp(.8*a))-.625*$a]},(d3.geo.miller=function(){return rn(Qa)}).raw=Qa;var pn={alaska:[[.9972523,0],[.0052513,-.0041175],[.0074606,.0048125],[-.0153783,-.1968253],[.0636871,-.1408027],[.3660976,-.2937382]],gs48:[[.98879,0],[0,0],[-.050909,0],[0,0],[.075528,0]],gs50:[[.984299,0],[.0211642,.0037608],[-.1036018,-.0575102],[-.0329095,-.0320119],[.0499471,.1223335],[.026046,.0899805],[7388e-7,-.1435792],[.0075848,-.1334108],[-.0216473,.0776645],[-.0225161,.0853673]],miller:[[.9245,0],[0,0],[.01943,0]],lee:[[.721316,0],[0,0],[-.00881625,-.00617325]]};(d3.geo.modifiedStereographic=Ta).raw=Ra,ya.invert=function(t,a){var r=Math.sqrt(6),h=Math.sqrt(7),e=3*n(a*h/9);return[t*h/(r*(2*Math.cos(2*e/3)-1)),n(Math.sin(e)*3*r/7)]},(d3.geo.mtFlatPolarParabolic=function(){return rn(ya)}).raw=ya,xa.invert=function(t,a){var r=a*Math.sqrt(2+Math.SQRT2)/(2*Math.sqrt(3)),h=2*n(r);return[3*Math.SQRT2*t/(1+2*Math.cos(h)/Math.cos(h/2)),n((r+Math.sin(h))/(1+Math.SQRT1_2))]},(d3.geo.mtFlatPolarQuartic=function(){return rn(xa)}).raw=xa,ka.invert=function(t,a){var r=Math.sqrt(6/(4+$a)),h=a/r;return Math.abs(Math.abs(h)-$a/2)<Ya&&(h=0>h?-$a/2:$a/2),[1.5*t/(r*(.5+Math.cos(h))),n((h/2+Math.sin(h))/(1+$a/4))]},(d3.geo.mtFlatPolarSinusoidal=function(){return rn(ka)}).raw=ka,_a.invert=function(t,a){var n,r=a,h=25;do{var e=r*r,o=e*e;r-=n=(r*(1.007226+e*(.015085+o*(-.044475+.028874*e-.005916*o)))-a)/(1.007226+e*(.045255+o*(-0.311325+.259866*e-.005916*11*o)))}while(Math.abs(n)>Ya&&--h>0);return[t/(.8707+(e=r*r)*(-.131979+e*(-.013791+e*e*e*(.003971-.001529*e)))),r]},(d3.geo.naturalEarth=function(){return rn(_a)}).raw=_a,Ea.invert=function(t,a){for(var n=a/2,r=0,h=1/0;10>r&&Math.abs(h)>Ya;r++){var e=Math.cos(a/2);a-=h=(a-Math.tan(a/2)-n)/(1-.5/(e*e))}return[2*t/(1+Math.cos(a)),a]},(d3.geo.nellHammer=function(){return rn(Ea)}).raw=Ea;var Sn=O(ta);(d3.geo.peirceQuincuncial=function(){return Sn().quincuncial(!0).rotate([-90,-90,45]).clipAngle(180-1e-6)}).raw=Sn.raw,Pa.invert=function(t,h){if(Math.abs(h)<Ya)return[t,0];var e,o=t*t+h*h,i=.5*h,M=10;do{var u=Math.tan(i),s=1/Math.cos(i),c=o-2*h*i+i*i;i-=e=(u*c+2*(i-h))/(2+c*s*s+2*(i-h)*u)}while(Math.abs(e)>Ya&&--M>0);return u=Math.tan(i),[(Math.abs(h)<Math.abs(i+1/u)?n(t*u):a(t)*(r(Math.abs(t*u))+$a/2))/Math.sin(i),i]},(d3.geo.polyconic=function(){return rn(Pa)}).raw=Pa,(d3.geo.rectangularPolyconic=function(){return S(za)}).raw=za;var Qn=[[.9986,-.062],[1,0],[.9986,.062],[.9954,.124],[.99,.186],[.9822,.248],[.973,.31],[.96,.372],[.9427,.434],[.9216,.4958],[.8962,.5571],[.8679,.6176],[.835,.6769],[.7986,.7346],[.7597,.7903],[.7186,.8435],[.6732,.8936],[.6213,.9394],[.5722,.9761],[.5322,1]];Qn.forEach(function(t){t[1]*=1.0144}),Ba.invert=function(t,a){var n=2*a/$a,r=90*n,h=Math.min(18,Math.abs(r/5)),e=Math.max(0,Math.floor(h));do{var o=Qn[e][1],i=Qn[e+1][1],M=Qn[Math.min(19,e+2)][1],u=M-o,s=M-2*i+o,c=2*(Math.abs(n)-i)/u,f=s/u,v=c*(1-f*c*(1-2*f*c));if(v>=0||1===e){r=(a>=0?5:-5)*(v+h);var l,g=50;do h=Math.min(18,Math.abs(r)/5),e=Math.floor(h),v=h-e,o=Qn[e][1],i=Qn[e+1][1],M=Qn[Math.min(19,e+2)][1],r-=(l=(a>=0?$a:-$a)/2*(i+v*(M-o)/2+v*v*(M-2*i+o)/2)-a)*nn;while(Math.abs(l)>Za&&--g>0);break}}while(--e>=0);var d=Qn[e][0],b=Qn[e+1][0],q=Qn[Math.min(19,e+2)][0];return[t/(b+v*(q-d)/2+v*v*(q-2*b+d)/2),r*an]},(d3.geo.robinson=function(){return rn(Ba)}).raw=Ba,(d3.geo.satellite=Ga).raw=Da,ja.invert=function(t,a){var n=a/1.70711,r=Math.sin($a/4*n);return[t/(.74482-.34588*r*r),2*Math.atan(n)]},(d3.geo.times=function(){return rn(ja)}).raw=ja,(d3.geo.twoPointEquidistant=Ha).raw=Fa,(d3.geo.twoPointAzimuthal=Ja).raw=Ca,Ka.invert=function(t,n){if(Math.abs(n)<Ya)return[t,0];if(Math.abs(t)<Ya)return[0,$a/2*Math.sin(2*Math.atan(n/$a))];var h=(t/=$a)*t,e=(n/=$a)*n,o=h+e,i=o*o,M=-Math.abs(n)*(1+o),u=M-2*e+h,s=-2*M+1+2*e+i,c=e/s+(2*u*u*u/(s*s*s)-9*M*u/(s*s))/27,f=(M-u*u/(3*s))/s,v=2*Math.sqrt(-f/3),l=r(3*c/(f*v))/3;return[$a*(o-1+Math.sqrt(1+2*(h-e)+i))/(2*t),a(n)*$a*(-v*Math.cos(l+$a/3)-u/(3*s))]},(d3.geo.vanDerGrinten=function(){return rn(Ka)}).raw=Ka,La.invert=function(t,n){if(!t)return[0,$a/2*Math.sin(2*Math.atan(n/$a))];var r=Math.abs(t/$a),h=(1-r*r-(n/=$a)*n)/(2*r),e=h*h,o=Math.sqrt(e+1);return[a(t)*$a*(o-h),a(n)*$a/2*Math.sin(2*Math.atan2(Math.sqrt((1-2*h*r)*(h+o)-r),Math.sqrt(o+h+r)))]},(d3.geo.vanDerGrinten2=function(){return rn(La)}).raw=La,Na.invert=function(t,n){if(!n)return[t,0];var r=n/$a,h=($a*$a*(1-r*r)-t*t)/(2*$a*t);return[t?$a*(a(t)*Math.sqrt(h*h+1)-h):0,$a/2*Math.sin(2*Math.atan(r))]},(d3.geo.vanDerGrinten3=function(){return rn(Na)}).raw=Na,Oa.invert=function(t,n){if(!t||!n)return[t,n];n/=$a;var r=a(t)*t*2/$a,h=(r*r-1+4*n*n)/Math.abs(r),e=h*h,o=2*n,i=50;do{var M=o*o,u=(8*o-M*(M+2)-5)/(2*M*(o-1)),s=(3*o-M*o-10)/(2*M*o),c=u*u,f=o*u,v=o+u,l=v*v,g=o+3*u,d=l*(M+c*e-1)+(1-M)*(M*(g*g+4*c)+c*(12*f+4*c)),b=-2*v*(4*f*c+(1-4*M+3*M*M)*(1+s)+c*(-6+14*M-e+(-8+8*M-2*e)*s)+f*(-8+12*M+(-10+10*M-e)*s)),q=Math.sqrt(d),w=h*(l+c-1)+2*q-r*(4*l+e),m=h*(2*u*s+2*v*(1+s))+b/q-8*v*(h*(-1+c+l)+2*q)*(1+s)/(e+4*l);o-=δ=w/m}while(δ>Ya&&--i>0);return[a(t)*(Math.sqrt(h*h+4)+h)*$a/4,$a/2*o]},(d3.geo.vanDerGrinten4=function(){return rn(Oa)}).raw=Oa;var Rn=function(){var t=4*$a+3*Math.sqrt(3),a=2*Math.sqrt(2*$a*Math.sqrt(3)/t);return m(a*Math.sqrt(3)/$a,a,t/6)}();(d3.geo.wagner4=function(){return rn(Rn)}).raw=Rn,Ua.invert=function(t,a){return[t/Math.sqrt(1-3*a*a/($a*$a)),a]},(d3.geo.wagner6=function(){return rn(Ua)}).raw=Ua,Va.invert=function(t,a){var r=t/2.66723,h=a/1.24104,e=Math.sqrt(r*r+h*h),o=2*n(e/2);return[3*Math.atan2(t*Math.tan(o),2.66723*e),e&&n(a*Math.sin(o)/(1.24104*.90631*e))]},(d3.geo.wagner7=function(){return rn(Va)}).raw=Va,Wa.invert=function(t,a){var r=-.5*(t*t+a*a),h=Math.sqrt(-r*(2+r)),e=a*r+t*h,o=t*r-a*h,i=Math.sqrt(o*o+e*e);return[Math.atan2(h*e,i*(1+r)),i?-n(h*o/i):0]},(d3.geo.wiechel=function(){return rn(Wa)}).raw=Wa,Xa.invert=function(t,a){var n=t,h=a,e=25;do{var o,i=Math.cos(h),M=Math.sin(h),u=Math.sin(2*h),s=M*M,c=i*i,f=Math.sin(n),v=Math.cos(n/2),l=Math.sin(n/2),g=l*l,d=1-c*v*v,b=d?r(i*v)*Math.sqrt(o=1/d):o=0,q=.5*(2*b*i*l+2*n/$a)-t,w=.5*(b*M+h)-a,m=.5*o*(c*g+b*i*v*s)+1/$a,p=o*(f*u/4-b*M*l),S=.125*o*(u*l-b*M*c*f),Q=.5*o*(s*v+b*g*i)+.5,R=p*S-Q*m,T=(w*p-q*Q)/R,y=(q*S-w*m)/R;n-=T,h-=y}while((Math.abs(T)>Ya||Math.abs(y)>Ya)&&--e>0);return[n,h]},(d3.geo.winkel3=function(){return rn(Xa)}).raw=Xa})(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
d3 = function() { | |
var d3 = { | |
version: "3.1.8" | |
}; | |
if (!Date.now) Date.now = function() { | |
return +new Date(); | |
}; | |
var d3_document = document, d3_window = window; | |
try { | |
d3_document.createElement("div").style.setProperty("opacity", 0, ""); | |
} catch (error) { | |
var d3_style_prototype = d3_window.CSSStyleDeclaration.prototype, d3_style_setProperty = d3_style_prototype.setProperty; | |
d3_style_prototype.setProperty = function(name, value, priority) { | |
d3_style_setProperty.call(this, name, value + "", priority); | |
}; | |
} | |
d3.ascending = function(a, b) { | |
return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN; | |
}; | |
d3.descending = function(a, b) { | |
return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN; | |
}; | |
d3.min = function(array, f) { | |
var i = -1, n = array.length, a, b; | |
if (arguments.length === 1) { | |
while (++i < n && ((a = array[i]) == null || a != a)) a = undefined; | |
while (++i < n) if ((b = array[i]) != null && a > b) a = b; | |
} else { | |
while (++i < n && ((a = f.call(array, array[i], i)) == null || a != a)) a = undefined; | |
while (++i < n) if ((b = f.call(array, array[i], i)) != null && a > b) a = b; | |
} | |
return a; | |
}; | |
d3.max = function(array, f) { | |
var i = -1, n = array.length, a, b; | |
if (arguments.length === 1) { | |
while (++i < n && ((a = array[i]) == null || a != a)) a = undefined; | |
while (++i < n) if ((b = array[i]) != null && b > a) a = b; | |
} else { | |
while (++i < n && ((a = f.call(array, array[i], i)) == null || a != a)) a = undefined; | |
while (++i < n) if ((b = f.call(array, array[i], i)) != null && b > a) a = b; | |
} | |
return a; | |
}; | |
d3.extent = function(array, f) { | |
var i = -1, n = array.length, a, b, c; | |
if (arguments.length === 1) { | |
while (++i < n && ((a = c = array[i]) == null || a != a)) a = c = undefined; | |
while (++i < n) if ((b = array[i]) != null) { | |
if (a > b) a = b; | |
if (c < b) c = b; | |
} | |
} else { | |
while (++i < n && ((a = c = f.call(array, array[i], i)) == null || a != a)) a = undefined; | |
while (++i < n) if ((b = f.call(array, array[i], i)) != null) { | |
if (a > b) a = b; | |
if (c < b) c = b; | |
} | |
} | |
return [ a, c ]; | |
}; | |
d3.sum = function(array, f) { | |
var s = 0, n = array.length, a, i = -1; | |
if (arguments.length === 1) { | |
while (++i < n) if (!isNaN(a = +array[i])) s += a; | |
} else { | |
while (++i < n) if (!isNaN(a = +f.call(array, array[i], i))) s += a; | |
} | |
return s; | |
}; | |
function d3_number(x) { | |
return x != null && !isNaN(x); | |
} | |
d3.mean = function(array, f) { | |
var n = array.length, a, m = 0, i = -1, j = 0; | |
if (arguments.length === 1) { | |
while (++i < n) if (d3_number(a = array[i])) m += (a - m) / ++j; | |
} else { | |
while (++i < n) if (d3_number(a = f.call(array, array[i], i))) m += (a - m) / ++j; | |
} | |
return j ? m : undefined; | |
}; | |
d3.quantile = function(values, p) { | |
var H = (values.length - 1) * p + 1, h = Math.floor(H), v = +values[h - 1], e = H - h; | |
return e ? v + e * (values[h] - v) : v; | |
}; | |
d3.median = function(array, f) { | |
if (arguments.length > 1) array = array.map(f); | |
array = array.filter(d3_number); | |
return array.length ? d3.quantile(array.sort(d3.ascending), .5) : undefined; | |
}; | |
d3.bisector = function(f) { | |
return { | |
left: function(a, x, lo, hi) { | |
if (arguments.length < 3) lo = 0; | |
if (arguments.length < 4) hi = a.length; | |
while (lo < hi) { | |
var mid = lo + hi >>> 1; | |
if (f.call(a, a[mid], mid) < x) lo = mid + 1; else hi = mid; | |
} | |
return lo; | |
}, | |
right: function(a, x, lo, hi) { | |
if (arguments.length < 3) lo = 0; | |
if (arguments.length < 4) hi = a.length; | |
while (lo < hi) { | |
var mid = lo + hi >>> 1; | |
if (x < f.call(a, a[mid], mid)) hi = mid; else lo = mid + 1; | |
} | |
return lo; | |
} | |
}; | |
}; | |
var d3_bisector = d3.bisector(function(d) { | |
return d; | |
}); | |
d3.bisectLeft = d3_bisector.left; | |
d3.bisect = d3.bisectRight = d3_bisector.right; | |
d3.shuffle = function(array) { | |
var m = array.length, t, i; | |
while (m) { | |
i = Math.random() * m-- | 0; | |
t = array[m], array[m] = array[i], array[i] = t; | |
} | |
return array; | |
}; | |
d3.permute = function(array, indexes) { | |
var permutes = [], i = -1, n = indexes.length; | |
while (++i < n) permutes[i] = array[indexes[i]]; | |
return permutes; | |
}; | |
d3.zip = function() { | |
if (!(n = arguments.length)) return []; | |
for (var i = -1, m = d3.min(arguments, d3_zipLength), zips = new Array(m); ++i < m; ) { | |
for (var j = -1, n, zip = zips[i] = new Array(n); ++j < n; ) { | |
zip[j] = arguments[j][i]; | |
} | |
} | |
return zips; | |
}; | |
function d3_zipLength(d) { | |
return d.length; | |
} | |
d3.transpose = function(matrix) { | |
return d3.zip.apply(d3, matrix); | |
}; | |
d3.keys = function(map) { | |
var keys = []; | |
for (var key in map) keys.push(key); | |
return keys; | |
}; | |
d3.values = function(map) { | |
var values = []; | |
for (var key in map) values.push(map[key]); | |
return values; | |
}; | |
d3.entries = function(map) { | |
var entries = []; | |
for (var key in map) entries.push({ | |
key: key, | |
value: map[key] | |
}); | |
return entries; | |
}; | |
d3.merge = function(arrays) { | |
return Array.prototype.concat.apply([], arrays); | |
}; | |
d3.range = function(start, stop, step) { | |
if (arguments.length < 3) { | |
step = 1; | |
if (arguments.length < 2) { | |
stop = start; | |
start = 0; | |
} | |
} | |
if ((stop - start) / step === Infinity) throw new Error("infinite range"); | |
var range = [], k = d3_range_integerScale(Math.abs(step)), i = -1, j; | |
start *= k, stop *= k, step *= k; | |
if (step < 0) while ((j = start + step * ++i) > stop) range.push(j / k); else while ((j = start + step * ++i) < stop) range.push(j / k); | |
return range; | |
}; | |
function d3_range_integerScale(x) { | |
var k = 1; | |
while (x * k % 1) k *= 10; | |
return k; | |
} | |
function d3_class(ctor, properties) { | |
try { | |
for (var key in properties) { | |
Object.defineProperty(ctor.prototype, key, { | |
value: properties[key], | |
enumerable: false | |
}); | |
} | |
} catch (e) { | |
ctor.prototype = properties; | |
} | |
} | |
d3.map = function(object) { | |
var map = new d3_Map(); | |
for (var key in object) map.set(key, object[key]); | |
return map; | |
}; | |
function d3_Map() {} | |
d3_class(d3_Map, { | |
has: function(key) { | |
return d3_map_prefix + key in this; | |
}, | |
get: function(key) { | |
return this[d3_map_prefix + key]; | |
}, | |
set: function(key, value) { | |
return this[d3_map_prefix + key] = value; | |
}, | |
remove: function(key) { | |
key = d3_map_prefix + key; | |
return key in this && delete this[key]; | |
}, | |
keys: function() { | |
var keys = []; | |
this.forEach(function(key) { | |
keys.push(key); | |
}); | |
return keys; | |
}, | |
values: function() { | |
var values = []; | |
this.forEach(function(key, value) { | |
values.push(value); | |
}); | |
return values; | |
}, | |
entries: function() { | |
var entries = []; | |
this.forEach(function(key, value) { | |
entries.push({ | |
key: key, | |
value: value | |
}); | |
}); | |
return entries; | |
}, | |
forEach: function(f) { | |
for (var key in this) { | |
if (key.charCodeAt(0) === d3_map_prefixCode) { | |
f.call(this, key.substring(1), this[key]); | |
} | |
} | |
} | |
}); | |
var d3_map_prefix = "\0", d3_map_prefixCode = d3_map_prefix.charCodeAt(0); | |
d3.nest = function() { | |
var nest = {}, keys = [], sortKeys = [], sortValues, rollup; | |
function map(mapType, array, depth) { | |
if (depth >= keys.length) return rollup ? rollup.call(nest, array) : sortValues ? array.sort(sortValues) : array; | |
var i = -1, n = array.length, key = keys[depth++], keyValue, object, setter, valuesByKey = new d3_Map(), values; | |
while (++i < n) { | |
if (values = valuesByKey.get(keyValue = key(object = array[i]))) { | |
values.push(object); | |
} else { | |
valuesByKey.set(keyValue, [ object ]); | |
} | |
} | |
if (mapType) { | |
object = mapType(); | |
setter = function(keyValue, values) { | |
object.set(keyValue, map(mapType, values, depth)); | |
}; | |
} else { | |
object = {}; | |
setter = function(keyValue, values) { | |
object[keyValue] = map(mapType, values, depth); | |
}; | |
} | |
valuesByKey.forEach(setter); | |
return object; | |
} | |
function entries(map, depth) { | |
if (depth >= keys.length) return map; | |
var array = [], sortKey = sortKeys[depth++]; | |
map.forEach(function(key, keyMap) { | |
array.push({ | |
key: key, | |
values: entries(keyMap, depth) | |
}); | |
}); | |
return sortKey ? array.sort(function(a, b) { | |
return sortKey(a.key, b.key); | |
}) : array; | |
} | |
nest.map = function(array, mapType) { | |
return map(mapType, array, 0); | |
}; | |
nest.entries = function(array) { | |
return entries(map(d3.map, array, 0), 0); | |
}; | |
nest.key = function(d) { | |
keys.push(d); | |
return nest; | |
}; | |
nest.sortKeys = function(order) { | |
sortKeys[keys.length - 1] = order; | |
return nest; | |
}; | |
nest.sortValues = function(order) { | |
sortValues = order; | |
return nest; | |
}; | |
nest.rollup = function(f) { | |
rollup = f; | |
return nest; | |
}; | |
return nest; | |
}; | |
d3.set = function(array) { | |
var set = new d3_Set(); | |
if (array) for (var i = 0; i < array.length; i++) set.add(array[i]); | |
return set; | |
}; | |
function d3_Set() {} | |
d3_class(d3_Set, { | |
has: function(value) { | |
return d3_map_prefix + value in this; | |
}, | |
add: function(value) { | |
this[d3_map_prefix + value] = true; | |
return value; | |
}, | |
remove: function(value) { | |
value = d3_map_prefix + value; | |
return value in this && delete this[value]; | |
}, | |
values: function() { | |
var values = []; | |
this.forEach(function(value) { | |
values.push(value); | |
}); | |
return values; | |
}, | |
forEach: function(f) { | |
for (var value in this) { | |
if (value.charCodeAt(0) === d3_map_prefixCode) { | |
f.call(this, value.substring(1)); | |
} | |
} | |
} | |
}); | |
d3.behavior = {}; | |
d3.rebind = function(target, source) { | |
var i = 1, n = arguments.length, method; | |
while (++i < n) target[method = arguments[i]] = d3_rebind(target, source, source[method]); | |
return target; | |
}; | |
function d3_rebind(target, source, method) { | |
return function() { | |
var value = method.apply(source, arguments); | |
return value === source ? target : value; | |
}; | |
} | |
d3.dispatch = function() { | |
var dispatch = new d3_dispatch(), i = -1, n = arguments.length; | |
while (++i < n) dispatch[arguments[i]] = d3_dispatch_event(dispatch); | |
return dispatch; | |
}; | |
function d3_dispatch() {} | |
d3_dispatch.prototype.on = function(type, listener) { | |
var i = type.indexOf("."), name = ""; | |
if (i >= 0) { | |
name = type.substring(i + 1); | |
type = type.substring(0, i); | |
} | |
if (type) return arguments.length < 2 ? this[type].on(name) : this[type].on(name, listener); | |
if (arguments.length === 2) { | |
if (listener == null) for (type in this) { | |
if (this.hasOwnProperty(type)) this[type].on(name, null); | |
} | |
return this; | |
} | |
}; | |
function d3_dispatch_event(dispatch) { | |
var listeners = [], listenerByName = new d3_Map(); | |
function event() { | |
var z = listeners, i = -1, n = z.length, l; | |
while (++i < n) if (l = z[i].on) l.apply(this, arguments); | |
return dispatch; | |
} | |
event.on = function(name, listener) { | |
var l = listenerByName.get(name), i; | |
if (arguments.length < 2) return l && l.on; | |
if (l) { | |
l.on = null; | |
listeners = listeners.slice(0, i = listeners.indexOf(l)).concat(listeners.slice(i + 1)); | |
listenerByName.remove(name); | |
} | |
if (listener) listeners.push(listenerByName.set(name, { | |
on: listener | |
})); | |
return dispatch; | |
}; | |
return event; | |
} | |
d3.event = null; | |
function d3_eventCancel() { | |
d3.event.stopPropagation(); | |
d3.event.preventDefault(); | |
} | |
function d3_eventSource() { | |
var e = d3.event, s; | |
while (s = e.sourceEvent) e = s; | |
return e; | |
} | |
function d3_eventSuppress(target, type) { | |
function off() { | |
target.on(type, null); | |
} | |
target.on(type, function() { | |
d3_eventCancel(); | |
off(); | |
}, true); | |
setTimeout(off, 0); | |
} | |
function d3_eventDispatch(target) { | |
var dispatch = new d3_dispatch(), i = 0, n = arguments.length; | |
while (++i < n) dispatch[arguments[i]] = d3_dispatch_event(dispatch); | |
dispatch.of = function(thiz, argumentz) { | |
return function(e1) { | |
try { | |
var e0 = e1.sourceEvent = d3.event; | |
e1.target = target; | |
d3.event = e1; | |
dispatch[e1.type].apply(thiz, argumentz); | |
} finally { | |
d3.event = e0; | |
} | |
}; | |
}; | |
return dispatch; | |
} | |
d3.mouse = function(container) { | |
return d3_mousePoint(container, d3_eventSource()); | |
}; | |
var d3_mouse_bug44083 = /WebKit/.test(d3_window.navigator.userAgent) ? -1 : 0; | |
function d3_mousePoint(container, e) { | |
var svg = container.ownerSVGElement || container; | |
if (svg.createSVGPoint) { | |
var point = svg.createSVGPoint(); | |
if (d3_mouse_bug44083 < 0 && (d3_window.scrollX || d3_window.scrollY)) { | |
svg = d3.select(d3_document.body).append("svg").style("position", "absolute").style("top", 0).style("left", 0); | |
var ctm = svg[0][0].getScreenCTM(); | |
d3_mouse_bug44083 = !(ctm.f || ctm.e); | |
svg.remove(); | |
} | |
if (d3_mouse_bug44083) { | |
point.x = e.pageX; | |
point.y = e.pageY; | |
} else { | |
point.x = e.clientX; | |
point.y = e.clientY; | |
} | |
point = point.matrixTransform(container.getScreenCTM().inverse()); | |
return [ point.x, point.y ]; | |
} | |
var rect = container.getBoundingClientRect(); | |
return [ e.clientX - rect.left - container.clientLeft, e.clientY - rect.top - container.clientTop ]; | |
} | |
var d3_array = d3_arraySlice; | |
function d3_arrayCopy(pseudoarray) { | |
var i = -1, n = pseudoarray.length, array = []; | |
while (++i < n) array.push(pseudoarray[i]); | |
return array; | |
} | |
function d3_arraySlice(pseudoarray) { | |
return Array.prototype.slice.call(pseudoarray); | |
} | |
try { | |
d3_array(d3_document.documentElement.childNodes)[0].nodeType; | |
} catch (e) { | |
d3_array = d3_arrayCopy; | |
} | |
var d3_arraySubclass = [].__proto__ ? function(array, prototype) { | |
array.__proto__ = prototype; | |
} : function(array, prototype) { | |
for (var property in prototype) array[property] = prototype[property]; | |
}; | |
d3.touches = function(container, touches) { | |
if (arguments.length < 2) touches = d3_eventSource().touches; | |
return touches ? d3_array(touches).map(function(touch) { | |
var point = d3_mousePoint(container, touch); | |
point.identifier = touch.identifier; | |
return point; | |
}) : []; | |
}; | |
d3.behavior.drag = function() { | |
var event = d3_eventDispatch(drag, "drag", "dragstart", "dragend"), origin = null; | |
function drag() { | |
this.on("mousedown.drag", mousedown).on("touchstart.drag", mousedown); | |
} | |
function mousedown() { | |
var target = this, event_ = event.of(target, arguments), eventTarget = d3.event.target, touchId = d3.event.touches ? d3.event.changedTouches[0].identifier : null, offset, origin_ = point(), moved = 0; | |
var w = d3.select(d3_window).on(touchId != null ? "touchmove.drag-" + touchId : "mousemove.drag", dragmove).on(touchId != null ? "touchend.drag-" + touchId : "mouseup.drag", dragend, true); | |
if (origin) { | |
offset = origin.apply(target, arguments); | |
offset = [ offset.x - origin_[0], offset.y - origin_[1] ]; | |
} else { | |
offset = [ 0, 0 ]; | |
} | |
if (touchId == null) d3_eventCancel(); | |
event_({ | |
type: "dragstart" | |
}); | |
function point() { | |
var p = target.parentNode; | |
return touchId != null ? d3.touches(p).filter(function(p) { | |
return p.identifier === touchId; | |
})[0] : d3.mouse(p); | |
} | |
function dragmove() { | |
if (!target.parentNode) return dragend(); | |
var p = point(), dx = p[0] - origin_[0], dy = p[1] - origin_[1]; | |
moved |= dx | dy; | |
origin_ = p; | |
d3_eventCancel(); | |
event_({ | |
type: "drag", | |
x: p[0] + offset[0], | |
y: p[1] + offset[1], | |
dx: dx, | |
dy: dy | |
}); | |
} | |
function dragend() { | |
event_({ | |
type: "dragend" | |
}); | |
if (moved) { | |
d3_eventCancel(); | |
if (d3.event.target === eventTarget) d3_eventSuppress(w, "click"); | |
} | |
w.on(touchId != null ? "touchmove.drag-" + touchId : "mousemove.drag", null).on(touchId != null ? "touchend.drag-" + touchId : "mouseup.drag", null); | |
} | |
} | |
drag.origin = function(x) { | |
if (!arguments.length) return origin; | |
origin = x; | |
return drag; | |
}; | |
return d3.rebind(drag, event, "on"); | |
}; | |
function d3_selection(groups) { | |
d3_arraySubclass(groups, d3_selectionPrototype); | |
return groups; | |
} | |
var d3_select = function(s, n) { | |
return n.querySelector(s); | |
}, d3_selectAll = function(s, n) { | |
return n.querySelectorAll(s); | |
}, d3_selectRoot = d3_document.documentElement, d3_selectMatcher = d3_selectRoot.matchesSelector || d3_selectRoot.webkitMatchesSelector || d3_selectRoot.mozMatchesSelector || d3_selectRoot.msMatchesSelector || d3_selectRoot.oMatchesSelector, d3_selectMatches = function(n, s) { | |
return d3_selectMatcher.call(n, s); | |
}; | |
if (typeof Sizzle === "function") { | |
d3_select = function(s, n) { | |
return Sizzle(s, n)[0] || null; | |
}; | |
d3_selectAll = function(s, n) { | |
return Sizzle.uniqueSort(Sizzle(s, n)); | |
}; | |
d3_selectMatches = Sizzle.matchesSelector; | |
} | |
d3.selection = function() { | |
return d3_selectionRoot; | |
}; | |
var d3_selectionPrototype = d3.selection.prototype = []; | |
d3_selectionPrototype.select = function(selector) { | |
var subgroups = [], subgroup, subnode, group, node; | |
if (typeof selector !== "function") selector = d3_selection_selector(selector); | |
for (var j = -1, m = this.length; ++j < m; ) { | |
subgroups.push(subgroup = []); | |
subgroup.parentNode = (group = this[j]).parentNode; | |
for (var i = -1, n = group.length; ++i < n; ) { | |
if (node = group[i]) { | |
subgroup.push(subnode = selector.call(node, node.__data__, i)); | |
if (subnode && "__data__" in node) subnode.__data__ = node.__data__; | |
} else { | |
subgroup.push(null); | |
} | |
} | |
} | |
return d3_selection(subgroups); | |
}; | |
function d3_selection_selector(selector) { | |
return function() { | |
return d3_select(selector, this); | |
}; | |
} | |
d3_selectionPrototype.selectAll = function(selector) { | |
var subgroups = [], subgroup, node; | |
if (typeof selector !== "function") selector = d3_selection_selectorAll(selector); | |
for (var j = -1, m = this.length; ++j < m; ) { | |
for (var group = this[j], i = -1, n = group.length; ++i < n; ) { | |
if (node = group[i]) { | |
subgroups.push(subgroup = d3_array(selector.call(node, node.__data__, i))); | |
subgroup.parentNode = node; | |
} | |
} | |
} | |
return d3_selection(subgroups); | |
}; | |
function d3_selection_selectorAll(selector) { | |
return function() { | |
return d3_selectAll(selector, this); | |
}; | |
} | |
var d3_nsPrefix = { | |
svg: "http://www.w3.org/2000/svg", | |
xhtml: "http://www.w3.org/1999/xhtml", | |
xlink: "http://www.w3.org/1999/xlink", | |
xml: "http://www.w3.org/XML/1998/namespace", | |
xmlns: "http://www.w3.org/2000/xmlns/" | |
}; | |
d3.ns = { | |
prefix: d3_nsPrefix, | |
qualify: function(name) { | |
var i = name.indexOf(":"), prefix = name; | |
if (i >= 0) { | |
prefix = name.substring(0, i); | |
name = name.substring(i + 1); | |
} | |
return d3_nsPrefix.hasOwnProperty(prefix) ? { | |
space: d3_nsPrefix[prefix], | |
local: name | |
} : name; | |
} | |
}; | |
d3_selectionPrototype.attr = function(name, value) { | |
if (arguments.length < 2) { | |
if (typeof name === "string") { | |
var node = this.node(); | |
name = d3.ns.qualify(name); | |
return name.local ? node.getAttributeNS(name.space, name.local) : node.getAttribute(name); | |
} | |
for (value in name) this.each(d3_selection_attr(value, name[value])); | |
return this; | |
} | |
return this.each(d3_selection_attr(name, value)); | |
}; | |
function d3_selection_attr(name, value) { | |
name = d3.ns.qualify(name); | |
function attrNull() { | |
this.removeAttribute(name); | |
} | |
function attrNullNS() { | |
this.removeAttributeNS(name.space, name.local); | |
} | |
function attrConstant() { | |
this.setAttribute(name, value); | |
} | |
function attrConstantNS() { | |
this.setAttributeNS(name.space, name.local, value); | |
} | |
function attrFunction() { | |
var x = value.apply(this, arguments); | |
if (x == null) this.removeAttribute(name); else this.setAttribute(name, x); | |
} | |
function attrFunctionNS() { | |
var x = value.apply(this, arguments); | |
if (x == null) this.removeAttributeNS(name.space, name.local); else this.setAttributeNS(name.space, name.local, x); | |
} | |
return value == null ? name.local ? attrNullNS : attrNull : typeof value === "function" ? name.local ? attrFunctionNS : attrFunction : name.local ? attrConstantNS : attrConstant; | |
} | |
function d3_collapse(s) { | |
return s.trim().replace(/\s+/g, " "); | |
} | |
d3.requote = function(s) { | |
return s.replace(d3_requote_re, "\\$&"); | |
}; | |
var d3_requote_re = /[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g; | |
d3_selectionPrototype.classed = function(name, value) { | |
if (arguments.length < 2) { | |
if (typeof name === "string") { | |
var node = this.node(), n = (name = name.trim().split(/^|\s+/g)).length, i = -1; | |
if (value = node.classList) { | |
while (++i < n) if (!value.contains(name[i])) return false; | |
} else { | |
value = node.getAttribute("class"); | |
while (++i < n) if (!d3_selection_classedRe(name[i]).test(value)) return false; | |
} | |
return true; | |
} | |
for (value in name) this.each(d3_selection_classed(value, name[value])); | |
return this; | |
} | |
return this.each(d3_selection_classed(name, value)); | |
}; | |
function d3_selection_classedRe(name) { | |
return new RegExp("(?:^|\\s+)" + d3.requote(name) + "(?:\\s+|$)", "g"); | |
} | |
function d3_selection_classed(name, value) { | |
name = name.trim().split(/\s+/).map(d3_selection_classedName); | |
var n = name.length; | |
function classedConstant() { | |
var i = -1; | |
while (++i < n) name[i](this, value); | |
} | |
function classedFunction() { | |
var i = -1, x = value.apply(this, arguments); | |
while (++i < n) name[i](this, x); | |
} | |
return typeof value === "function" ? classedFunction : classedConstant; | |
} | |
function d3_selection_classedName(name) { | |
var re = d3_selection_classedRe(name); | |
return function(node, value) { | |
if (c = node.classList) return value ? c.add(name) : c.remove(name); | |
var c = node.getAttribute("class") || ""; | |
if (value) { | |
re.lastIndex = 0; | |
if (!re.test(c)) node.setAttribute("class", d3_collapse(c + " " + name)); | |
} else { | |
node.setAttribute("class", d3_collapse(c.replace(re, " "))); | |
} | |
}; | |
} | |
d3_selectionPrototype.style = function(name, value, priority) { | |
var n = arguments.length; | |
if (n < 3) { | |
if (typeof name !== "string") { | |
if (n < 2) value = ""; | |
for (priority in name) this.each(d3_selection_style(priority, name[priority], value)); | |
return this; | |
} | |
if (n < 2) return d3_window.getComputedStyle(this.node(), null).getPropertyValue(name); | |
priority = ""; | |
} | |
return this.each(d3_selection_style(name, value, priority)); | |
}; | |
function d3_selection_style(name, value, priority) { | |
function styleNull() { | |
this.style.removeProperty(name); | |
} | |
function styleConstant() { | |
this.style.setProperty(name, value, priority); | |
} | |
function styleFunction() { | |
var x = value.apply(this, arguments); | |
if (x == null) this.style.removeProperty(name); else this.style.setProperty(name, x, priority); | |
} | |
return value == null ? styleNull : typeof value === "function" ? styleFunction : styleConstant; | |
} | |
d3_selectionPrototype.property = function(name, value) { | |
if (arguments.length < 2) { | |
if (typeof name === "string") return this.node()[name]; | |
for (value in name) this.each(d3_selection_property(value, name[value])); | |
return this; | |
} | |
return this.each(d3_selection_property(name, value)); | |
}; | |
function d3_selection_property(name, value) { | |
function propertyNull() { | |
delete this[name]; | |
} | |
function propertyConstant() { | |
this[name] = value; | |
} | |
function propertyFunction() { | |
var x = value.apply(this, arguments); | |
if (x == null) delete this[name]; else this[name] = x; | |
} | |
return value == null ? propertyNull : typeof value === "function" ? propertyFunction : propertyConstant; | |
} | |
d3_selectionPrototype.text = function(value) { | |
return arguments.length ? this.each(typeof value === "function" ? function() { | |
var v = value.apply(this, arguments); | |
this.textContent = v == null ? "" : v; | |
} : value == null ? function() { | |
this.textContent = ""; | |
} : function() { | |
this.textContent = value; | |
}) : this.node().textContent; | |
}; | |
d3_selectionPrototype.html = function(value) { | |
return arguments.length ? this.each(typeof value === "function" ? function() { | |
var v = value.apply(this, arguments); | |
this.innerHTML = v == null ? "" : v; | |
} : value == null ? function() { | |
this.innerHTML = ""; | |
} : function() { | |
this.innerHTML = value; | |
}) : this.node().innerHTML; | |
}; | |
d3_selectionPrototype.append = function(name) { | |
name = d3.ns.qualify(name); | |
function append() { | |
return this.appendChild(d3_document.createElementNS(this.namespaceURI, name)); | |
} | |
function appendNS() { | |
return this.appendChild(d3_document.createElementNS(name.space, name.local)); | |
} | |
return this.select(name.local ? appendNS : append); | |
}; | |
d3_selectionPrototype.insert = function(name, before) { | |
name = d3.ns.qualify(name); | |
if (typeof before !== "function") before = d3_selection_selector(before); | |
function insert(d, i) { | |
return this.insertBefore(d3_document.createElementNS(this.namespaceURI, name), before.call(this, d, i)); | |
} | |
function insertNS(d, i) { | |
return this.insertBefore(d3_document.createElementNS(name.space, name.local), before.call(this, d, i)); | |
} | |
return this.select(name.local ? insertNS : insert); | |
}; | |
d3_selectionPrototype.remove = function() { | |
return this.each(function() { | |
var parent = this.parentNode; | |
if (parent) parent.removeChild(this); | |
}); | |
}; | |
d3_selectionPrototype.data = function(value, key) { | |
var i = -1, n = this.length, group, node; | |
if (!arguments.length) { | |
value = new Array(n = (group = this[0]).length); | |
while (++i < n) { | |
if (node = group[i]) { | |
value[i] = node.__data__; | |
} | |
} | |
return value; | |
} | |
function bind(group, groupData) { | |
var i, n = group.length, m = groupData.length, n0 = Math.min(n, m), updateNodes = new Array(m), enterNodes = new Array(m), exitNodes = new Array(n), node, nodeData; | |
if (key) { | |
var nodeByKeyValue = new d3_Map(), dataByKeyValue = new d3_Map(), keyValues = [], keyValue; | |
for (i = -1; ++i < n; ) { | |
keyValue = key.call(node = group[i], node.__data__, i); | |
if (nodeByKeyValue.has(keyValue)) { | |
exitNodes[i] = node; | |
} else { | |
nodeByKeyValue.set(keyValue, node); | |
} | |
keyValues.push(keyValue); | |
} | |
for (i = -1; ++i < m; ) { | |
keyValue = key.call(groupData, nodeData = groupData[i], i); | |
if (node = nodeByKeyValue.get(keyValue)) { | |
updateNodes[i] = node; | |
node.__data__ = nodeData; | |
} else if (!dataByKeyValue.has(keyValue)) { | |
enterNodes[i] = d3_selection_dataNode(nodeData); | |
} | |
dataByKeyValue.set(keyValue, nodeData); | |
nodeByKeyValue.remove(keyValue); | |
} | |
for (i = -1; ++i < n; ) { | |
if (nodeByKeyValue.has(keyValues[i])) { | |
exitNodes[i] = group[i]; | |
} | |
} | |
} else { | |
for (i = -1; ++i < n0; ) { | |
node = group[i]; | |
nodeData = groupData[i]; | |
if (node) { | |
node.__data__ = nodeData; | |
updateNodes[i] = node; | |
} else { | |
enterNodes[i] = d3_selection_dataNode(nodeData); | |
} | |
} | |
for (;i < m; ++i) { | |
enterNodes[i] = d3_selection_dataNode(groupData[i]); | |
} | |
for (;i < n; ++i) { | |
exitNodes[i] = group[i]; | |
} | |
} | |
enterNodes.update = updateNodes; | |
enterNodes.parentNode = updateNodes.parentNode = exitNodes.parentNode = group.parentNode; | |
enter.push(enterNodes); | |
update.push(updateNodes); | |
exit.push(exitNodes); | |
} | |
var enter = d3_selection_enter([]), update = d3_selection([]), exit = d3_selection([]); | |
if (typeof value === "function") { | |
while (++i < n) { | |
bind(group = this[i], value.call(group, group.parentNode.__data__, i)); | |
} | |
} else { | |
while (++i < n) { | |
bind(group = this[i], value); | |
} | |
} | |
update.enter = function() { | |
return enter; | |
}; | |
update.exit = function() { | |
return exit; | |
}; | |
return update; | |
}; | |
function d3_selection_dataNode(data) { | |
return { | |
__data__: data | |
}; | |
} | |
d3_selectionPrototype.datum = function(value) { | |
return arguments.length ? this.property("__data__", value) : this.property("__data__"); | |
}; | |
d3_selectionPrototype.filter = function(filter) { | |
var subgroups = [], subgroup, group, node; | |
if (typeof filter !== "function") filter = d3_selection_filter(filter); | |
for (var j = 0, m = this.length; j < m; j++) { | |
subgroups.push(subgroup = []); | |
subgroup.parentNode = (group = this[j]).parentNode; | |
for (var i = 0, n = group.length; i < n; i++) { | |
if ((node = group[i]) && filter.call(node, node.__data__, i)) { | |
subgroup.push(node); | |
} | |
} | |
} | |
return d3_selection(subgroups); | |
}; | |
function d3_selection_filter(selector) { | |
return function() { | |
return d3_selectMatches(this, selector); | |
}; | |
} | |
d3_selectionPrototype.order = function() { | |
for (var j = -1, m = this.length; ++j < m; ) { | |
for (var group = this[j], i = group.length - 1, next = group[i], node; --i >= 0; ) { | |
if (node = group[i]) { | |
if (next && next !== node.nextSibling) next.parentNode.insertBefore(node, next); | |
next = node; | |
} | |
} | |
} | |
return this; | |
}; | |
d3_selectionPrototype.sort = function(comparator) { | |
comparator = d3_selection_sortComparator.apply(this, arguments); | |
for (var j = -1, m = this.length; ++j < m; ) this[j].sort(comparator); | |
return this.order(); | |
}; | |
function d3_selection_sortComparator(comparator) { | |
if (!arguments.length) comparator = d3.ascending; | |
return function(a, b) { | |
return !a - !b || comparator(a.__data__, b.__data__); | |
}; | |
} | |
function d3_noop() {} | |
d3_selectionPrototype.on = function(type, listener, capture) { | |
var n = arguments.length; | |
if (n < 3) { | |
if (typeof type !== "string") { | |
if (n < 2) listener = false; | |
for (capture in type) this.each(d3_selection_on(capture, type[capture], listener)); | |
return this; | |
} | |
if (n < 2) return (n = this.node()["__on" + type]) && n._; | |
capture = false; | |
} | |
return this.each(d3_selection_on(type, listener, capture)); | |
}; | |
function d3_selection_on(type, listener, capture) { | |
var name = "__on" + type, i = type.indexOf("."), wrap = d3_selection_onListener; | |
if (i > 0) type = type.substring(0, i); | |
var filter = d3_selection_onFilters.get(type); | |
if (filter) type = filter, wrap = d3_selection_onFilter; | |
function onRemove() { | |
var l = this[name]; | |
if (l) { | |
this.removeEventListener(type, l, l.$); | |
delete this[name]; | |
} | |
} | |
function onAdd() { | |
var l = wrap(listener, d3_array(arguments)); | |
onRemove.call(this); | |
this.addEventListener(type, this[name] = l, l.$ = capture); | |
l._ = listener; | |
} | |
function removeAll() { | |
var re = new RegExp("^__on([^.]+)" + d3.requote(type) + "$"), match; | |
for (var name in this) { | |
if (match = name.match(re)) { | |
var l = this[name]; | |
this.removeEventListener(match[1], l, l.$); | |
delete this[name]; | |
} | |
} | |
} | |
return i ? listener ? onAdd : onRemove : listener ? d3_noop : removeAll; | |
} | |
var d3_selection_onFilters = d3.map({ | |
mouseenter: "mouseover", | |
mouseleave: "mouseout" | |
}); | |
d3_selection_onFilters.forEach(function(k) { | |
if ("on" + k in d3_document) d3_selection_onFilters.remove(k); | |
}); | |
function d3_selection_onListener(listener, argumentz) { | |
return function(e) { | |
var o = d3.event; | |
d3.event = e; | |
argumentz[0] = this.__data__; | |
try { | |
listener.apply(this, argumentz); | |
} finally { | |
d3.event = o; | |
} | |
}; | |
} | |
function d3_selection_onFilter(listener, argumentz) { | |
var l = d3_selection_onListener(listener, argumentz); | |
return function(e) { | |
var target = this, related = e.relatedTarget; | |
if (!related || related !== target && !(related.compareDocumentPosition(target) & 8)) { | |
l.call(target, e); | |
} | |
}; | |
} | |
d3_selectionPrototype.each = function(callback) { | |
return d3_selection_each(this, function(node, i, j) { | |
callback.call(node, node.__data__, i, j); | |
}); | |
}; | |
function d3_selection_each(groups, callback) { | |
for (var j = 0, m = groups.length; j < m; j++) { | |
for (var group = groups[j], i = 0, n = group.length, node; i < n; i++) { | |
if (node = group[i]) callback(node, i, j); | |
} | |
} | |
return groups; | |
} | |
d3_selectionPrototype.call = function(callback) { | |
var args = d3_array(arguments); | |
callback.apply(args[0] = this, args); | |
return this; | |
}; | |
d3_selectionPrototype.empty = function() { | |
return !this.node(); | |
}; | |
d3_selectionPrototype.node = function() { | |
for (var j = 0, m = this.length; j < m; j++) { | |
for (var group = this[j], i = 0, n = group.length; i < n; i++) { | |
var node = group[i]; | |
if (node) return node; | |
} | |
} | |
return null; | |
}; | |
function d3_selection_enter(selection) { | |
d3_arraySubclass(selection, d3_selection_enterPrototype); | |
return selection; | |
} | |
var d3_selection_enterPrototype = []; | |
d3.selection.enter = d3_selection_enter; | |
d3.selection.enter.prototype = d3_selection_enterPrototype; | |
d3_selection_enterPrototype.append = d3_selectionPrototype.append; | |
d3_selection_enterPrototype.insert = d3_selectionPrototype.insert; | |
d3_selection_enterPrototype.empty = d3_selectionPrototype.empty; | |
d3_selection_enterPrototype.node = d3_selectionPrototype.node; | |
d3_selection_enterPrototype.select = function(selector) { | |
var subgroups = [], subgroup, subnode, upgroup, group, node; | |
for (var j = -1, m = this.length; ++j < m; ) { | |
upgroup = (group = this[j]).update; | |
subgroups.push(subgroup = []); | |
subgroup.parentNode = group.parentNode; | |
for (var i = -1, n = group.length; ++i < n; ) { | |
if (node = group[i]) { | |
subgroup.push(upgroup[i] = subnode = selector.call(group.parentNode, node.__data__, i)); | |
subnode.__data__ = node.__data__; | |
} else { | |
subgroup.push(null); | |
} | |
} | |
} | |
return d3_selection(subgroups); | |
}; | |
d3_selectionPrototype.transition = function() { | |
var id = d3_transitionInheritId || ++d3_transitionId, subgroups = [], subgroup, node, transition = Object.create(d3_transitionInherit); | |
transition.time = Date.now(); | |
for (var j = -1, m = this.length; ++j < m; ) { | |
subgroups.push(subgroup = []); | |
for (var group = this[j], i = -1, n = group.length; ++i < n; ) { | |
if (node = group[i]) d3_transitionNode(node, i, id, transition); | |
subgroup.push(node); | |
} | |
} | |
return d3_transition(subgroups, id); | |
}; | |
d3.select = function(node) { | |
var group = [ typeof node === "string" ? d3_select(node, d3_document) : node ]; | |
group.parentNode = d3_selectRoot; | |
return d3_selection([ group ]); | |
}; | |
d3.selectAll = function(nodes) { | |
var group = d3_array(typeof nodes === "string" ? d3_selectAll(nodes, d3_document) : nodes); | |
group.parentNode = d3_selectRoot; | |
return d3_selection([ group ]); | |
}; | |
var d3_selectionRoot = d3.select(d3_selectRoot); | |
d3.behavior.zoom = function() { | |
var translate = [ 0, 0 ], translate0, scale = 1, scale0, scaleExtent = d3_behavior_zoomInfinity, event = d3_eventDispatch(zoom, "zoom"), x0, x1, y0, y1, touchtime; | |
function zoom() { | |
this.on("mousedown.zoom", mousedown).on("mousemove.zoom", mousemove).on(d3_behavior_zoomWheel + ".zoom", mousewheel).on("dblclick.zoom", dblclick).on("touchstart.zoom", touchstart).on("touchmove.zoom", touchmove).on("touchend.zoom", touchstart); | |
} | |
zoom.translate = function(x) { | |
if (!arguments.length) return translate; | |
translate = x.map(Number); | |
rescale(); | |
return zoom; | |
}; | |
zoom.scale = function(x) { | |
if (!arguments.length) return scale; | |
scale = +x; | |
rescale(); | |
return zoom; | |
}; | |
zoom.scaleExtent = function(x) { | |
if (!arguments.length) return scaleExtent; | |
scaleExtent = x == null ? d3_behavior_zoomInfinity : x.map(Number); | |
return zoom; | |
}; | |
zoom.x = function(z) { | |
if (!arguments.length) return x1; | |
x1 = z; | |
x0 = z.copy(); | |
translate = [ 0, 0 ]; | |
scale = 1; | |
return zoom; | |
}; | |
zoom.y = function(z) { | |
if (!arguments.length) return y1; | |
y1 = z; | |
y0 = z.copy(); | |
translate = [ 0, 0 ]; | |
scale = 1; | |
return zoom; | |
}; | |
function location(p) { | |
return [ (p[0] - translate[0]) / scale, (p[1] - translate[1]) / scale ]; | |
} | |
function point(l) { | |
return [ l[0] * scale + translate[0], l[1] * scale + translate[1] ]; | |
} | |
function scaleTo(s) { | |
scale = Math.max(scaleExtent[0], Math.min(scaleExtent[1], s)); | |
} | |
function translateTo(p, l) { | |
l = point(l); | |
translate[0] += p[0] - l[0]; | |
translate[1] += p[1] - l[1]; | |
} | |
function rescale() { | |
if (x1) x1.domain(x0.range().map(function(x) { | |
return (x - translate[0]) / scale; | |
}).map(x0.invert)); | |
if (y1) y1.domain(y0.range().map(function(y) { | |
return (y - translate[1]) / scale; | |
}).map(y0.invert)); | |
} | |
function dispatch(event) { | |
rescale(); | |
d3.event.preventDefault(); | |
event({ | |
type: "zoom", | |
scale: scale, | |
translate: translate | |
}); | |
} | |
function mousedown() { | |
var target = this, event_ = event.of(target, arguments), eventTarget = d3.event.target, moved = 0, w = d3.select(d3_window).on("mousemove.zoom", mousemove).on("mouseup.zoom", mouseup), l = location(d3.mouse(target)); | |
d3_window.focus(); | |
d3_eventCancel(); | |
function mousemove() { | |
moved = 1; | |
translateTo(d3.mouse(target), l); | |
dispatch(event_); | |
} | |
function mouseup() { | |
if (moved) d3_eventCancel(); | |
w.on("mousemove.zoom", null).on("mouseup.zoom", null); | |
if (moved && d3.event.target === eventTarget) d3_eventSuppress(w, "click.zoom"); | |
} | |
} | |
function mousewheel() { | |
if (!translate0) translate0 = location(d3.mouse(this)); | |
scaleTo(Math.pow(2, d3_behavior_zoomDelta() * .002) * scale); | |
translateTo(d3.mouse(this), translate0); | |
dispatch(event.of(this, arguments)); | |
} | |
function mousemove() { | |
translate0 = null; | |
} | |
function dblclick() { | |
var p = d3.mouse(this), l = location(p), k = Math.log(scale) / Math.LN2; | |
scaleTo(Math.pow(2, d3.event.shiftKey ? Math.ceil(k) - 1 : Math.floor(k) + 1)); | |
translateTo(p, l); | |
dispatch(event.of(this, arguments)); | |
} | |
function touchstart() { | |
var touches = d3.touches(this), now = Date.now(); | |
scale0 = scale; | |
translate0 = {}; | |
touches.forEach(function(t) { | |
translate0[t.identifier] = location(t); | |
}); | |
d3_eventCancel(); | |
if (touches.length === 1) { | |
if (now - touchtime < 500) { | |
var p = touches[0], l = location(touches[0]); | |
scaleTo(scale * 2); | |
translateTo(p, l); | |
dispatch(event.of(this, arguments)); | |
} | |
touchtime = now; | |
} | |
} | |
function touchmove() { | |
var touches = d3.touches(this), p0 = touches[0], l0 = translate0[p0.identifier]; | |
if (p1 = touches[1]) { | |
var p1, l1 = translate0[p1.identifier]; | |
p0 = [ (p0[0] + p1[0]) / 2, (p0[1] + p1[1]) / 2 ]; | |
l0 = [ (l0[0] + l1[0]) / 2, (l0[1] + l1[1]) / 2 ]; | |
scaleTo(d3.event.scale * scale0); | |
} | |
translateTo(p0, l0); | |
touchtime = null; | |
dispatch(event.of(this, arguments)); | |
} | |
return d3.rebind(zoom, event, "on"); | |
}; | |
var d3_behavior_zoomInfinity = [ 0, Infinity ]; | |
var d3_behavior_zoomDelta, d3_behavior_zoomWheel = "onwheel" in d3_document ? (d3_behavior_zoomDelta = function() { | |
return -d3.event.deltaY * (d3.event.deltaMode ? 120 : 1); | |
}, "wheel") : "onmousewheel" in d3_document ? (d3_behavior_zoomDelta = function() { | |
return d3.event.wheelDelta; | |
}, "mousewheel") : (d3_behavior_zoomDelta = function() { | |
return -d3.event.detail; | |
}, "MozMousePixelScroll"); | |
function d3_Color() {} | |
d3_Color.prototype.toString = function() { | |
return this.rgb() + ""; | |
}; | |
d3.hsl = function(h, s, l) { | |
return arguments.length === 1 ? h instanceof d3_Hsl ? d3_hsl(h.h, h.s, h.l) : d3_rgb_parse("" + h, d3_rgb_hsl, d3_hsl) : d3_hsl(+h, +s, +l); | |
}; | |
function d3_hsl(h, s, l) { | |
return new d3_Hsl(h, s, l); | |
} | |
function d3_Hsl(h, s, l) { | |
this.h = h; | |
this.s = s; | |
this.l = l; | |
} | |
var d3_hslPrototype = d3_Hsl.prototype = new d3_Color(); | |
d3_hslPrototype.brighter = function(k) { | |
k = Math.pow(.7, arguments.length ? k : 1); | |
return d3_hsl(this.h, this.s, this.l / k); | |
}; | |
d3_hslPrototype.darker = function(k) { | |
k = Math.pow(.7, arguments.length ? k : 1); | |
return d3_hsl(this.h, this.s, k * this.l); | |
}; | |
d3_hslPrototype.rgb = function() { | |
return d3_hsl_rgb(this.h, this.s, this.l); | |
}; | |
function d3_hsl_rgb(h, s, l) { | |
var m1, m2; | |
h = isNaN(h) ? 0 : (h %= 360) < 0 ? h + 360 : h; | |
s = isNaN(s) ? 0 : s < 0 ? 0 : s > 1 ? 1 : s; | |
l = l < 0 ? 0 : l > 1 ? 1 : l; | |
m2 = l <= .5 ? l * (1 + s) : l + s - l * s; | |
m1 = 2 * l - m2; | |
function v(h) { | |
if (h > 360) h -= 360; else if (h < 0) h += 360; | |
if (h < 60) return m1 + (m2 - m1) * h / 60; | |
if (h < 180) return m2; | |
if (h < 240) return m1 + (m2 - m1) * (240 - h) / 60; | |
return m1; | |
} | |
function vv(h) { | |
return Math.round(v(h) * 255); | |
} | |
return d3_rgb(vv(h + 120), vv(h), vv(h - 120)); | |
} | |
var π = Math.PI, ε = 1e-6, ε2 = ε * ε, d3_radians = π / 180, d3_degrees = 180 / π; | |
function d3_sgn(x) { | |
return x > 0 ? 1 : x < 0 ? -1 : 0; | |
} | |
function d3_acos(x) { | |
return Math.acos(Math.max(-1, Math.min(1, x))); | |
} | |
function d3_asin(x) { | |
return x > 1 ? π / 2 : x < -1 ? -π / 2 : Math.asin(x); | |
} | |
function d3_sinh(x) { | |
return (Math.exp(x) - Math.exp(-x)) / 2; | |
} | |
function d3_cosh(x) { | |
return (Math.exp(x) + Math.exp(-x)) / 2; | |
} | |
function d3_haversin(x) { | |
return (x = Math.sin(x / 2)) * x; | |
} | |
d3.hcl = function(h, c, l) { | |
return arguments.length === 1 ? h instanceof d3_Hcl ? d3_hcl(h.h, h.c, h.l) : h instanceof d3_Lab ? d3_lab_hcl(h.l, h.a, h.b) : d3_lab_hcl((h = d3_rgb_lab((h = d3.rgb(h)).r, h.g, h.b)).l, h.a, h.b) : d3_hcl(+h, +c, +l); | |
}; | |
function d3_hcl(h, c, l) { | |
return new d3_Hcl(h, c, l); | |
} | |
function d3_Hcl(h, c, l) { | |
this.h = h; | |
this.c = c; | |
this.l = l; | |
} | |
var d3_hclPrototype = d3_Hcl.prototype = new d3_Color(); | |
d3_hclPrototype.brighter = function(k) { | |
return d3_hcl(this.h, this.c, Math.min(100, this.l + d3_lab_K * (arguments.length ? k : 1))); | |
}; | |
d3_hclPrototype.darker = function(k) { | |
return d3_hcl(this.h, this.c, Math.max(0, this.l - d3_lab_K * (arguments.length ? k : 1))); | |
}; | |
d3_hclPrototype.rgb = function() { | |
return d3_hcl_lab(this.h, this.c, this.l).rgb(); | |
}; | |
function d3_hcl_lab(h, c, l) { | |
if (isNaN(h)) h = 0; | |
if (isNaN(c)) c = 0; | |
return d3_lab(l, Math.cos(h *= d3_radians) * c, Math.sin(h) * c); | |
} | |
d3.lab = function(l, a, b) { | |
return arguments.length === 1 ? l instanceof d3_Lab ? d3_lab(l.l, l.a, l.b) : l instanceof d3_Hcl ? d3_hcl_lab(l.l, l.c, l.h) : d3_rgb_lab((l = d3.rgb(l)).r, l.g, l.b) : d3_lab(+l, +a, +b); | |
}; | |
function d3_lab(l, a, b) { | |
return new d3_Lab(l, a, b); | |
} | |
function d3_Lab(l, a, b) { | |
this.l = l; | |
this.a = a; | |
this.b = b; | |
} | |
var d3_lab_K = 18; | |
var d3_lab_X = .95047, d3_lab_Y = 1, d3_lab_Z = 1.08883; | |
var d3_labPrototype = d3_Lab.prototype = new d3_Color(); | |
d3_labPrototype.brighter = function(k) { | |
return d3_lab(Math.min(100, this.l + d3_lab_K * (arguments.length ? k : 1)), this.a, this.b); | |
}; | |
d3_labPrototype.darker = function(k) { | |
return d3_lab(Math.max(0, this.l - d3_lab_K * (arguments.length ? k : 1)), this.a, this.b); | |
}; | |
d3_labPrototype.rgb = function() { | |
return d3_lab_rgb(this.l, this.a, this.b); | |
}; | |
function d3_lab_rgb(l, a, b) { | |
var y = (l + 16) / 116, x = y + a / 500, z = y - b / 200; | |
x = d3_lab_xyz(x) * d3_lab_X; | |
y = d3_lab_xyz(y) * d3_lab_Y; | |
z = d3_lab_xyz(z) * d3_lab_Z; | |
return d3_rgb(d3_xyz_rgb(3.2404542 * x - 1.5371385 * y - .4985314 * z), d3_xyz_rgb(-.969266 * x + 1.8760108 * y + .041556 * z), d3_xyz_rgb(.0556434 * x - .2040259 * y + 1.0572252 * z)); | |
} | |
function d3_lab_hcl(l, a, b) { | |
return l > 0 ? d3_hcl(Math.atan2(b, a) * d3_degrees, Math.sqrt(a * a + b * b), l) : d3_hcl(NaN, NaN, l); | |
} | |
function d3_lab_xyz(x) { | |
return x > .206893034 ? x * x * x : (x - 4 / 29) / 7.787037; | |
} | |
function d3_xyz_lab(x) { | |
return x > .008856 ? Math.pow(x, 1 / 3) : 7.787037 * x + 4 / 29; | |
} | |
function d3_xyz_rgb(r) { | |
return Math.round(255 * (r <= .00304 ? 12.92 * r : 1.055 * Math.pow(r, 1 / 2.4) - .055)); | |
} | |
d3.rgb = function(r, g, b) { | |
return arguments.length === 1 ? r instanceof d3_Rgb ? d3_rgb(r.r, r.g, r.b) : d3_rgb_parse("" + r, d3_rgb, d3_hsl_rgb) : d3_rgb(~~r, ~~g, ~~b); | |
}; | |
function d3_rgb(r, g, b) { | |
return new d3_Rgb(r, g, b); | |
} | |
function d3_Rgb(r, g, b) { | |
this.r = r; | |
this.g = g; | |
this.b = b; | |
} | |
var d3_rgbPrototype = d3_Rgb.prototype = new d3_Color(); | |
d3_rgbPrototype.brighter = function(k) { | |
k = Math.pow(.7, arguments.length ? k : 1); | |
var r = this.r, g = this.g, b = this.b, i = 30; | |
if (!r && !g && !b) return d3_rgb(i, i, i); | |
if (r && r < i) r = i; | |
if (g && g < i) g = i; | |
if (b && b < i) b = i; | |
return d3_rgb(Math.min(255, Math.floor(r / k)), Math.min(255, Math.floor(g / k)), Math.min(255, Math.floor(b / k))); | |
}; | |
d3_rgbPrototype.darker = function(k) { | |
k = Math.pow(.7, arguments.length ? k : 1); | |
return d3_rgb(Math.floor(k * this.r), Math.floor(k * this.g), Math.floor(k * this.b)); | |
}; | |
d3_rgbPrototype.hsl = function() { | |
return d3_rgb_hsl(this.r, this.g, this.b); | |
}; | |
d3_rgbPrototype.toString = function() { | |
return "#" + d3_rgb_hex(this.r) + d3_rgb_hex(this.g) + d3_rgb_hex(this.b); | |
}; | |
function d3_rgb_hex(v) { | |
return v < 16 ? "0" + Math.max(0, v).toString(16) : Math.min(255, v).toString(16); | |
} | |
function d3_rgb_parse(format, rgb, hsl) { | |
var r = 0, g = 0, b = 0, m1, m2, name; | |
m1 = /([a-z]+)\((.*)\)/i.exec(format); | |
if (m1) { | |
m2 = m1[2].split(","); | |
switch (m1[1]) { | |
case "hsl": | |
{ | |
return hsl(parseFloat(m2[0]), parseFloat(m2[1]) / 100, parseFloat(m2[2]) / 100); | |
} | |
case "rgb": | |
{ | |
return rgb(d3_rgb_parseNumber(m2[0]), d3_rgb_parseNumber(m2[1]), d3_rgb_parseNumber(m2[2])); | |
} | |
} | |
} | |
if (name = d3_rgb_names.get(format)) return rgb(name.r, name.g, name.b); | |
if (format != null && format.charAt(0) === "#") { | |
if (format.length === 4) { | |
r = format.charAt(1); | |
r += r; | |
g = format.charAt(2); | |
g += g; | |
b = format.charAt(3); | |
b += b; | |
} else if (format.length === 7) { | |
r = format.substring(1, 3); | |
g = format.substring(3, 5); | |
b = format.substring(5, 7); | |
} | |
r = parseInt(r, 16); | |
g = parseInt(g, 16); | |
b = parseInt(b, 16); | |
} | |
return rgb(r, g, b); | |
} | |
function d3_rgb_hsl(r, g, b) { | |
var min = Math.min(r /= 255, g /= 255, b /= 255), max = Math.max(r, g, b), d = max - min, h, s, l = (max + min) / 2; | |
if (d) { | |
s = l < .5 ? d / (max + min) : d / (2 - max - min); | |
if (r == max) h = (g - b) / d + (g < b ? 6 : 0); else if (g == max) h = (b - r) / d + 2; else h = (r - g) / d + 4; | |
h *= 60; | |
} else { | |
h = NaN; | |
s = l > 0 && l < 1 ? 0 : h; | |
} | |
return d3_hsl(h, s, l); | |
} | |
function d3_rgb_lab(r, g, b) { | |
r = d3_rgb_xyz(r); | |
g = d3_rgb_xyz(g); | |
b = d3_rgb_xyz(b); | |
var x = d3_xyz_lab((.4124564 * r + .3575761 * g + .1804375 * b) / d3_lab_X), y = d3_xyz_lab((.2126729 * r + .7151522 * g + .072175 * b) / d3_lab_Y), z = d3_xyz_lab((.0193339 * r + .119192 * g + .9503041 * b) / d3_lab_Z); | |
return d3_lab(116 * y - 16, 500 * (x - y), 200 * (y - z)); | |
} | |
function d3_rgb_xyz(r) { | |
return (r /= 255) <= .04045 ? r / 12.92 : Math.pow((r + .055) / 1.055, 2.4); | |
} | |
function d3_rgb_parseNumber(c) { | |
var f = parseFloat(c); | |
return c.charAt(c.length - 1) === "%" ? Math.round(f * 2.55) : f; | |
} | |
var d3_rgb_names = d3.map({ | |
aliceblue: "#f0f8ff", | |
antiquewhite: "#faebd7", | |
aqua: "#00ffff", | |
aquamarine: "#7fffd4", | |
azure: "#f0ffff", | |
beige: "#f5f5dc", | |
bisque: "#ffe4c4", | |
black: "#000000", | |
blanchedalmond: "#ffebcd", | |
blue: "#0000ff", | |
blueviolet: "#8a2be2", | |
brown: "#a52a2a", | |
burlywood: "#deb887", | |
cadetblue: "#5f9ea0", | |
chartreuse: "#7fff00", | |
chocolate: "#d2691e", | |
coral: "#ff7f50", | |
cornflowerblue: "#6495ed", | |
cornsilk: "#fff8dc", | |
crimson: "#dc143c", | |
cyan: "#00ffff", | |
darkblue: "#00008b", | |
darkcyan: "#008b8b", | |
darkgoldenrod: "#b8860b", | |
darkgray: "#a9a9a9", | |
darkgreen: "#006400", | |
darkgrey: "#a9a9a9", | |
darkkhaki: "#bdb76b", | |
darkmagenta: "#8b008b", | |
darkolivegreen: "#556b2f", | |
darkorange: "#ff8c00", | |
darkorchid: "#9932cc", | |
darkred: "#8b0000", | |
darksalmon: "#e9967a", | |
darkseagreen: "#8fbc8f", | |
darkslateblue: "#483d8b", | |
darkslategray: "#2f4f4f", | |
darkslategrey: "#2f4f4f", | |
darkturquoise: "#00ced1", | |
darkviolet: "#9400d3", | |
deeppink: "#ff1493", | |
deepskyblue: "#00bfff", | |
dimgray: "#696969", | |
dimgrey: "#696969", | |
dodgerblue: "#1e90ff", | |
firebrick: "#b22222", | |
floralwhite: "#fffaf0", | |
forestgreen: "#228b22", | |
fuchsia: "#ff00ff", | |
gainsboro: "#dcdcdc", | |
ghostwhite: "#f8f8ff", | |
gold: "#ffd700", | |
goldenrod: "#daa520", | |
gray: "#808080", | |
green: "#008000", | |
greenyellow: "#adff2f", | |
grey: "#808080", | |
honeydew: "#f0fff0", | |
hotpink: "#ff69b4", | |
indianred: "#cd5c5c", | |
indigo: "#4b0082", | |
ivory: "#fffff0", | |
khaki: "#f0e68c", | |
lavender: "#e6e6fa", | |
lavenderblush: "#fff0f5", | |
lawngreen: "#7cfc00", | |
lemonchiffon: "#fffacd", | |
lightblue: "#add8e6", | |
lightcoral: "#f08080", | |
lightcyan: "#e0ffff", | |
lightgoldenrodyellow: "#fafad2", | |
lightgray: "#d3d3d3", | |
lightgreen: "#90ee90", | |
lightgrey: "#d3d3d3", | |
lightpink: "#ffb6c1", | |
lightsalmon: "#ffa07a", | |
lightseagreen: "#20b2aa", | |
lightskyblue: "#87cefa", | |
lightslategray: "#778899", | |
lightslategrey: "#778899", | |
lightsteelblue: "#b0c4de", | |
lightyellow: "#ffffe0", | |
lime: "#00ff00", | |
limegreen: "#32cd32", | |
linen: "#faf0e6", | |
magenta: "#ff00ff", | |
maroon: "#800000", | |
mediumaquamarine: "#66cdaa", | |
mediumblue: "#0000cd", | |
mediumorchid: "#ba55d3", | |
mediumpurple: "#9370db", | |
mediumseagreen: "#3cb371", | |
mediumslateblue: "#7b68ee", | |
mediumspringgreen: "#00fa9a", | |
mediumturquoise: "#48d1cc", | |
mediumvioletred: "#c71585", | |
midnightblue: "#191970", | |
mintcream: "#f5fffa", | |
mistyrose: "#ffe4e1", | |
moccasin: "#ffe4b5", | |
navajowhite: "#ffdead", | |
navy: "#000080", | |
oldlace: "#fdf5e6", | |
olive: "#808000", | |
olivedrab: "#6b8e23", | |
orange: "#ffa500", | |
orangered: "#ff4500", | |
orchid: "#da70d6", | |
palegoldenrod: "#eee8aa", | |
palegreen: "#98fb98", | |
paleturquoise: "#afeeee", | |
palevioletred: "#db7093", | |
papayawhip: "#ffefd5", | |
peachpuff: "#ffdab9", | |
peru: "#cd853f", | |
pink: "#ffc0cb", | |
plum: "#dda0dd", | |
powderblue: "#b0e0e6", | |
purple: "#800080", | |
red: "#ff0000", | |
rosybrown: "#bc8f8f", | |
royalblue: "#4169e1", | |
saddlebrown: "#8b4513", | |
salmon: "#fa8072", | |
sandybrown: "#f4a460", | |
seagreen: "#2e8b57", | |
seashell: "#fff5ee", | |
sienna: "#a0522d", | |
silver: "#c0c0c0", | |
skyblue: "#87ceeb", | |
slateblue: "#6a5acd", | |
slategray: "#708090", | |
slategrey: "#708090", | |
snow: "#fffafa", | |
springgreen: "#00ff7f", | |
steelblue: "#4682b4", | |
tan: "#d2b48c", | |
teal: "#008080", | |
thistle: "#d8bfd8", | |
tomato: "#ff6347", | |
turquoise: "#40e0d0", | |
violet: "#ee82ee", | |
wheat: "#f5deb3", | |
white: "#ffffff", | |
whitesmoke: "#f5f5f5", | |
yellow: "#ffff00", | |
yellowgreen: "#9acd32" | |
}); | |
d3_rgb_names.forEach(function(key, value) { | |
d3_rgb_names.set(key, d3_rgb_parse(value, d3_rgb, d3_hsl_rgb)); | |
}); | |
function d3_functor(v) { | |
return typeof v === "function" ? v : function() { | |
return v; | |
}; | |
} | |
d3.functor = d3_functor; | |
function d3_identity(d) { | |
return d; | |
} | |
d3.xhr = function(url, mimeType, callback) { | |
var xhr = {}, dispatch = d3.dispatch("progress", "load", "error"), headers = {}, response = d3_identity, request = new (d3_window.XDomainRequest && /^(http(s)?:)?\/\//.test(url) ? XDomainRequest : XMLHttpRequest)(); | |
"onload" in request ? request.onload = request.onerror = respond : request.onreadystatechange = function() { | |
request.readyState > 3 && respond(); | |
}; | |
function respond() { | |
var s = request.status; | |
!s && request.responseText || s >= 200 && s < 300 || s === 304 ? dispatch.load.call(xhr, response.call(xhr, request)) : dispatch.error.call(xhr, request); | |
} | |
request.onprogress = function(event) { | |
var o = d3.event; | |
d3.event = event; | |
try { | |
dispatch.progress.call(xhr, request); | |
} finally { | |
d3.event = o; | |
} | |
}; | |
xhr.header = function(name, value) { | |
name = (name + "").toLowerCase(); | |
if (arguments.length < 2) return headers[name]; | |
if (value == null) delete headers[name]; else headers[name] = value + ""; | |
return xhr; | |
}; | |
xhr.mimeType = function(value) { | |
if (!arguments.length) return mimeType; | |
mimeType = value == null ? null : value + ""; | |
return xhr; | |
}; | |
xhr.response = function(value) { | |
response = value; | |
return xhr; | |
}; | |
[ "get", "post" ].forEach(function(method) { | |
xhr[method] = function() { | |
return xhr.send.apply(xhr, [ method ].concat(d3_array(arguments))); | |
}; | |
}); | |
xhr.send = function(method, data, callback) { | |
if (arguments.length === 2 && typeof data === "function") callback = data, data = null; | |
request.open(method, url, true); | |
if (mimeType != null && !("accept" in headers)) headers["accept"] = mimeType + ",*/*"; | |
if (request.setRequestHeader) for (var name in headers) request.setRequestHeader(name, headers[name]); | |
if (mimeType != null && request.overrideMimeType) request.overrideMimeType(mimeType); | |
if (callback != null) xhr.on("error", callback).on("load", function(request) { | |
callback(null, request); | |
}); | |
request.send(data == null ? null : data); | |
return xhr; | |
}; | |
xhr.abort = function() { | |
request.abort(); | |
return xhr; | |
}; | |
d3.rebind(xhr, dispatch, "on"); | |
if (arguments.length === 2 && typeof mimeType === "function") callback = mimeType, | |
mimeType = null; | |
return callback == null ? xhr : xhr.get(d3_xhr_fixCallback(callback)); | |
}; | |
function d3_xhr_fixCallback(callback) { | |
return callback.length === 1 ? function(error, request) { | |
callback(error == null ? request : null); | |
} : callback; | |
} | |
function d3_dsv(delimiter, mimeType) { | |
var reFormat = new RegExp('["' + delimiter + "\n]"), delimiterCode = delimiter.charCodeAt(0); | |
function dsv(url, row, callback) { | |
if (arguments.length < 3) callback = row, row = null; | |
var xhr = d3.xhr(url, mimeType, callback); | |
xhr.row = function(_) { | |
return arguments.length ? xhr.response((row = _) == null ? response : typedResponse(_)) : row; | |
}; | |
return xhr.row(row); | |
} | |
function response(request) { | |
return dsv.parse(request.responseText); | |
} | |
function typedResponse(f) { | |
return function(request) { | |
return dsv.parse(request.responseText, f); | |
}; | |
} | |
dsv.parse = function(text, f) { | |
var o; | |
return dsv.parseRows(text, function(row, i) { | |
if (o) return o(row, i - 1); | |
var a = new Function("d", "return {" + row.map(function(name, i) { | |
return JSON.stringify(name) + ": d[" + i + "]"; | |
}).join(",") + "}"); | |
o = f ? function(row, i) { | |
return f(a(row), i); | |
} : a; | |
}); | |
}; | |
dsv.parseRows = function(text, f) { | |
var EOL = {}, EOF = {}, rows = [], N = text.length, I = 0, n = 0, t, eol; | |
function token() { | |
if (I >= N) return EOF; | |
if (eol) return eol = false, EOL; | |
var j = I; | |
if (text.charCodeAt(j) === 34) { | |
var i = j; | |
while (i++ < N) { | |
if (text.charCodeAt(i) === 34) { | |
if (text.charCodeAt(i + 1) !== 34) break; | |
++i; | |
} | |
} | |
I = i + 2; | |
var c = text.charCodeAt(i + 1); | |
if (c === 13) { | |
eol = true; | |
if (text.charCodeAt(i + 2) === 10) ++I; | |
} else if (c === 10) { | |
eol = true; | |
} | |
return text.substring(j + 1, i).replace(/""/g, '"'); | |
} | |
while (I < N) { | |
var c = text.charCodeAt(I++), k = 1; | |
if (c === 10) eol = true; else if (c === 13) { | |
eol = true; | |
if (text.charCodeAt(I) === 10) ++I, ++k; | |
} else if (c !== delimiterCode) continue; | |
return text.substring(j, I - k); | |
} | |
return text.substring(j); | |
} | |
while ((t = token()) !== EOF) { | |
var a = []; | |
while (t !== EOL && t !== EOF) { | |
a.push(t); | |
t = token(); | |
} | |
if (f && !(a = f(a, n++))) continue; | |
rows.push(a); | |
} | |
return rows; | |
}; | |
dsv.format = function(rows) { | |
if (Array.isArray(rows[0])) return dsv.formatRows(rows); | |
var fieldSet = new d3_Set(), fields = []; | |
rows.forEach(function(row) { | |
for (var field in row) { | |
if (!fieldSet.has(field)) { | |
fields.push(fieldSet.add(field)); | |
} | |
} | |
}); | |
return [ fields.map(formatValue).join(delimiter) ].concat(rows.map(function(row) { | |
return fields.map(function(field) { | |
return formatValue(row[field]); | |
}).join(delimiter); | |
})).join("\n"); | |
}; | |
dsv.formatRows = function(rows) { | |
return rows.map(formatRow).join("\n"); | |
}; | |
function formatRow(row) { | |
return row.map(formatValue).join(delimiter); | |
} | |
function formatValue(text) { | |
return reFormat.test(text) ? '"' + text.replace(/\"/g, '""') + '"' : text; | |
} | |
return dsv; | |
} | |
d3.csv = d3_dsv(",", "text/csv"); | |
d3.tsv = d3_dsv(" ", "text/tab-separated-values"); | |
var d3_timer_id = 0, d3_timer_byId = {}, d3_timer_queue = null, d3_timer_interval, d3_timer_timeout; | |
d3.timer = function(callback, delay, then) { | |
if (arguments.length < 3) { | |
if (arguments.length < 2) delay = 0; else if (!isFinite(delay)) return; | |
then = Date.now(); | |
} | |
var timer = d3_timer_byId[callback.id]; | |
if (timer && timer.callback === callback) { | |
timer.then = then; | |
timer.delay = delay; | |
} else d3_timer_byId[callback.id = ++d3_timer_id] = d3_timer_queue = { | |
callback: callback, | |
then: then, | |
delay: delay, | |
next: d3_timer_queue | |
}; | |
if (!d3_timer_interval) { | |
d3_timer_timeout = clearTimeout(d3_timer_timeout); | |
d3_timer_interval = 1; | |
d3_timer_frame(d3_timer_step); | |
} | |
}; | |
function d3_timer_step() { | |
var elapsed, now = Date.now(), t1 = d3_timer_queue; | |
while (t1) { | |
elapsed = now - t1.then; | |
if (elapsed >= t1.delay) t1.flush = t1.callback(elapsed); | |
t1 = t1.next; | |
} | |
var delay = d3_timer_flush() - now; | |
if (delay > 24) { | |
if (isFinite(delay)) { | |
clearTimeout(d3_timer_timeout); | |
d3_timer_timeout = setTimeout(d3_timer_step, delay); | |
} | |
d3_timer_interval = 0; | |
} else { | |
d3_timer_interval = 1; | |
d3_timer_frame(d3_timer_step); | |
} | |
} | |
d3.timer.flush = function() { | |
var elapsed, now = Date.now(), t1 = d3_timer_queue; | |
while (t1) { | |
elapsed = now - t1.then; | |
if (!t1.delay) t1.flush = t1.callback(elapsed); | |
t1 = t1.next; | |
} | |
d3_timer_flush(); | |
}; | |
function d3_timer_flush() { | |
var t0 = null, t1 = d3_timer_queue, then = Infinity; | |
while (t1) { | |
if (t1.flush) { | |
delete d3_timer_byId[t1.callback.id]; | |
t1 = t0 ? t0.next = t1.next : d3_timer_queue = t1.next; | |
} else { | |
then = Math.min(then, t1.then + t1.delay); | |
t1 = (t0 = t1).next; | |
} | |
} | |
return then; | |
} | |
var d3_timer_frame = d3_window.requestAnimationFrame || d3_window.webkitRequestAnimationFrame || d3_window.mozRequestAnimationFrame || d3_window.oRequestAnimationFrame || d3_window.msRequestAnimationFrame || function(callback) { | |
setTimeout(callback, 17); | |
}; | |
var d3_format_decimalPoint = ".", d3_format_thousandsSeparator = ",", d3_format_grouping = [ 3, 3 ]; | |
var d3_formatPrefixes = [ "y", "z", "a", "f", "p", "n", "µ", "m", "", "k", "M", "G", "T", "P", "E", "Z", "Y" ].map(d3_formatPrefix); | |
d3.formatPrefix = function(value, precision) { | |
var i = 0; | |
if (value) { | |
if (value < 0) value *= -1; | |
if (precision) value = d3.round(value, d3_format_precision(value, precision)); | |
i = 1 + Math.floor(1e-12 + Math.log(value) / Math.LN10); | |
i = Math.max(-24, Math.min(24, Math.floor((i <= 0 ? i + 1 : i - 1) / 3) * 3)); | |
} | |
return d3_formatPrefixes[8 + i / 3]; | |
}; | |
function d3_formatPrefix(d, i) { | |
var k = Math.pow(10, Math.abs(8 - i) * 3); | |
return { | |
scale: i > 8 ? function(d) { | |
return d / k; | |
} : function(d) { | |
return d * k; | |
}, | |
symbol: d | |
}; | |
} | |
d3.round = function(x, n) { | |
return n ? Math.round(x * (n = Math.pow(10, n))) / n : Math.round(x); | |
}; | |
d3.format = function(specifier) { | |
var match = d3_format_re.exec(specifier), fill = match[1] || " ", align = match[2] || ">", sign = match[3] || "", basePrefix = match[4] || "", zfill = match[5], width = +match[6], comma = match[7], precision = match[8], type = match[9], scale = 1, suffix = "", integer = false; | |
if (precision) precision = +precision.substring(1); | |
if (zfill || fill === "0" && align === "=") { | |
zfill = fill = "0"; | |
align = "="; | |
if (comma) width -= Math.floor((width - 1) / 4); | |
} | |
switch (type) { | |
case "n": | |
comma = true; | |
type = "g"; | |
break; | |
case "%": | |
scale = 100; | |
suffix = "%"; | |
type = "f"; | |
break; | |
case "p": | |
scale = 100; | |
suffix = "%"; | |
type = "r"; | |
break; | |
case "b": | |
case "o": | |
case "x": | |
case "X": | |
if (basePrefix) basePrefix = "0" + type.toLowerCase(); | |
case "c": | |
case "d": | |
integer = true; | |
precision = 0; | |
break; | |
case "s": | |
scale = -1; | |
type = "r"; | |
break; | |
} | |
if (basePrefix === "#") basePrefix = ""; | |
if (type == "r" && !precision) type = "g"; | |
if (precision != null) { | |
if (type == "g") precision = Math.max(1, Math.min(21, precision)); else if (type == "e" || type == "f") precision = Math.max(0, Math.min(20, precision)); | |
} | |
type = d3_format_types.get(type) || d3_format_typeDefault; | |
var zcomma = zfill && comma; | |
return function(value) { | |
if (integer && value % 1) return ""; | |
var negative = value < 0 || value === 0 && 1 / value < 0 ? (value = -value, "-") : sign; | |
if (scale < 0) { | |
var prefix = d3.formatPrefix(value, precision); | |
value = prefix.scale(value); | |
suffix = prefix.symbol; | |
} else { | |
value *= scale; | |
} | |
value = type(value, precision); | |
if (!zfill && comma) value = d3_format_group(value); | |
var length = basePrefix.length + value.length + (zcomma ? 0 : negative.length), padding = length < width ? new Array(length = width - length + 1).join(fill) : ""; | |
if (zcomma) value = d3_format_group(padding + value); | |
if (d3_format_decimalPoint) value.replace(".", d3_format_decimalPoint); | |
negative += basePrefix; | |
return (align === "<" ? negative + value + padding : align === ">" ? padding + negative + value : align === "^" ? padding.substring(0, length >>= 1) + negative + value + padding.substring(length) : negative + (zcomma ? value : padding + value)) + suffix; | |
}; | |
}; | |
var d3_format_re = /(?:([^{])?([<>=^]))?([+\- ])?(#)?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i; | |
var d3_format_types = d3.map({ | |
b: function(x) { | |
return x.toString(2); | |
}, | |
c: function(x) { | |
return String.fromCharCode(x); | |
}, | |
o: function(x) { | |
return x.toString(8); | |
}, | |
x: function(x) { | |
return x.toString(16); | |
}, | |
X: function(x) { | |
return x.toString(16).toUpperCase(); | |
}, | |
g: function(x, p) { | |
return x.toPrecision(p); | |
}, | |
e: function(x, p) { | |
return x.toExponential(p); | |
}, | |
f: function(x, p) { | |
return x.toFixed(p); | |
}, | |
r: function(x, p) { | |
return (x = d3.round(x, d3_format_precision(x, p))).toFixed(Math.max(0, Math.min(20, d3_format_precision(x * (1 + 1e-15), p)))); | |
} | |
}); | |
function d3_format_precision(x, p) { | |
return p - (x ? Math.ceil(Math.log(x) / Math.LN10) : 1); | |
} | |
function d3_format_typeDefault(x) { | |
return x + ""; | |
} | |
var d3_format_group = d3_identity; | |
if (d3_format_grouping) { | |
var d3_format_groupingLength = d3_format_grouping.length; | |
d3_format_group = function(value) { | |
var i = value.lastIndexOf("."), f = i >= 0 ? "." + value.substring(i + 1) : (i = value.length, | |
""), t = [], j = 0, g = d3_format_grouping[0]; | |
while (i > 0 && g > 0) { | |
t.push(value.substring(i -= g, i + g)); | |
g = d3_format_grouping[j = (j + 1) % d3_format_groupingLength]; | |
} | |
return t.reverse().join(d3_format_thousandsSeparator || "") + f; | |
}; | |
} | |
d3.geo = {}; | |
d3.geo.stream = function(object, listener) { | |
if (object && d3_geo_streamObjectType.hasOwnProperty(object.type)) { | |
d3_geo_streamObjectType[object.type](object, listener); | |
} else { | |
d3_geo_streamGeometry(object, listener); | |
} | |
}; | |
function d3_geo_streamGeometry(geometry, listener) { | |
if (geometry && d3_geo_streamGeometryType.hasOwnProperty(geometry.type)) { | |
d3_geo_streamGeometryType[geometry.type](geometry, listener); | |
} | |
} | |
var d3_geo_streamObjectType = { | |
Feature: function(feature, listener) { | |
d3_geo_streamGeometry(feature.geometry, listener); | |
}, | |
FeatureCollection: function(object, listener) { | |
var features = object.features, i = -1, n = features.length; | |
while (++i < n) d3_geo_streamGeometry(features[i].geometry, listener); | |
} | |
}; | |
var d3_geo_streamGeometryType = { | |
Sphere: function(object, listener) { | |
listener.sphere(); | |
}, | |
Point: function(object, listener) { | |
var coordinate = object.coordinates; | |
listener.point(coordinate[0], coordinate[1]); | |
}, | |
MultiPoint: function(object, listener) { | |
var coordinates = object.coordinates, i = -1, n = coordinates.length, coordinate; | |
while (++i < n) coordinate = coordinates[i], listener.point(coordinate[0], coordinate[1]); | |
}, | |
LineString: function(object, listener) { | |
d3_geo_streamLine(object.coordinates, listener, 0); | |
}, | |
MultiLineString: function(object, listener) { | |
var coordinates = object.coordinates, i = -1, n = coordinates.length; | |
while (++i < n) d3_geo_streamLine(coordinates[i], listener, 0); | |
}, | |
Polygon: function(object, listener) { | |
d3_geo_streamPolygon(object.coordinates, listener); | |
}, | |
MultiPolygon: function(object, listener) { | |
var coordinates = object.coordinates, i = -1, n = coordinates.length; | |
while (++i < n) d3_geo_streamPolygon(coordinates[i], listener); | |
}, | |
GeometryCollection: function(object, listener) { | |
var geometries = object.geometries, i = -1, n = geometries.length; | |
while (++i < n) d3_geo_streamGeometry(geometries[i], listener); | |
} | |
}; | |
function d3_geo_streamLine(coordinates, listener, closed) { | |
var i = -1, n = coordinates.length - closed, coordinate; | |
listener.lineStart(); | |
while (++i < n) coordinate = coordinates[i], listener.point(coordinate[0], coordinate[1]); | |
listener.lineEnd(); | |
} | |
function d3_geo_streamPolygon(coordinates, listener) { | |
var i = -1, n = coordinates.length; | |
listener.polygonStart(); | |
while (++i < n) d3_geo_streamLine(coordinates[i], listener, 1); | |
listener.polygonEnd(); | |
} | |
d3.geo.area = function(object) { | |
d3_geo_areaSum = 0; | |
d3.geo.stream(object, d3_geo_area); | |
return d3_geo_areaSum; | |
}; | |
var d3_geo_areaSum, d3_geo_areaRingSum; | |
var d3_geo_area = { | |
sphere: function() { | |
d3_geo_areaSum += 4 * π; | |
}, | |
point: d3_noop, | |
lineStart: d3_noop, | |
lineEnd: d3_noop, | |
polygonStart: function() { | |
d3_geo_areaRingSum = 0; | |
d3_geo_area.lineStart = d3_geo_areaRingStart; | |
}, | |
polygonEnd: function() { | |
var area = 2 * d3_geo_areaRingSum; | |
d3_geo_areaSum += area < 0 ? 4 * π + area : area; | |
d3_geo_area.lineStart = d3_geo_area.lineEnd = d3_geo_area.point = d3_noop; | |
} | |
}; | |
function d3_geo_areaRingStart() { | |
var λ00, φ00, λ0, cosφ0, sinφ0; | |
d3_geo_area.point = function(λ, φ) { | |
d3_geo_area.point = nextPoint; | |
λ0 = (λ00 = λ) * d3_radians, cosφ0 = Math.cos(φ = (φ00 = φ) * d3_radians / 2 + π / 4), | |
sinφ0 = Math.sin(φ); | |
}; | |
function nextPoint(λ, φ) { | |
λ *= d3_radians; | |
φ = φ * d3_radians / 2 + π / 4; | |
var dλ = λ - λ0, cosφ = Math.cos(φ), sinφ = Math.sin(φ), k = sinφ0 * sinφ, u = cosφ0 * cosφ + k * Math.cos(dλ), v = k * Math.sin(dλ); | |
d3_geo_areaRingSum += Math.atan2(v, u); | |
λ0 = λ, cosφ0 = cosφ, sinφ0 = sinφ; | |
} | |
d3_geo_area.lineEnd = function() { | |
nextPoint(λ00, φ00); | |
}; | |
} | |
function d3_geo_cartesian(spherical) { | |
var λ = spherical[0], φ = spherical[1], cosφ = Math.cos(φ); | |
return [ cosφ * Math.cos(λ), cosφ * Math.sin(λ), Math.sin(φ) ]; | |
} | |
function d3_geo_cartesianDot(a, b) { | |
return a[0] * b[0] + a[1] * b[1] + a[2] * b[2]; | |
} | |
function d3_geo_cartesianCross(a, b) { | |
return [ a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0] ]; | |
} | |
function d3_geo_cartesianAdd(a, b) { | |
a[0] += b[0]; | |
a[1] += b[1]; | |
a[2] += b[2]; | |
} | |
function d3_geo_cartesianScale(vector, k) { | |
return [ vector[0] * k, vector[1] * k, vector[2] * k ]; | |
} | |
function d3_geo_cartesianNormalize(d) { | |
var l = Math.sqrt(d3_geo_cartesianDot(d, d)); | |
d[0] /= l; | |
d[1] /= l; | |
d[2] /= l; | |
} | |
function d3_geo_cartesianEqual(a, b) { | |
var dx = b[0] - a[0], dy = b[1] - a[1], dz = b[2] - a[2]; | |
return dx * dx + dy * dy + dz * dz < ε2 * ε2; | |
} | |
function d3_geo_spherical(cartesian) { | |
return [ Math.atan2(cartesian[1], cartesian[0]), Math.asin(Math.max(-1, Math.min(1, cartesian[2]))) ]; | |
} | |
function d3_geo_sphericalEqual(a, b, t) { | |
if (arguments.length < 3) t = ε; | |
return Math.abs(a[1] - b[1]) < t && (Math.abs(Math.abs(a[1]) - π / 2) < t || d3_geo_sphericalLongitudeDifference(a[0], b[0]) < t); | |
} | |
function d3_geo_sphericalLongitudeDifference(λ0, λ1) { | |
var dλ = Math.abs(λ1 - λ0); | |
return dλ > π ? 2 * π - dλ : dλ; | |
} | |
d3.geo.bounds = function() { | |
var λ0, φ0, λ1, φ1, λ_, λ__, φ__, p0, dλSum, ranges, range; | |
var bound = { | |
point: point, | |
lineStart: lineStart, | |
lineEnd: lineEnd, | |
polygonStart: function() { | |
bound.point = ringPoint; | |
bound.lineStart = ringStart; | |
bound.lineEnd = ringEnd; | |
dλSum = 0; | |
d3_geo_area.polygonStart(); | |
}, | |
polygonEnd: function() { | |
d3_geo_area.polygonEnd(); | |
bound.point = point; | |
bound.lineStart = lineStart; | |
bound.lineEnd = lineEnd; | |
if (d3_geo_areaRingSum < 0) λ0 = -(λ1 = 180), φ0 = -(φ1 = 90); else if (dλSum > ε) φ1 = 90; else if (dλSum < -ε) φ0 = -90; | |
range[0] = λ0, range[1] = λ1; | |
} | |
}; | |
function point(λ, φ) { | |
ranges.push(range = [ λ0 = λ, λ1 = λ ]); | |
if (φ < φ0) φ0 = φ; | |
if (φ > φ1) φ1 = φ; | |
} | |
function linePoint(λ, φ) { | |
var p = d3_geo_cartesian([ λ * d3_radians, φ * d3_radians ]); | |
if (p0) { | |
var normal = d3_geo_cartesianCross(p0, p), equatorial = [ normal[1], -normal[0], 0 ], inflection = d3_geo_cartesianCross(equatorial, normal); | |
d3_geo_cartesianNormalize(inflection); | |
inflection = d3_geo_spherical(inflection); | |
var dλ = λ - λ_, s = dλ > 0 ? 1 : -1, λi = inflection[0] * d3_degrees * s, antimeridian = Math.abs(dλ) > 180; | |
if (antimeridian ^ (s * λ_ < λi && λi < s * λ)) { | |
var φi = inflection[1] * d3_degrees; | |
if (φi > φ1) φ1 = φi; | |
} else if (λi = (λi + 360) % 360 - 180, antimeridian ^ (s * λ_ < λi && λi < s * λ)) { | |
var φi = -inflection[1] * d3_degrees; | |
if (φi < φ0) φ0 = φi; | |
} else { | |
if (φ < φ0) φ0 = φ; | |
if (φ > φ1) φ1 = φ; | |
} | |
if (antimeridian) { | |
if (λ < λ_) { | |
if (angle(λ0, λ) > angle(λ0, λ1)) λ1 = λ; | |
} else { | |
if (angle(λ, λ1) > angle(λ0, λ1)) λ0 = λ; | |
} | |
} else { | |
if (λ1 >= λ0) { | |
if (λ < λ0) λ0 = λ; | |
if (λ > λ1) λ1 = λ; | |
} else { | |
if (λ > λ_) { | |
if (angle(λ0, λ) > angle(λ0, λ1)) λ1 = λ; | |
} else { | |
if (angle(λ, λ1) > angle(λ0, λ1)) λ0 = λ; | |
} | |
} | |
} | |
} else { | |
point(λ, φ); | |
} | |
p0 = p, λ_ = λ; | |
} | |
function lineStart() { | |
bound.point = linePoint; | |
} | |
function lineEnd() { | |
range[0] = λ0, range[1] = λ1; | |
bound.point = point; | |
p0 = null; | |
} | |
function ringPoint(λ, φ) { | |
if (p0) { | |
var dλ = λ - λ_; | |
dλSum += Math.abs(dλ) > 180 ? dλ + (dλ > 0 ? 360 : -360) : dλ; | |
} else λ__ = λ, φ__ = φ; | |
d3_geo_area.point(λ, φ); | |
linePoint(λ, φ); | |
} | |
function ringStart() { | |
d3_geo_area.lineStart(); | |
} | |
function ringEnd() { | |
ringPoint(λ__, φ__); | |
d3_geo_area.lineEnd(); | |
if (Math.abs(dλSum) > ε) λ0 = -(λ1 = 180); | |
range[0] = λ0, range[1] = λ1; | |
p0 = null; | |
} | |
function angle(λ0, λ1) { | |
return (λ1 -= λ0) < 0 ? λ1 + 360 : λ1; | |
} | |
function compareRanges(a, b) { | |
return a[0] - b[0]; | |
} | |
function withinRange(x, range) { | |
return range[0] <= range[1] ? range[0] <= x && x <= range[1] : x < range[0] || range[1] < x; | |
} | |
return function(feature) { | |
φ1 = λ1 = -(λ0 = φ0 = Infinity); | |
ranges = []; | |
d3.geo.stream(feature, bound); | |
ranges.sort(compareRanges); | |
for (var i = 1, n = ranges.length, a = ranges[0], b, merged = [ a ]; i < n; ++i) { | |
b = ranges[i]; | |
if (withinRange(b[0], a) || withinRange(b[1], a)) { | |
if (angle(a[0], b[1]) > angle(a[0], a[1])) a[1] = b[1]; | |
if (angle(b[0], a[1]) > angle(a[0], a[1])) a[0] = b[0]; | |
} else { | |
merged.push(a = b); | |
} | |
} | |
var best = -Infinity, dλ; | |
for (var n = merged.length - 1, i = 0, a = merged[n], b; i <= n; a = b, ++i) { | |
b = merged[i]; | |
if ((dλ = angle(a[1], b[0])) > best) best = dλ, λ0 = b[0], λ1 = a[1]; | |
} | |
ranges = range = null; | |
return [ [ λ0, φ0 ], [ λ1, φ1 ] ]; | |
}; | |
}(); | |
d3.geo.centroid = function(object) { | |
d3_geo_centroidDimension = d3_geo_centroidW = d3_geo_centroidX = d3_geo_centroidY = d3_geo_centroidZ = 0; | |
d3.geo.stream(object, d3_geo_centroid); | |
var m; | |
if (d3_geo_centroidW && Math.abs(m = Math.sqrt(d3_geo_centroidX * d3_geo_centroidX + d3_geo_centroidY * d3_geo_centroidY + d3_geo_centroidZ * d3_geo_centroidZ)) > ε) { | |
return [ Math.atan2(d3_geo_centroidY, d3_geo_centroidX) * d3_degrees, Math.asin(Math.max(-1, Math.min(1, d3_geo_centroidZ / m))) * d3_degrees ]; | |
} | |
}; | |
var d3_geo_centroidDimension, d3_geo_centroidW, d3_geo_centroidX, d3_geo_centroidY, d3_geo_centroidZ; | |
var d3_geo_centroid = { | |
sphere: function() { | |
if (d3_geo_centroidDimension < 2) { | |
d3_geo_centroidDimension = 2; | |
d3_geo_centroidW = d3_geo_centroidX = d3_geo_centroidY = d3_geo_centroidZ = 0; | |
} | |
}, | |
point: d3_geo_centroidPoint, | |
lineStart: d3_geo_centroidLineStart, | |
lineEnd: d3_geo_centroidLineEnd, | |
polygonStart: function() { | |
if (d3_geo_centroidDimension < 2) { | |
d3_geo_centroidDimension = 2; | |
d3_geo_centroidW = d3_geo_centroidX = d3_geo_centroidY = d3_geo_centroidZ = 0; | |
} | |
d3_geo_centroid.lineStart = d3_geo_centroidRingStart; | |
}, | |
polygonEnd: function() { | |
d3_geo_centroid.lineStart = d3_geo_centroidLineStart; | |
} | |
}; | |
function d3_geo_centroidPoint(λ, φ) { | |
if (d3_geo_centroidDimension) return; | |
++d3_geo_centroidW; | |
λ *= d3_radians; | |
var cosφ = Math.cos(φ *= d3_radians); | |
d3_geo_centroidX += (cosφ * Math.cos(λ) - d3_geo_centroidX) / d3_geo_centroidW; | |
d3_geo_centroidY += (cosφ * Math.sin(λ) - d3_geo_centroidY) / d3_geo_centroidW; | |
d3_geo_centroidZ += (Math.sin(φ) - d3_geo_centroidZ) / d3_geo_centroidW; | |
} | |
function d3_geo_centroidRingStart() { | |
var λ00, φ00; | |
d3_geo_centroidDimension = 1; | |
d3_geo_centroidLineStart(); | |
d3_geo_centroidDimension = 2; | |
var linePoint = d3_geo_centroid.point; | |
d3_geo_centroid.point = function(λ, φ) { | |
linePoint(λ00 = λ, φ00 = φ); | |
}; | |
d3_geo_centroid.lineEnd = function() { | |
d3_geo_centroid.point(λ00, φ00); | |
d3_geo_centroidLineEnd(); | |
d3_geo_centroid.lineEnd = d3_geo_centroidLineEnd; | |
}; | |
} | |
function d3_geo_centroidLineStart() { | |
var x0, y0, z0; | |
if (d3_geo_centroidDimension > 1) return; | |
if (d3_geo_centroidDimension < 1) { | |
d3_geo_centroidDimension = 1; | |
d3_geo_centroidW = d3_geo_centroidX = d3_geo_centroidY = d3_geo_centroidZ = 0; | |
} | |
d3_geo_centroid.point = function(λ, φ) { | |
λ *= d3_radians; | |
var cosφ = Math.cos(φ *= d3_radians); | |
x0 = cosφ * Math.cos(λ); | |
y0 = cosφ * Math.sin(λ); | |
z0 = Math.sin(φ); | |
d3_geo_centroid.point = nextPoint; | |
}; | |
function nextPoint(λ, φ) { | |
λ *= d3_radians; | |
var cosφ = Math.cos(φ *= d3_radians), x = cosφ * Math.cos(λ), y = cosφ * Math.sin(λ), z = Math.sin(φ), w = Math.atan2(Math.sqrt((w = y0 * z - z0 * y) * w + (w = z0 * x - x0 * z) * w + (w = x0 * y - y0 * x) * w), x0 * x + y0 * y + z0 * z); | |
d3_geo_centroidW += w; | |
d3_geo_centroidX += w * (x0 + (x0 = x)); | |
d3_geo_centroidY += w * (y0 + (y0 = y)); | |
d3_geo_centroidZ += w * (z0 + (z0 = z)); | |
} | |
} | |
function d3_geo_centroidLineEnd() { | |
d3_geo_centroid.point = d3_geo_centroidPoint; | |
} | |
function d3_true() { | |
return true; | |
} | |
function d3_geo_clipPolygonRejoin(segments, compare, inside, interpolate, listener) { | |
var subject = [], clip = []; | |
segments.forEach(function(segment) { | |
if ((n = segment.length - 1) <= 0) return; | |
var n, p0 = segment[0], p1 = segment[n]; | |
if (Math.abs(p1[0] - p0[0]) < ε && Math.abs(p1[1] - p0[1]) < ε) { | |
listener.lineStart(); | |
for (var i = 0; i < n; ++i) listener.point((p0 = segment[i])[0], p0[1]); | |
listener.lineEnd(); | |
return; | |
} | |
var a = { | |
point: p0, | |
points: segment, | |
other: null, | |
visited: false, | |
entry: true, | |
subject: true | |
}, b = { | |
point: p0, | |
points: [ p0 ], | |
other: a, | |
visited: false, | |
entry: false, | |
subject: false | |
}; | |
a.other = b; | |
subject.push(a); | |
clip.push(b); | |
a = { | |
point: p1, | |
points: [ p1 ], | |
other: null, | |
visited: false, | |
entry: false, | |
subject: true | |
}; | |
b = { | |
point: p1, | |
points: [ p1 ], | |
other: a, | |
visited: false, | |
entry: true, | |
subject: false | |
}; | |
a.other = b; | |
subject.push(a); | |
clip.push(b); | |
}); | |
clip.sort(compare); | |
d3_geo_clipPolygonRejoinLinkCircular(subject); | |
d3_geo_clipPolygonRejoinLinkCircular(clip); | |
if (!subject.length) return; | |
if (inside) for (var i = 1, e = !inside(clip[0].point), n = clip.length; i < n; ++i) { | |
clip[i].entry = e = !e; | |
} | |
var start = subject[0], current, points, point; | |
while (1) { | |
current = start; | |
while (current.visited) if ((current = current.next) === start) return; | |
points = current.points; | |
listener.lineStart(); | |
do { | |
current.visited = current.other.visited = true; | |
if (current.entry) { | |
if (current.subject) { | |
for (var i = 0; i < points.length; i++) listener.point((point = points[i])[0], point[1]); | |
} else { | |
interpolate(current.point, current.next.point, 1, listener); | |
} | |
current = current.next; | |
} else { | |
if (current.subject) { | |
points = current.prev.points; | |
for (var i = points.length; --i >= 0; ) listener.point((point = points[i])[0], point[1]); | |
} else { | |
interpolate(current.point, current.prev.point, -1, listener); | |
} | |
current = current.prev; | |
} | |
current = current.other; | |
points = current.points; | |
} while (!current.visited); | |
listener.lineEnd(); | |
} | |
} | |
function d3_geo_clipPolygonRejoinLinkCircular(array) { | |
if (!(n = array.length)) return; | |
var n, i = 0, a = array[0], b; | |
while (++i < n) { | |
a.next = b = array[i]; | |
b.prev = a; | |
a = b; | |
} | |
a.next = b = array[0]; | |
b.prev = a; | |
} | |
function d3_geo_clip(pointVisible, clipLine, interpolate, polygonContains, sort) { | |
return function(listener) { | |
var line = clipLine(listener); | |
var clip = { | |
point: point, | |
lineStart: lineStart, | |
lineEnd: lineEnd, | |
polygonStart: function() { | |
clip.point = pointRing; | |
clip.lineStart = ringStart; | |
clip.lineEnd = ringEnd; | |
segments = []; | |
polygon = []; | |
listener.polygonStart(); | |
}, | |
polygonEnd: function() { | |
clip.point = point; | |
clip.lineStart = lineStart; | |
clip.lineEnd = lineEnd; | |
segments = d3.merge(segments); | |
if (segments.length) { | |
d3_geo_clipPolygonRejoin(segments, sort, null, interpolate, listener); | |
} else if (polygonContains(polygon)) { | |
listener.lineStart(); | |
interpolate(null, null, 1, listener); | |
listener.lineEnd(); | |
} | |
listener.polygonEnd(); | |
segments = polygon = null; | |
}, | |
sphere: function() { | |
listener.polygonStart(); | |
listener.lineStart(); | |
interpolate(null, null, 1, listener); | |
listener.lineEnd(); | |
listener.polygonEnd(); | |
} | |
}; | |
function point(λ, φ) { | |
if (pointVisible(λ, φ)) listener.point(λ, φ); | |
} | |
function pointLine(λ, φ) { | |
line.point(λ, φ); | |
} | |
function lineStart() { | |
clip.point = pointLine; | |
line.lineStart(); | |
} | |
function lineEnd() { | |
clip.point = point; | |
line.lineEnd(); | |
} | |
var segments, buffer = d3_geo_clipBufferListener(), ringListener = clipLine(buffer), polygon, ring; | |
function pointRing(λ, φ, close) { | |
ringListener.point(λ, φ, close); | |
ring.push([ λ, φ ]); | |
} | |
function ringStart() { | |
ringListener.lineStart(); | |
ring = []; | |
} | |
function ringEnd() { | |
pointRing(ring[0][0], ring[0][1], true); | |
ringListener.lineEnd(); | |
var clean = ringListener.clean(), ringSegments = buffer.buffer(), segment, n = ringSegments.length; | |
ring.pop(); | |
polygon.push(ring); | |
ring = null; | |
if (!n) return; | |
if (clean & 1) { | |
segment = ringSegments[0]; | |
segment.pop(); | |
var n = segment.length, i = -1, point; | |
listener.lineStart(); | |
while (++i < n) listener.point((point = segment[i])[0], point[1]); | |
listener.lineEnd(); | |
return; | |
} | |
if (n > 1 && clean & 2) ringSegments.push(ringSegments.pop().concat(ringSegments.shift())); | |
segments.push(ringSegments.filter(d3_geo_clipSegmentLength1)); | |
} | |
return clip; | |
}; | |
} | |
function d3_geo_clipSegmentLength1(segment) { | |
return segment.length > 1; | |
} | |
function d3_geo_clipBufferListener() { | |
var lines = [], line; | |
return { | |
lineStart: function() { | |
lines.push(line = []); | |
}, | |
point: function(λ, φ, i, t) { | |
var point = [ λ, φ ]; | |
if (arguments.length > 2) point.index = i, point.t = t; | |
line.push(point); | |
}, | |
lineEnd: d3_noop, | |
buffer: function() { | |
var buffer = lines; | |
lines = []; | |
line = null; | |
return buffer; | |
}, | |
rejoin: function() { | |
if (lines.length > 1) lines.push(lines.pop().concat(lines.shift())); | |
} | |
}; | |
} | |
d3.geo.pointInPolygon = d3_geo_pointInPolygon; | |
function d3_geo_pointInPolygon(point, polygon) { | |
var point0, meridian = point[0], parallel = point[1], meridianNormal = [ Math.sin(meridian), -Math.cos(meridian), 0 ], polarAngle = 0, polar = false, southPole = false, winding = 0; | |
d3_geo_area.polygonStart(); | |
for (var i = 0, n = polygon.length; i < n; ++i) { | |
var ring = polygon[i], m = ring.length; | |
if (!m) continue; | |
point0 = point = ring[0]; | |
var λ0 = point[0], φ0 = point[1], j = 1; | |
d3_geo_area.lineStart(); | |
d3_geo_area.point(λ0 * d3_degrees, φ0 * d3_degrees); | |
while (true) { | |
if (j === m) j = 0; | |
point = ring[j]; | |
var λ = point[0], φ = point[1], angle = λ - λ0, antimeridian = Math.abs(angle) > π; | |
if (Math.abs(φ + π / 2) < ε) southPole = true; | |
polarAngle += antimeridian ? angle + (angle >= 0 ? 2 : -2) * π : angle; | |
if (antimeridian ^ λ0 >= meridian ^ λ >= meridian) { | |
var arc = d3_geo_cartesianCross(d3_geo_cartesian(point0), d3_geo_cartesian(point)); | |
d3_geo_cartesianNormalize(arc); | |
var intersection = d3_geo_cartesianCross(meridianNormal, arc); | |
d3_geo_cartesianNormalize(intersection); | |
var φarc = (antimeridian ^ angle >= 0 ? -1 : 1) * d3_asin(intersection[2]); | |
if (parallel > φarc) { | |
winding += antimeridian ^ angle >= 0 ? 1 : -1; | |
} | |
} | |
if (j++) d3_geo_area.point((λ0 = λ) * d3_degrees, (φ0 = φ) * d3_degrees), point0 = point; else break; | |
} | |
d3_geo_area.lineEnd(); | |
if (Math.abs(polarAngle) > ε) polar = true; | |
} | |
d3_geo_area.polygonEnd(); | |
return (!southPole && !polar && d3_geo_areaRingSum < 0 || polarAngle < -ε) ^ winding & 1; | |
} | |
var d3_geo_clipAntimeridian = d3_geo_clip(d3_geo_clipAntimeridianVisible, d3_geo_clipAntimeridianLine, d3_geo_clipAntimeridianInterpolate, d3_geo_clipAntimeridianPolygonContains, d3_geo_clipAntimeridianSort); | |
function d3_geo_clipAntimeridianLine(listener) { | |
var λ0 = NaN, φ0 = NaN, sλ0 = NaN, clean; | |
return { | |
lineStart: function() { | |
listener.lineStart(); | |
clean = 1; | |
}, | |
point: function(λ1, φ1) { | |
var sλ1 = λ1 > 0 ? π - ε : -π, dλ = Math.abs(λ1 - λ0); | |
if (Math.abs(dλ - π) < ε) { | |
listener.point(λ0, φ0 = (φ0 + φ1) / 2 > 0 ? π / 2 : -π / 2); | |
listener.point(sλ0, φ0); | |
listener.lineEnd(); | |
listener.lineStart(); | |
listener.point(sλ1, φ0); | |
listener.point(λ1, φ0); | |
clean = 0; | |
} else if (sλ0 !== sλ1 && dλ >= π) { | |
if (Math.abs(λ0 - sλ0) < ε) λ0 -= sλ0 * ε; | |
if (Math.abs(λ1 - sλ1) < ε) λ1 -= sλ1 * ε; | |
φ0 = d3_geo_clipAntimeridianIntersect(λ0, φ0, λ1, φ1); | |
listener.point(sλ0, φ0); | |
listener.lineEnd(); | |
listener.lineStart(); | |
listener.point(sλ1, φ0); | |
clean = 0; | |
} | |
listener.point(λ0 = λ1, φ0 = φ1); | |
sλ0 = sλ1; | |
}, | |
lineEnd: function() { | |
listener.lineEnd(); | |
λ0 = φ0 = NaN; | |
}, | |
clean: function() { | |
return 2 - clean; | |
} | |
}; | |
} | |
function d3_geo_clipAntimeridianIntersect(λ0, φ0, λ1, φ1) { | |
var cosφ0, cosφ1, sinλ0_λ1 = Math.sin(λ0 - λ1); | |
return Math.abs(sinλ0_λ1) > ε ? Math.atan((Math.sin(φ0) * (cosφ1 = Math.cos(φ1)) * Math.sin(λ1) - Math.sin(φ1) * (cosφ0 = Math.cos(φ0)) * Math.sin(λ0)) / (cosφ0 * cosφ1 * sinλ0_λ1)) : (φ0 + φ1) / 2; | |
} | |
function d3_geo_clipAntimeridianInterpolate(from, to, direction, listener) { | |
var φ; | |
if (from == null) { | |
φ = direction * π / 2; | |
listener.point(-π, φ); | |
listener.point(0, φ); | |
listener.point(π - ε, φ); | |
listener.point(π - ε, 0); | |
listener.point(π - ε, -φ); | |
listener.point(0, -φ); | |
listener.point(-π, -φ); | |
listener.point(-π, 0); | |
listener.point(-π, φ); | |
} else if (Math.abs(from[0] - to[0]) > ε) { | |
var s0 = -π, s1 = π - ε, s = (from[0] < to[0] ? 1 : -1) * π; | |
if (to[0] < from[0]) s0 = π - ε, s1 = -π; | |
φ = direction * s / 2; | |
listener.point(s0, φ); | |
listener.point(0, φ); | |
listener.point(s1, φ); | |
} else { | |
listener.point(to[0], to[1]); | |
} | |
} | |
var d3_geo_clipAntimeridianPoint = [ -π, 0 ]; | |
function d3_geo_clipAntimeridianPolygonContains(polygon) { | |
return d3_geo_pointInPolygon(d3_geo_clipAntimeridianPoint, polygon); | |
} | |
function d3_geo_clipAntimeridianSort(a, b) { | |
return ((a = a.point)[0] < 0 ? a[1] - π / 2 - ε : π / 2 - a[1]) - ((b = b.point)[0] < 0 ? b[1] - π / 2 - ε : π / 2 - b[1]); | |
} | |
function d3_geo_clipAntimeridianVisible(λ) { | |
return Math.abs(Math.abs(λ) - π) > ε; | |
} | |
function d3_geo_clipCircle(radius) { | |
var cr = Math.cos(radius), point = [ radius, 0 ], smallRadius = cr > 0, notHemisphere = Math.abs(cr) > ε, interpolate = d3_geo_circleInterpolate(radius, 6 * d3_radians); | |
return d3_geo_clip(visible, clipLine, interpolate, polygonContains, d3_geo_clipAntimeridianSort); | |
function visible(λ, φ) { | |
return Math.cos(λ) * Math.cos(φ) > cr; | |
} | |
function clipLine(listener) { | |
var point0, c0, v0, v00, clean; | |
return { | |
lineStart: function() { | |
v00 = v0 = false; | |
clean = 1; | |
}, | |
point: function(λ, φ) { | |
var point1 = [ λ, φ ], point2, v = visible(λ, φ), c = smallRadius ? v ? 0 : code(λ, φ) : v ? code(λ + (λ < 0 ? π : -π), φ) : 0; | |
if (!point0 && (v00 = v0 = v)) listener.lineStart(); | |
if (v !== v0) { | |
point2 = intersect(point0, point1); | |
if (d3_geo_sphericalEqual(point0, point2) || d3_geo_sphericalEqual(point1, point2)) { | |
point1[0] += ε; | |
point1[1] += ε; | |
v = visible(point1[0], point1[1]); | |
} | |
} | |
if (v !== v0) { | |
clean = 0; | |
if (v) { | |
listener.lineStart(); | |
point2 = intersect(point1, point0); | |
listener.point(point2[0], point2[1]); | |
} else { | |
point2 = intersect(point0, point1); | |
listener.point(point2[0], point2[1]); | |
listener.lineEnd(); | |
} | |
point0 = point2; | |
} else if (notHemisphere && point0 && smallRadius ^ v) { | |
var t; | |
if (!(c & c0) && (t = intersect(point1, point0, true))) { | |
clean = 0; | |
if (smallRadius) { | |
listener.lineStart(); | |
listener.point(t[0][0], t[0][1]); | |
listener.point(t[1][0], t[1][1]); | |
listener.lineEnd(); | |
} else { | |
listener.point(t[1][0], t[1][1]); | |
listener.lineEnd(); | |
listener.lineStart(); | |
listener.point(t[0][0], t[0][1]); | |
} | |
} | |
} | |
if (v && (!point0 || !d3_geo_sphericalEqual(point0, point1))) { | |
listener.point(point1[0], point1[1]); | |
} | |
point0 = point1, v0 = v, c0 = c; | |
}, | |
lineEnd: function() { | |
if (v0) listener.lineEnd(); | |
point0 = null; | |
}, | |
clean: function() { | |
return clean | (v00 && v0) << 1; | |
} | |
}; | |
} | |
function polygonContains(polygon) { | |
return d3_geo_pointInPolygon(point, polygon); | |
} | |
function intersect(a, b, two) { | |
var pa = d3_geo_cartesian(a), pb = d3_geo_cartesian(b); | |
var n1 = [ 1, 0, 0 ], n2 = d3_geo_cartesianCross(pa, pb), n2n2 = d3_geo_cartesianDot(n2, n2), n1n2 = n2[0], determinant = n2n2 - n1n2 * n1n2; | |
if (!determinant) return !two && a; | |
var c1 = cr * n2n2 / determinant, c2 = -cr * n1n2 / determinant, n1xn2 = d3_geo_cartesianCross(n1, n2), A = d3_geo_cartesianScale(n1, c1), B = d3_geo_cartesianScale(n2, c2); | |
d3_geo_cartesianAdd(A, B); | |
var u = n1xn2, w = d3_geo_cartesianDot(A, u), uu = d3_geo_cartesianDot(u, u), t2 = w * w - uu * (d3_geo_cartesianDot(A, A) - 1); | |
if (t2 < 0) return; | |
var t = Math.sqrt(t2), q = d3_geo_cartesianScale(u, (-w - t) / uu); | |
d3_geo_cartesianAdd(q, A); | |
q = d3_geo_spherical(q); | |
if (!two) return q; | |
var λ0 = a[0], λ1 = b[0], φ0 = a[1], φ1 = b[1], z; | |
if (λ1 < λ0) z = λ0, λ0 = λ1, λ1 = z; | |
var δλ = λ1 - λ0, polar = Math.abs(δλ - π) < ε, meridian = polar || δλ < ε; | |
if (!polar && φ1 < φ0) z = φ0, φ0 = φ1, φ1 = z; | |
if (meridian ? polar ? φ0 + φ1 > 0 ^ q[1] < (Math.abs(q[0] - λ0) < ε ? φ0 : φ1) : φ0 <= q[1] && q[1] <= φ1 : δλ > π ^ (λ0 <= q[0] && q[0] <= λ1)) { | |
var q1 = d3_geo_cartesianScale(u, (-w + t) / uu); | |
d3_geo_cartesianAdd(q1, A); | |
return [ q, d3_geo_spherical(q1) ]; | |
} | |
} | |
function code(λ, φ) { | |
var r = smallRadius ? radius : π - radius, code = 0; | |
if (λ < -r) code |= 1; else if (λ > r) code |= 2; | |
if (φ < -r) code |= 4; else if (φ > r) code |= 8; | |
return code; | |
} | |
} | |
d3.geo.distance = function(a, b) { | |
var Δλ = (b[0] - a[0]) * d3_radians, φ0 = a[1] * d3_radians, φ1 = b[1] * d3_radians, sinΔλ = Math.sin(Δλ), cosΔλ = Math.cos(Δλ), sinφ0 = Math.sin(φ0), cosφ0 = Math.cos(φ0), sinφ1 = Math.sin(φ1), cosφ1 = Math.cos(φ1), t; | |
return Math.atan2(Math.sqrt((t = cosφ1 * sinΔλ) * t + (t = cosφ0 * sinφ1 - sinφ0 * cosφ1 * cosΔλ) * t), sinφ0 * sinφ1 + cosφ0 * cosφ1 * cosΔλ); | |
}; | |
function d3_geo_intersectSegment(from, to) { | |
this.from = from, this.to = to; | |
this.normal = d3_geo_cartesianCross(from, to); | |
this.fromNormal = d3_geo_cartesianCross(this.normal, from); | |
this.toNormal = d3_geo_cartesianCross(this.normal, to); | |
} | |
function d3_geo_intersect(a, b) { | |
var axb = d3_geo_cartesianCross(a.normal, b.normal); | |
d3_geo_cartesianNormalize(axb); | |
var a0 = d3_geo_cartesianDot(axb, a.fromNormal), a1 = d3_geo_cartesianDot(axb, a.toNormal), b0 = d3_geo_cartesianDot(axb, b.fromNormal), b1 = d3_geo_cartesianDot(axb, b.toNormal); | |
if (a0 > -ε2 && a1 < ε2 && b0 > -ε2 && b1 < ε2) return axb; | |
if (a0 < ε2 && a1 > -ε2 && b0 < ε2 && b1 > -ε2) { | |
axb[0] = -axb[0], axb[1] = -axb[1], axb[2] = -axb[2]; | |
return axb; | |
} | |
} | |
function d3_geo_intersectPointOnLine(p, a) { | |
var a0 = d3_geo_cartesianDot(p, a.fromNormal), a1 = d3_geo_cartesianDot(p, a.toNormal); | |
p = d3_geo_cartesianDot(p, a.normal); | |
return Math.abs(p) < ε2 && (a0 > -ε2 && a1 < ε2 || a0 < ε2 && a1 > -ε2); | |
} | |
var d3_geo_intersectCoincident = {}; | |
function d3_geo_clipPolygon(polygon) { | |
var segments = []; | |
polygon = polygon.map(function(ring) { | |
var cartesian0; | |
ring = ring.map(function(point, i) { | |
var cartesian = d3_geo_cartesian(point = [ point[0] * d3_radians, point[1] * d3_radians ]); | |
if (i) segments.push(new d3_geo_intersectSegment(cartesian0, cartesian)); | |
cartesian0 = cartesian; | |
return point; | |
}); | |
ring.pop(); | |
return ring; | |
}); | |
var point = polygon[0][0]; | |
return d3_geo_clip(visible, clipLine, interpolate, polygonContains, d3_geo_clipPolygonSort); | |
function visible(λ, φ) { | |
return d3_geo_pointInPolygon([ λ, φ ], polygon); | |
} | |
function clipLine(listener) { | |
var point0, λ00, φ00, v00, v0, clean; | |
return { | |
lineStart: function() { | |
point0 = null; | |
clean = 1; | |
}, | |
point: function(λ, φ, close) { | |
if (close) λ = λ00, φ = φ00; | |
var point = d3_geo_cartesian([ λ, φ ]), v = v0; | |
if (point0) { | |
var segment = new d3_geo_intersectSegment(point0, point), intersections = []; | |
for (var i = 0, j = 100; i < segments.length && j > 0; ++i) { | |
var s = segments[i], intersection = d3_geo_intersect(segment, s); | |
if (intersection) { | |
if (intersection === d3_geo_intersectCoincident || d3_geo_cartesianEqual(intersection, point0) || d3_geo_cartesianEqual(intersection, point) || d3_geo_cartesianEqual(intersection, s.from) || d3_geo_cartesianEqual(intersection, s.to)) { | |
var t = 1e-4; | |
λ = (λ + 3 * π + (Math.random() < .5 ? t : -t)) % (2 * π) - π; | |
φ = Math.min(π / 2 - 1e-4, Math.max(1e-4 - π / 2, φ + (Math.random() < .5 ? t : -t))); | |
segment = new d3_geo_intersectSegment(point0, point = d3_geo_cartesian([ λ, φ ])); | |
i = -1, --j; | |
intersections.length = 0; | |
continue; | |
} | |
var spherical = d3_geo_spherical(intersection); | |
intersection.distance = d3_geo_clipPolygonDistance(point0, intersection); | |
intersection.index = i; | |
intersection.t = d3_geo_clipPolygonDistance(s.from, intersection); | |
intersection[0] = spherical[0], intersection[1] = spherical[1], intersection.pop(); | |
intersections.push(intersection); | |
} | |
} | |
if (intersections.length) { | |
clean = 0; | |
intersections.sort(function(a, b) { | |
return a.distance - b.distance; | |
}); | |
for (var i = 0; i < intersections.length; ++i) { | |
var intersection = intersections[i]; | |
if (v = !v) { | |
listener.lineStart(); | |
listener.point(intersection[0], intersection[1], intersection.index, intersection.t); | |
} else { | |
listener.point(intersection[0], intersection[1], intersection.index, intersection.t); | |
listener.lineEnd(); | |
} | |
} | |
} | |
if (v) listener.point(λ, φ); | |
} else { | |
for (var i = 0, j = 100; i < segments.length && j > 0; ++i) { | |
var s = segments[i]; | |
if (d3_geo_intersectPointOnLine(point, s)) { | |
var t = 1e-4; | |
λ = (λ + 3 * π + (Math.random() < .5 ? t : -t)) % (2 * π) - π; | |
φ = Math.min(π / 2 - 1e-4, Math.max(1e-4 - π / 2, φ + (Math.random() < .5 ? t : -t))); | |
point = d3_geo_cartesian([ λ, φ ]); | |
i = -1, --j; | |
} | |
} | |
if (v00 = v = visible(λ00 = λ, φ00 = φ)) listener.lineStart(), listener.point(λ, φ); | |
} | |
point0 = point, v0 = v; | |
}, | |
lineEnd: function() { | |
if (v0) listener.lineEnd(); | |
}, | |
clean: function() { | |
return clean | (v00 && v0) << 1; | |
} | |
}; | |
} | |
function interpolate(from, to, direction, listener) { | |
if (from == null) { | |
var n = polygon.length; | |
polygon.forEach(function(ring, i) { | |
ring.forEach(function(point) { | |
listener.point(point[0], point[1]); | |
}); | |
if (i < n - 1) listener.lineEnd(), listener.lineStart(); | |
}); | |
} else if (from.index !== to.index && from.index != null && to.index != null) { | |
for (var i = from.index; i !== to.index; i = (i + direction + segments.length) % segments.length) { | |
var segment = segments[i], point = d3_geo_spherical(direction > 0 ? segment.to : segment.from); | |
listener.point(point[0], point[1]); | |
} | |
} | |
} | |
function polygonContains(polygon) { | |
return d3_geo_pointInPolygon(point, polygon); | |
} | |
} | |
function d3_geo_clipPolygonSort(a, b) { | |
a = a.point, b = b.point; | |
return a.index - b.index || a.t - b.t; | |
} | |
function d3_geo_clipPolygonDistance(a, b) { | |
var axb = d3_geo_cartesianCross(a, b); | |
return Math.atan2(Math.sqrt(d3_geo_cartesianDot(axb, axb)), d3_geo_cartesianDot(a, b)); | |
} | |
var d3_geo_clipViewMAX = 1e9; | |
function d3_geo_clipView(x0, y0, x1, y1) { | |
return function(listener) { | |
var listener_ = listener, bufferListener = d3_geo_clipBufferListener(), segments, polygon, ring; | |
var clip = { | |
point: point, | |
lineStart: lineStart, | |
lineEnd: lineEnd, | |
polygonStart: function() { | |
listener = bufferListener; | |
segments = []; | |
polygon = []; | |
}, | |
polygonEnd: function() { | |
listener = listener_; | |
if ((segments = d3.merge(segments)).length) { | |
listener.polygonStart(); | |
d3_geo_clipPolygonRejoin(segments, compare, inside, interpolate, listener); | |
listener.polygonEnd(); | |
} else if (insidePolygon([ x0, y0 ])) { | |
listener.polygonStart(), listener.lineStart(); | |
interpolate(null, null, 1, listener); | |
listener.lineEnd(), listener.polygonEnd(); | |
} | |
segments = polygon = ring = null; | |
} | |
}; | |
function inside(point) { | |
var a = corner(point, -1), i = insidePolygon([ a === 0 || a === 3 ? x0 : x1, a > 1 ? y1 : y0 ]); | |
return i; | |
} | |
function insidePolygon(p) { | |
var wn = 0, n = polygon.length, y = p[1]; | |
for (var i = 0; i < n; ++i) { | |
for (var j = 1, v = polygon[i], m = v.length, a = v[0]; j < m; ++j) { | |
b = v[j]; | |
if (a[1] <= y) { | |
if (b[1] > y && isLeft(a, b, p) > 0) ++wn; | |
} else { | |
if (b[1] <= y && isLeft(a, b, p) < 0) --wn; | |
} | |
a = b; | |
} | |
} | |
return wn !== 0; | |
} | |
function isLeft(a, b, c) { | |
return (b[0] - a[0]) * (c[1] - a[1]) - (c[0] - a[0]) * (b[1] - a[1]); | |
} | |
function interpolate(from, to, direction, listener) { | |
var a = 0, a1 = 0; | |
if (from == null || (a = corner(from, direction)) !== (a1 = corner(to, direction)) || comparePoints(from, to) < 0 ^ direction > 0) { | |
do { | |
listener.point(a === 0 || a === 3 ? x0 : x1, a > 1 ? y1 : y0); | |
} while ((a = (a + direction + 4) % 4) !== a1); | |
} else { | |
listener.point(to[0], to[1]); | |
} | |
} | |
function visible(x, y) { | |
return x0 <= x && x <= x1 && y0 <= y && y <= y1; | |
} | |
function point(x, y) { | |
if (visible(x, y)) listener.point(x, y); | |
} | |
var x__, y__, v__, x_, y_, v_, first; | |
function lineStart() { | |
clip.point = linePoint; | |
if (polygon) polygon.push(ring = []); | |
first = true; | |
v_ = false; | |
x_ = y_ = NaN; | |
} | |
function lineEnd() { | |
if (segments) { | |
linePoint(x__, y__); | |
if (v__ && v_) bufferListener.rejoin(); | |
segments.push(bufferListener.buffer()); | |
} | |
clip.point = point; | |
if (v_) listener.lineEnd(); | |
} | |
function linePoint(x, y) { | |
x = Math.max(-d3_geo_clipViewMAX, Math.min(d3_geo_clipViewMAX, x)); | |
y = Math.max(-d3_geo_clipViewMAX, Math.min(d3_geo_clipViewMAX, y)); | |
var v = visible(x, y); | |
if (polygon) ring.push([ x, y ]); | |
if (first) { | |
x__ = x, y__ = y, v__ = v; | |
first = false; | |
if (v) { | |
listener.lineStart(); | |
listener.point(x, y); | |
} | |
} else { | |
if (v && v_) listener.point(x, y); else { | |
var a = [ x_, y_ ], b = [ x, y ]; | |
if (clipLine(a, b)) { | |
if (!v_) { | |
listener.lineStart(); | |
listener.point(a[0], a[1]); | |
} | |
listener.point(b[0], b[1]); | |
if (!v) listener.lineEnd(); | |
} else if (v) { | |
listener.lineStart(); | |
listener.point(x, y); | |
} | |
} | |
} | |
x_ = x, y_ = y, v_ = v; | |
} | |
return clip; | |
}; | |
function corner(p, direction) { | |
return Math.abs(p[0] - x0) < ε ? direction > 0 ? 0 : 3 : Math.abs(p[0] - x1) < ε ? direction > 0 ? 2 : 1 : Math.abs(p[1] - y0) < ε ? direction > 0 ? 1 : 0 : direction > 0 ? 3 : 2; | |
} | |
function compare(a, b) { | |
return comparePoints(a.point, b.point); | |
} | |
function comparePoints(a, b) { | |
var ca = corner(a, 1), cb = corner(b, 1); | |
return ca !== cb ? ca - cb : ca === 0 ? b[1] - a[1] : ca === 1 ? a[0] - b[0] : ca === 2 ? a[1] - b[1] : b[0] - a[0]; | |
} | |
function clipLine(a, b) { | |
var dx = b[0] - a[0], dy = b[1] - a[1], t = [ 0, 1 ]; | |
if (Math.abs(dx) < ε && Math.abs(dy) < ε) return x0 <= a[0] && a[0] <= x1 && y0 <= a[1] && a[1] <= y1; | |
if (d3_geo_clipViewT(x0 - a[0], dx, t) && d3_geo_clipViewT(a[0] - x1, -dx, t) && d3_geo_clipViewT(y0 - a[1], dy, t) && d3_geo_clipViewT(a[1] - y1, -dy, t)) { | |
if (t[1] < 1) { | |
b[0] = a[0] + t[1] * dx; | |
b[1] = a[1] + t[1] * dy; | |
} | |
if (t[0] > 0) { | |
a[0] += t[0] * dx; | |
a[1] += t[0] * dy; | |
} | |
return true; | |
} | |
return false; | |
} | |
} | |
function d3_geo_clipViewT(num, denominator, t) { | |
if (Math.abs(denominator) < ε) return num <= 0; | |
var u = num / denominator; | |
if (denominator > 0) { | |
if (u > t[1]) return false; | |
if (u > t[0]) t[0] = u; | |
} else { | |
if (u < t[0]) return false; | |
if (u < t[1]) t[1] = u; | |
} | |
return true; | |
} | |
function d3_geo_compose(a, b) { | |
function compose(x, y) { | |
return x = a(x, y), b(x[0], x[1]); | |
} | |
if (a.invert && b.invert) compose.invert = function(x, y) { | |
return x = b.invert(x, y), x && a.invert(x[0], x[1]); | |
}; | |
return compose; | |
} | |
function d3_geo_resample(project) { | |
var δ2 = .5, maxDepth = 16; | |
function resample(stream) { | |
var λ0, x0, y0, a0, b0, c0; | |
var resample = { | |
point: point, | |
lineStart: lineStart, | |
lineEnd: lineEnd, | |
polygonStart: function() { | |
stream.polygonStart(); | |
resample.lineStart = polygonLineStart; | |
}, | |
polygonEnd: function() { | |
stream.polygonEnd(); | |
resample.lineStart = lineStart; | |
} | |
}; | |
function point(x, y) { | |
x = project(x, y); | |
stream.point(x[0], x[1]); | |
} | |
function lineStart() { | |
x0 = NaN; | |
resample.point = linePoint; | |
stream.lineStart(); | |
} | |
function linePoint(λ, φ) { | |
var c = d3_geo_cartesian([ λ, φ ]), p = project(λ, φ), buffer = []; | |
resampleLineTo(x0, y0, λ0, a0, b0, c0, x0 = p[0], y0 = p[1], λ0 = λ, a0 = c[0], b0 = c[1], c0 = c[2], maxDepth, buffer); | |
streamLine(buffer, stream); | |
stream.point(x0, y0); | |
} | |
function lineEnd() { | |
resample.point = point; | |
stream.lineEnd(); | |
} | |
function polygonLineStart() { | |
var λ00, φ00, x00, y00, a00, b00, c00; | |
lineStart(); | |
resample.point = function(λ, φ) { | |
linePoint(λ00 = λ, φ00 = φ), x00 = x0, y00 = y0, a00 = a0, b00 = b0, c00 = c0; | |
resample.point = linePoint; | |
}; | |
resample.lineEnd = function() { | |
var buffer = []; | |
resampleLineTo(x0, y0, λ0, a0, b0, c0, x00, y00, λ00, a00, b00, c00, maxDepth, buffer); | |
streamLine(buffer, stream); | |
resample.lineEnd = lineEnd; | |
lineEnd(); | |
}; | |
} | |
function streamLine(line, stream) { | |
for (var i = 0, n = line.length, point; i < n; ++i) { | |
stream.point((point = line[i])[0], point[1]); | |
} | |
} | |
return resample; | |
} | |
function resampleLineTo(x0, y0, λ0, a0, b0, c0, x1, y1, λ1, a1, b1, c1, depth, buffer) { | |
var dx = x1 - x0, dy = y1 - y0, d2 = dx * dx + dy * dy; | |
if (d2 > 4 * δ2 && depth--) { | |
var a = a0 + a1, b = b0 + b1, c = c0 + c1, m = Math.sqrt(a * a + b * b + c * c), φ2 = Math.asin(c /= m), λ2 = Math.abs(Math.abs(c) - 1) < ε ? (λ0 + λ1) / 2 : Math.atan2(b, a), p = project(λ2, φ2), x2 = p[0], y2 = p[1], dx2 = x2 - x0, dy2 = y2 - y0, dz = dy * dx2 - dx * dy2, tooFar = false; | |
if (dz * dz / d2 > δ2 || Math.abs((dx * dx2 + dy * dy2) / d2 - .5) > .3 || (tooFar = dx2 * dx2 + dy2 * dy2 > 256 * δ2)) { | |
var s0 = resampleLineTo(x0, y0, λ0, a0, b0, c0, x2, y2, λ2, a /= m, b /= m, c, depth, buffer); | |
buffer.push(p); | |
var s1 = resampleLineTo(x2, y2, λ2, a, b, c, x1, y1, λ1, a1, b1, c1, depth, buffer); | |
return !tooFar || s0 || s1 || (buffer.pop(), false); | |
} | |
} | |
} | |
resample.precision = function(_) { | |
if (!arguments.length) return Math.sqrt(δ2); | |
maxDepth = (δ2 = _ * _) > 0 && 16; | |
return resample; | |
}; | |
return resample; | |
} | |
d3.geo.projection = d3_geo_projection; | |
d3.geo.projectionMutator = d3_geo_projectionMutator; | |
function d3_geo_projection(project) { | |
return d3_geo_projectionMutator(function() { | |
return project; | |
})(); | |
} | |
function d3_geo_projectionMutator(projectAt) { | |
var project, rotate, projectRotate, projectResample = d3_geo_resample(function(x, y) { | |
x = project(x, y); | |
return [ x[0] * k + δx, δy - x[1] * k ]; | |
}), k = 150, x = 480, y = 250, λ = 0, φ = 0, δλ = 0, δφ = 0, δγ = 0, δx, δy, preclip = d3_geo_clipAntimeridian, postclip = d3_identity, clipAngle = null, clipPolygon = null, clipExtent = null; | |
function projection(point) { | |
point = projectRotate(point[0] * d3_radians, point[1] * d3_radians); | |
return [ point[0] * k + δx, δy - point[1] * k ]; | |
} | |
function invert(point) { | |
point = projectRotate.invert((point[0] - δx) / k, (δy - point[1]) / k); | |
return point && [ point[0] * d3_degrees, point[1] * d3_degrees ]; | |
} | |
projection.stream = function(stream) { | |
return d3_geo_projectionRadiansRotate(rotate, preclip(projectResample(postclip(stream)))); | |
}; | |
projection.clipAngle = function(_) { | |
if (!arguments.length) return clipAngle; | |
preclip = _ == null ? (clipAngle = _, d3_geo_clipAntimeridian) : d3_geo_clipCircle((clipAngle = +_) * d3_radians); | |
return projection; | |
}; | |
projection.clipExtent = function(_) { | |
if (!arguments.length) return clipExtent; | |
clipExtent = _; | |
postclip = _ == null ? d3_identity : d3_geo_clipView(_[0][0], _[0][1], _[1][0], _[1][1]); | |
return projection; | |
}; | |
projection.scale = function(_) { | |
if (!arguments.length) return k; | |
k = +_; | |
return reset(); | |
}; | |
projection.translate = function(_) { | |
if (!arguments.length) return [ x, y ]; | |
x = +_[0]; | |
y = +_[1]; | |
return reset(); | |
}; | |
projection.center = function(_) { | |
if (!arguments.length) return [ λ * d3_degrees, φ * d3_degrees ]; | |
λ = _[0] % 360 * d3_radians; | |
φ = _[1] % 360 * d3_radians; | |
return reset(); | |
}; | |
projection.rotate = function(_) { | |
if (!arguments.length) return [ δλ * d3_degrees, δφ * d3_degrees, δγ * d3_degrees ]; | |
δλ = _[0] % 360 * d3_radians; | |
δφ = _[1] % 360 * d3_radians; | |
δγ = _.length > 2 ? _[2] % 360 * d3_radians : 0; | |
return reset(); | |
}; | |
projection.clipPolygon = function(_) { | |
if (!arguments.length) return clipPolygon; | |
clipAngle = null; | |
clipPolygon = _; | |
preclip = _ == null ? d3_geo_clipAntimeridian : d3_geo_clipPolygon(_); | |
return reset(); | |
}; | |
d3.rebind(projection, projectResample, "precision"); | |
function reset() { | |
projectRotate = d3_geo_compose(rotate = d3_geo_rotation(δλ, δφ, δγ), project); | |
var center = project(λ, φ); | |
δx = x - center[0] * k; | |
δy = y + center[1] * k; | |
return projection; | |
} | |
return function() { | |
project = projectAt.apply(this, arguments); | |
projection.invert = project.invert && invert; | |
return reset(); | |
}; | |
} | |
function d3_geo_projectionRadiansRotate(rotate, stream) { | |
return { | |
point: function(x, y) { | |
y = rotate(x * d3_radians, y * d3_radians), x = y[0]; | |
stream.point(x > π ? x - 2 * π : x < -π ? x + 2 * π : x, y[1]); | |
}, | |
sphere: function() { | |
stream.sphere(); | |
}, | |
lineStart: function() { | |
stream.lineStart(); | |
}, | |
lineEnd: function() { | |
stream.lineEnd(); | |
}, | |
polygonStart: function() { | |
stream.polygonStart(); | |
}, | |
polygonEnd: function() { | |
stream.polygonEnd(); | |
} | |
}; | |
} | |
function d3_geo_equirectangular(λ, φ) { | |
return [ λ, φ ]; | |
} | |
(d3.geo.equirectangular = function() { | |
return d3_geo_projection(d3_geo_equirectangular); | |
}).raw = d3_geo_equirectangular.invert = d3_geo_equirectangular; | |
d3.geo.rotation = function(rotate) { | |
rotate = d3_geo_rotation(rotate[0] % 360 * d3_radians, rotate[1] * d3_radians, rotate.length > 2 ? rotate[2] * d3_radians : 0); | |
function forward(coordinates) { | |
coordinates = rotate(coordinates[0] * d3_radians, coordinates[1] * d3_radians); | |
return coordinates[0] *= d3_degrees, coordinates[1] *= d3_degrees, coordinates; | |
} | |
forward.invert = function(coordinates) { | |
coordinates = rotate.invert(coordinates[0] * d3_radians, coordinates[1] * d3_radians); | |
return coordinates[0] *= d3_degrees, coordinates[1] *= d3_degrees, coordinates; | |
}; | |
return forward; | |
}; | |
function d3_geo_rotation(δλ, δφ, δγ) { | |
return δλ ? δφ || δγ ? d3_geo_compose(d3_geo_rotationλ(δλ), d3_geo_rotationφγ(δφ, δγ)) : d3_geo_rotationλ(δλ) : δφ || δγ ? d3_geo_rotationφγ(δφ, δγ) : d3_geo_equirectangular; | |
} | |
function d3_geo_forwardRotationλ(δλ) { | |
return function(λ, φ) { | |
return λ += δλ, [ λ > π ? λ - 2 * π : λ < -π ? λ + 2 * π : λ, φ ]; | |
}; | |
} | |
function d3_geo_rotationλ(δλ) { | |
var rotation = d3_geo_forwardRotationλ(δλ); | |
rotation.invert = d3_geo_forwardRotationλ(-δλ); | |
return rotation; | |
} | |
function d3_geo_rotationφγ(δφ, δγ) { | |
var cosδφ = Math.cos(δφ), sinδφ = Math.sin(δφ), cosδγ = Math.cos(δγ), sinδγ = Math.sin(δγ); | |
function rotation(λ, φ) { | |
var cosφ = Math.cos(φ), x = Math.cos(λ) * cosφ, y = Math.sin(λ) * cosφ, z = Math.sin(φ), k = z * cosδφ + x * sinδφ; | |
return [ Math.atan2(y * cosδγ - k * sinδγ, x * cosδφ - z * sinδφ), Math.asin(Math.max(-1, Math.min(1, k * cosδγ + y * sinδγ))) ]; | |
} | |
rotation.invert = function(λ, φ) { | |
var cosφ = Math.cos(φ), x = Math.cos(λ) * cosφ, y = Math.sin(λ) * cosφ, z = Math.sin(φ), k = z * cosδγ - y * sinδγ; | |
return [ Math.atan2(y * cosδγ + z * sinδγ, x * cosδφ + k * sinδφ), Math.asin(Math.max(-1, Math.min(1, k * cosδφ - x * sinδφ))) ]; | |
}; | |
return rotation; | |
} | |
d3.geo.circle = function() { | |
var origin = [ 0, 0 ], angle, precision = 6, interpolate; | |
function circle() { | |
var center = typeof origin === "function" ? origin.apply(this, arguments) : origin, rotate = d3_geo_rotation(-center[0] * d3_radians, -center[1] * d3_radians, 0).invert, ring = []; | |
interpolate(null, null, 1, { | |
point: function(x, y) { | |
ring.push(x = rotate(x, y)); | |
x[0] *= d3_degrees, x[1] *= d3_degrees; | |
} | |
}); | |
return { | |
type: "Polygon", | |
coordinates: [ ring ] | |
}; | |
} | |
circle.origin = function(x) { | |
if (!arguments.length) return origin; | |
origin = x; | |
return circle; | |
}; | |
circle.angle = function(x) { | |
if (!arguments.length) return angle; | |
interpolate = d3_geo_circleInterpolate((angle = +x) * d3_radians, precision * d3_radians); | |
return circle; | |
}; | |
circle.precision = function(_) { | |
if (!arguments.length) return precision; | |
interpolate = d3_geo_circleInterpolate(angle * d3_radians, (precision = +_) * d3_radians); | |
return circle; | |
}; | |
return circle.angle(90); | |
}; | |
function d3_geo_circleInterpolate(radius, precision) { | |
var cr = Math.cos(radius), sr = Math.sin(radius); | |
return function(from, to, direction, listener) { | |
if (from != null) { | |
from = d3_geo_circleAngle(cr, from); | |
to = d3_geo_circleAngle(cr, to); | |
if (direction > 0 ? from < to : from > to) from += direction * 2 * π; | |
} else { | |
from = radius + direction * 2 * π; | |
to = radius; | |
} | |
var point; | |
for (var step = direction * precision, t = from; direction > 0 ? t > to : t < to; t -= step) { | |
listener.point((point = d3_geo_spherical([ cr, -sr * Math.cos(t), -sr * Math.sin(t) ]))[0], point[1]); | |
} | |
}; | |
} | |
function d3_geo_circleAngle(cr, point) { | |
var a = d3_geo_cartesian(point); | |
a[0] -= cr; | |
d3_geo_cartesianNormalize(a); | |
var angle = d3_acos(-a[1]); | |
return ((-a[2] < 0 ? -angle : angle) + 2 * Math.PI - ε) % (2 * Math.PI); | |
} | |
d3.geo.graticule = function() { | |
var x1, x0, X1, X0, y1, y0, Y1, Y0, dx = 10, dy = dx, DX = 90, DY = 360, x, y, X, Y, precision = 2.5; | |
function graticule() { | |
return { | |
type: "MultiLineString", | |
coordinates: lines() | |
}; | |
} | |
function lines() { | |
return d3.range(Math.ceil(X0 / DX) * DX, X1, DX).map(X).concat(d3.range(Math.ceil(Y0 / DY) * DY, Y1, DY).map(Y)).concat(d3.range(Math.ceil(x0 / dx) * dx, x1, dx).filter(function(x) { | |
return Math.abs(x % DX) > ε; | |
}).map(x)).concat(d3.range(Math.ceil(y0 / dy) * dy, y1, dy).filter(function(y) { | |
return Math.abs(y % DY) > ε; | |
}).map(y)); | |
} | |
graticule.lines = function() { | |
return lines().map(function(coordinates) { | |
return { | |
type: "LineString", | |
coordinates: coordinates | |
}; | |
}); | |
}; | |
graticule.outline = function() { | |
return { | |
type: "Polygon", | |
coordinates: [ X(X0).concat(Y(Y1).slice(1), X(X1).reverse().slice(1), Y(Y0).reverse().slice(1)) ] | |
}; | |
}; | |
graticule.extent = function(_) { | |
if (!arguments.length) return graticule.minorExtent(); | |
return graticule.majorExtent(_).minorExtent(_); | |
}; | |
graticule.majorExtent = function(_) { | |
if (!arguments.length) return [ [ X0, Y0 ], [ X1, Y1 ] ]; | |
X0 = +_[0][0], X1 = +_[1][0]; | |
Y0 = +_[0][1], Y1 = +_[1][1]; | |
if (X0 > X1) _ = X0, X0 = X1, X1 = _; | |
if (Y0 > Y1) _ = Y0, Y0 = Y1, Y1 = _; | |
return graticule.precision(precision); | |
}; | |
graticule.minorExtent = function(_) { | |
if (!arguments.length) return [ [ x0, y0 ], [ x1, y1 ] ]; | |
x0 = +_[0][0], x1 = +_[1][0]; | |
y0 = +_[0][1], y1 = +_[1][1]; | |
if (x0 > x1) _ = x0, x0 = x1, x1 = _; | |
if (y0 > y1) _ = y0, y0 = y1, y1 = _; | |
return graticule.precision(precision); | |
}; | |
graticule.step = function(_) { | |
if (!arguments.length) return graticule.minorStep(); | |
return graticule.majorStep(_).minorStep(_); | |
}; | |
graticule.majorStep = function(_) { | |
if (!arguments.length) return [ DX, DY ]; | |
DX = +_[0], DY = +_[1]; | |
return graticule; | |
}; | |
graticule.minorStep = function(_) { | |
if (!arguments.length) return [ dx, dy ]; | |
dx = +_[0], dy = +_[1]; | |
return graticule; | |
}; | |
graticule.precision = function(_) { | |
if (!arguments.length) return precision; | |
precision = +_; | |
x = d3_geo_graticuleX(y0, y1, 90); | |
y = d3_geo_graticuleY(x0, x1, precision); | |
X = d3_geo_graticuleX(Y0, Y1, 90); | |
Y = d3_geo_graticuleY(X0, X1, precision); | |
return graticule; | |
}; | |
return graticule.majorExtent([ [ -180, -90 + ε ], [ 180, 90 - ε ] ]).minorExtent([ [ -180, -80 - ε ], [ 180, 80 + ε ] ]); | |
}; | |
function d3_geo_graticuleX(y0, y1, dy) { | |
var y = d3.range(y0, y1 - ε, dy).concat(y1); | |
return function(x) { | |
return y.map(function(y) { | |
return [ x, y ]; | |
}); | |
}; | |
} | |
function d3_geo_graticuleY(x0, x1, dx) { | |
var x = d3.range(x0, x1 - ε, dx).concat(x1); | |
return function(y) { | |
return x.map(function(x) { | |
return [ x, y ]; | |
}); | |
}; | |
} | |
function d3_source(d) { | |
return d.source; | |
} | |
function d3_target(d) { | |
return d.target; | |
} | |
d3.geo.greatArc = function() { | |
var source = d3_source, source_, target = d3_target, target_; | |
function greatArc() { | |
return { | |
type: "LineString", | |
coordinates: [ source_ || source.apply(this, arguments), target_ || target.apply(this, arguments) ] | |
}; | |
} | |
greatArc.distance = function() { | |
return d3.geo.distance(source_ || source.apply(this, arguments), target_ || target.apply(this, arguments)); | |
}; | |
greatArc.source = function(_) { | |
if (!arguments.length) return source; | |
source = _, source_ = typeof _ === "function" ? null : _; | |
return greatArc; | |
}; | |
greatArc.target = function(_) { | |
if (!arguments.length) return target; | |
target = _, target_ = typeof _ === "function" ? null : _; | |
return greatArc; | |
}; | |
greatArc.precision = function() { | |
return arguments.length ? greatArc : 0; | |
}; | |
return greatArc; | |
}; | |
d3.geo.interpolate = function(source, target) { | |
return d3_geo_interpolate(source[0] * d3_radians, source[1] * d3_radians, target[0] * d3_radians, target[1] * d3_radians); | |
}; | |
function d3_geo_interpolate(x0, y0, x1, y1) { | |
var cy0 = Math.cos(y0), sy0 = Math.sin(y0), cy1 = Math.cos(y1), sy1 = Math.sin(y1), kx0 = cy0 * Math.cos(x0), ky0 = cy0 * Math.sin(x0), kx1 = cy1 * Math.cos(x1), ky1 = cy1 * Math.sin(x1), d = 2 * Math.asin(Math.sqrt(d3_haversin(y1 - y0) + cy0 * cy1 * d3_haversin(x1 - x0))), k = 1 / Math.sin(d); | |
var interpolate = d ? function(t) { | |
var B = Math.sin(t *= d) * k, A = Math.sin(d - t) * k, x = A * kx0 + B * kx1, y = A * ky0 + B * ky1, z = A * sy0 + B * sy1; | |
return [ Math.atan2(y, x) * d3_degrees, Math.atan2(z, Math.sqrt(x * x + y * y)) * d3_degrees ]; | |
} : function() { | |
return [ x0 * d3_degrees, y0 * d3_degrees ]; | |
}; | |
interpolate.distance = d; | |
return interpolate; | |
} | |
d3.geo.length = function(object) { | |
d3_geo_lengthSum = 0; | |
d3.geo.stream(object, d3_geo_length); | |
return d3_geo_lengthSum; | |
}; | |
var d3_geo_lengthSum; | |
var d3_geo_length = { | |
sphere: d3_noop, | |
point: d3_noop, | |
lineStart: d3_geo_lengthLineStart, | |
lineEnd: d3_noop, | |
polygonStart: d3_noop, | |
polygonEnd: d3_noop | |
}; | |
function d3_geo_lengthLineStart() { | |
var λ0, sinφ0, cosφ0; | |
d3_geo_length.point = function(λ, φ) { | |
λ0 = λ * d3_radians, sinφ0 = Math.sin(φ *= d3_radians), cosφ0 = Math.cos(φ); | |
d3_geo_length.point = nextPoint; | |
}; | |
d3_geo_length.lineEnd = function() { | |
d3_geo_length.point = d3_geo_length.lineEnd = d3_noop; | |
}; | |
function nextPoint(λ, φ) { | |
var sinφ = Math.sin(φ *= d3_radians), cosφ = Math.cos(φ), t = Math.abs((λ *= d3_radians) - λ0), cosΔλ = Math.cos(t); | |
d3_geo_lengthSum += Math.atan2(Math.sqrt((t = cosφ * Math.sin(t)) * t + (t = cosφ0 * sinφ - sinφ0 * cosφ * cosΔλ) * t), sinφ0 * sinφ + cosφ0 * cosφ * cosΔλ); | |
λ0 = λ, sinφ0 = sinφ, cosφ0 = cosφ; | |
} | |
} | |
function d3_geo_conic(projectAt) { | |
var φ0 = 0, φ1 = π / 3, m = d3_geo_projectionMutator(projectAt), p = m(φ0, φ1); | |
p.parallels = function(_) { | |
if (!arguments.length) return [ φ0 / π * 180, φ1 / π * 180 ]; | |
return m(φ0 = _[0] * π / 180, φ1 = _[1] * π / 180); | |
}; | |
return p; | |
} | |
function d3_geo_conicEqualArea(φ0, φ1) { | |
var sinφ0 = Math.sin(φ0), n = (sinφ0 + Math.sin(φ1)) / 2, C = 1 + sinφ0 * (2 * n - sinφ0), ρ0 = Math.sqrt(C) / n; | |
function forward(λ, φ) { | |
var ρ = Math.sqrt(C - 2 * n * Math.sin(φ)) / n; | |
return [ ρ * Math.sin(λ *= n), ρ0 - ρ * Math.cos(λ) ]; | |
} | |
forward.invert = function(x, y) { | |
var ρ0_y = ρ0 - y; | |
return [ Math.atan2(x, ρ0_y) / n, d3_asin((C - (x * x + ρ0_y * ρ0_y) * n * n) / (2 * n)) ]; | |
}; | |
return forward; | |
} | |
(d3.geo.conicEqualArea = function() { | |
return d3_geo_conic(d3_geo_conicEqualArea); | |
}).raw = d3_geo_conicEqualArea; | |
d3.geo.albers = function() { | |
return d3.geo.conicEqualArea().rotate([ 96, 0 ]).center([ -.6, 38.7 ]).parallels([ 29.5, 45.5 ]).scale(1070); | |
}; | |
d3.geo.albersUsa = function() { | |
var lower48 = d3.geo.albers(); | |
var alaska = d3.geo.conicEqualArea().rotate([ 154, 0 ]).center([ -2, 58.5 ]).parallels([ 55, 65 ]); | |
var hawaii = d3.geo.conicEqualArea().rotate([ 157, 0 ]).center([ -3, 19.9 ]).parallels([ 8, 18 ]); | |
var point, pointStream = { | |
point: function(x, y) { | |
point = [ x, y ]; | |
} | |
}, lower48Point, alaskaPoint, hawaiiPoint; | |
function albersUsa(coordinates) { | |
var x = coordinates[0], y = coordinates[1]; | |
point = null; | |
(lower48Point(x, y), point) || (alaskaPoint(x, y), point) || hawaiiPoint(x, y); | |
return point; | |
} | |
albersUsa.invert = function(coordinates) { | |
var k = lower48.scale(), t = lower48.translate(), x = (coordinates[0] - t[0]) / k, y = (coordinates[1] - t[1]) / k; | |
return (y >= .12 && y < .234 && x >= -.425 && x < -.214 ? alaska : y >= .166 && y < .234 && x >= -.214 && x < -.115 ? hawaii : lower48).invert(coordinates); | |
}; | |
albersUsa.stream = function(stream) { | |
var lower48Stream = lower48.stream(stream), alaskaStream = alaska.stream(stream), hawaiiStream = hawaii.stream(stream); | |
return { | |
point: function(x, y) { | |
lower48Stream.point(x, y); | |
alaskaStream.point(x, y); | |
hawaiiStream.point(x, y); | |
}, | |
sphere: function() { | |
lower48Stream.sphere(); | |
alaskaStream.sphere(); | |
hawaiiStream.sphere(); | |
}, | |
lineStart: function() { | |
lower48Stream.lineStart(); | |
alaskaStream.lineStart(); | |
hawaiiStream.lineStart(); | |
}, | |
lineEnd: function() { | |
lower48Stream.lineEnd(); | |
alaskaStream.lineEnd(); | |
hawaiiStream.lineEnd(); | |
}, | |
polygonStart: function() { | |
lower48Stream.polygonStart(); | |
alaskaStream.polygonStart(); | |
hawaiiStream.polygonStart(); | |
}, | |
polygonEnd: function() { | |
lower48Stream.polygonEnd(); | |
alaskaStream.polygonEnd(); | |
hawaiiStream.polygonEnd(); | |
} | |
}; | |
}; | |
albersUsa.precision = function(_) { | |
if (!arguments.length) return lower48.precision(); | |
lower48.precision(_); | |
alaska.precision(_); | |
hawaii.precision(_); | |
return albersUsa; | |
}; | |
albersUsa.scale = function(_) { | |
if (!arguments.length) return lower48.scale(); | |
lower48.scale(_); | |
alaska.scale(_ * .35); | |
hawaii.scale(_); | |
return albersUsa.translate(lower48.translate()); | |
}; | |
albersUsa.translate = function(_) { | |
if (!arguments.length) return lower48.translate(); | |
var k = lower48.scale(), x = +_[0], y = +_[1]; | |
lower48Point = lower48.translate(_).clipExtent([ [ x - .455 * k, y - .238 * k ], [ x + .455 * k, y + .238 * k ] ]).stream(pointStream).point; | |
alaskaPoint = alaska.translate([ x - .307 * k, y + .201 * k ]).clipExtent([ [ x - .425 * k + ε, y + .12 * k + ε ], [ x - .214 * k - ε, y + .234 * k - ε ] ]).stream(pointStream).point; | |
hawaiiPoint = hawaii.translate([ x - .205 * k, y + .212 * k ]).clipExtent([ [ x - .214 * k + ε, y + .166 * k + ε ], [ x - .115 * k - ε, y + .234 * k - ε ] ]).stream(pointStream).point; | |
return albersUsa; | |
}; | |
return albersUsa.scale(1070); | |
}; | |
var d3_geo_pathAreaSum, d3_geo_pathAreaPolygon, d3_geo_pathArea = { | |
point: d3_noop, | |
lineStart: d3_noop, | |
lineEnd: d3_noop, | |
polygonStart: function() { | |
d3_geo_pathAreaPolygon = 0; | |
d3_geo_pathArea.lineStart = d3_geo_pathAreaRingStart; | |
}, | |
polygonEnd: function() { | |
d3_geo_pathArea.lineStart = d3_geo_pathArea.lineEnd = d3_geo_pathArea.point = d3_noop; | |
d3_geo_pathAreaSum += Math.abs(d3_geo_pathAreaPolygon / 2); | |
} | |
}; | |
function d3_geo_pathAreaRingStart() { | |
var x00, y00, x0, y0; | |
d3_geo_pathArea.point = function(x, y) { | |
d3_geo_pathArea.point = nextPoint; | |
x00 = x0 = x, y00 = y0 = y; | |
}; | |
function nextPoint(x, y) { | |
d3_geo_pathAreaPolygon += y0 * x - x0 * y; | |
x0 = x, y0 = y; | |
} | |
d3_geo_pathArea.lineEnd = function() { | |
nextPoint(x00, y00); | |
}; | |
} | |
var d3_geo_pathBoundsX0, d3_geo_pathBoundsY0, d3_geo_pathBoundsX1, d3_geo_pathBoundsY1; | |
var d3_geo_pathBounds = { | |
point: d3_geo_pathBoundsPoint, | |
lineStart: d3_noop, | |
lineEnd: d3_noop, | |
polygonStart: d3_noop, | |
polygonEnd: d3_noop | |
}; | |
function d3_geo_pathBoundsPoint(x, y) { | |
if (x < d3_geo_pathBoundsX0) d3_geo_pathBoundsX0 = x; | |
if (x > d3_geo_pathBoundsX1) d3_geo_pathBoundsX1 = x; | |
if (y < d3_geo_pathBoundsY0) d3_geo_pathBoundsY0 = y; | |
if (y > d3_geo_pathBoundsY1) d3_geo_pathBoundsY1 = y; | |
} | |
function d3_geo_pathBuffer() { | |
var pointCircle = d3_geo_pathBufferCircle(4.5), buffer = []; | |
var stream = { | |
point: point, | |
lineStart: function() { | |
stream.point = pointLineStart; | |
}, | |
lineEnd: lineEnd, | |
polygonStart: function() { | |
stream.lineEnd = lineEndPolygon; | |
}, | |
polygonEnd: function() { | |
stream.lineEnd = lineEnd; | |
stream.point = point; | |
}, | |
pointRadius: function(_) { | |
pointCircle = d3_geo_pathBufferCircle(_); | |
return stream; | |
}, | |
result: function() { | |
if (buffer.length) { | |
var result = buffer.join(""); | |
buffer = []; | |
return result; | |
} | |
} | |
}; | |
function point(x, y) { | |
buffer.push("M", x, ",", y, pointCircle); | |
} | |
function pointLineStart(x, y) { | |
buffer.push("M", x, ",", y); | |
stream.point = pointLine; | |
} | |
function pointLine(x, y) { | |
buffer.push("L", x, ",", y); | |
} | |
function lineEnd() { | |
stream.point = point; | |
} | |
function lineEndPolygon() { | |
buffer.push("Z"); | |
} | |
return stream; | |
} | |
function d3_geo_pathBufferCircle(radius) { | |
return "m0," + radius + "a" + radius + "," + radius + " 0 1,1 0," + -2 * radius + "a" + radius + "," + radius + " 0 1,1 0," + 2 * radius + "z"; | |
} | |
var d3_geo_pathCentroid = { | |
point: d3_geo_pathCentroidPoint, | |
lineStart: d3_geo_pathCentroidLineStart, | |
lineEnd: d3_geo_pathCentroidLineEnd, | |
polygonStart: function() { | |
d3_geo_pathCentroid.lineStart = d3_geo_pathCentroidRingStart; | |
}, | |
polygonEnd: function() { | |
d3_geo_pathCentroid.point = d3_geo_pathCentroidPoint; | |
d3_geo_pathCentroid.lineStart = d3_geo_pathCentroidLineStart; | |
d3_geo_pathCentroid.lineEnd = d3_geo_pathCentroidLineEnd; | |
} | |
}; | |
function d3_geo_pathCentroidPoint(x, y) { | |
if (d3_geo_centroidDimension) return; | |
d3_geo_centroidX += x; | |
d3_geo_centroidY += y; | |
++d3_geo_centroidZ; | |
} | |
function d3_geo_pathCentroidLineStart() { | |
var x0, y0; | |
if (d3_geo_centroidDimension !== 1) { | |
if (d3_geo_centroidDimension < 1) { | |
d3_geo_centroidDimension = 1; | |
d3_geo_centroidX = d3_geo_centroidY = d3_geo_centroidZ = 0; | |
} else return; | |
} | |
d3_geo_pathCentroid.point = function(x, y) { | |
d3_geo_pathCentroid.point = nextPoint; | |
x0 = x, y0 = y; | |
}; | |
function nextPoint(x, y) { | |
var dx = x - x0, dy = y - y0, z = Math.sqrt(dx * dx + dy * dy); | |
d3_geo_centroidX += z * (x0 + x) / 2; | |
d3_geo_centroidY += z * (y0 + y) / 2; | |
d3_geo_centroidZ += z; | |
x0 = x, y0 = y; | |
} | |
} | |
function d3_geo_pathCentroidLineEnd() { | |
d3_geo_pathCentroid.point = d3_geo_pathCentroidPoint; | |
} | |
function d3_geo_pathCentroidRingStart() { | |
var x00, y00, x0, y0; | |
if (d3_geo_centroidDimension < 2) { | |
d3_geo_centroidDimension = 2; | |
d3_geo_centroidX = d3_geo_centroidY = d3_geo_centroidZ = 0; | |
} | |
d3_geo_pathCentroid.point = function(x, y) { | |
d3_geo_pathCentroid.point = nextPoint; | |
x00 = x0 = x, y00 = y0 = y; | |
}; | |
function nextPoint(x, y) { | |
var z = y0 * x - x0 * y; | |
d3_geo_centroidX += z * (x0 + x); | |
d3_geo_centroidY += z * (y0 + y); | |
d3_geo_centroidZ += z * 3; | |
x0 = x, y0 = y; | |
} | |
d3_geo_pathCentroid.lineEnd = function() { | |
nextPoint(x00, y00); | |
}; | |
} | |
function d3_geo_pathContext(context) { | |
var pointRadius = 4.5; | |
var stream = { | |
point: point, | |
lineStart: function() { | |
stream.point = pointLineStart; | |
}, | |
lineEnd: lineEnd, | |
polygonStart: function() { | |
stream.lineEnd = lineEndPolygon; | |
}, | |
polygonEnd: function() { | |
stream.lineEnd = lineEnd; | |
stream.point = point; | |
}, | |
pointRadius: function(_) { | |
pointRadius = _; | |
return stream; | |
}, | |
result: d3_noop | |
}; | |
function point(x, y) { | |
context.moveTo(x, y); | |
context.arc(x, y, pointRadius, 0, 2 * π); | |
} | |
function pointLineStart(x, y) { | |
context.moveTo(x, y); | |
stream.point = pointLine; | |
} | |
function pointLine(x, y) { | |
context.lineTo(x, y); | |
} | |
function lineEnd() { | |
stream.point = point; | |
} | |
function lineEndPolygon() { | |
context.closePath(); | |
} | |
return stream; | |
} | |
d3.geo.path = function() { | |
var pointRadius = 4.5, projection, context, projectStream, contextStream; | |
function path(object) { | |
if (object) d3.geo.stream(object, projectStream(contextStream.pointRadius(typeof pointRadius === "function" ? +pointRadius.apply(this, arguments) : pointRadius))); | |
return contextStream.result(); | |
} | |
path.area = function(object) { | |
d3_geo_pathAreaSum = 0; | |
d3.geo.stream(object, projectStream(d3_geo_pathArea)); | |
return d3_geo_pathAreaSum; | |
}; | |
path.centroid = function(object) { | |
d3_geo_centroidDimension = d3_geo_centroidX = d3_geo_centroidY = d3_geo_centroidZ = 0; | |
d3.geo.stream(object, projectStream(d3_geo_pathCentroid)); | |
return d3_geo_centroidZ ? [ d3_geo_centroidX / d3_geo_centroidZ, d3_geo_centroidY / d3_geo_centroidZ ] : undefined; | |
}; | |
path.bounds = function(object) { | |
d3_geo_pathBoundsX1 = d3_geo_pathBoundsY1 = -(d3_geo_pathBoundsX0 = d3_geo_pathBoundsY0 = Infinity); | |
d3.geo.stream(object, projectStream(d3_geo_pathBounds)); | |
return [ [ d3_geo_pathBoundsX0, d3_geo_pathBoundsY0 ], [ d3_geo_pathBoundsX1, d3_geo_pathBoundsY1 ] ]; | |
}; | |
path.projection = function(_) { | |
if (!arguments.length) return projection; | |
projectStream = (projection = _) ? _.stream || d3_geo_pathProjectStream(_) : d3_identity; | |
return path; | |
}; | |
path.context = function(_) { | |
if (!arguments.length) return context; | |
contextStream = (context = _) == null ? new d3_geo_pathBuffer() : new d3_geo_pathContext(_); | |
return path; | |
}; | |
path.pointRadius = function(_) { | |
if (!arguments.length) return pointRadius; | |
pointRadius = typeof _ === "function" ? _ : +_; | |
return path; | |
}; | |
return path.projection(d3.geo.albersUsa()).context(null); | |
}; | |
function d3_geo_pathProjectStream(project) { | |
var resample = d3_geo_resample(function(λ, φ) { | |
return project([ λ * d3_degrees, φ * d3_degrees ]); | |
}); | |
return function(stream) { | |
stream = resample(stream); | |
return { | |
point: function(λ, φ) { | |
stream.point(λ * d3_radians, φ * d3_radians); | |
}, | |
sphere: function() { | |
stream.sphere(); | |
}, | |
lineStart: function() { | |
stream.lineStart(); | |
}, | |
lineEnd: function() { | |
stream.lineEnd(); | |
}, | |
polygonStart: function() { | |
stream.polygonStart(); | |
}, | |
polygonEnd: function() { | |
stream.polygonEnd(); | |
} | |
}; | |
}; | |
} | |
function d3_geo_azimuthal(scale, angle) { | |
function azimuthal(λ, φ) { | |
var cosλ = Math.cos(λ), cosφ = Math.cos(φ), k = scale(cosλ * cosφ); | |
return [ k * cosφ * Math.sin(λ), k * Math.sin(φ) ]; | |
} | |
azimuthal.invert = function(x, y) { | |
var ρ = Math.sqrt(x * x + y * y), c = angle(ρ), sinc = Math.sin(c), cosc = Math.cos(c); | |
return [ Math.atan2(x * sinc, ρ * cosc), Math.asin(ρ && y * sinc / ρ) ]; | |
}; | |
return azimuthal; | |
} | |
var d3_geo_azimuthalEqualArea = d3_geo_azimuthal(function(cosλcosφ) { | |
return Math.sqrt(2 / (1 + cosλcosφ)); | |
}, function(ρ) { | |
return 2 * Math.asin(ρ / 2); | |
}); | |
(d3.geo.azimuthalEqualArea = function() { | |
return d3_geo_projection(d3_geo_azimuthalEqualArea); | |
}).raw = d3_geo_azimuthalEqualArea; | |
var d3_geo_azimuthalEquidistant = d3_geo_azimuthal(function(cosλcosφ) { | |
var c = Math.acos(cosλcosφ); | |
return c && c / Math.sin(c); | |
}, d3_identity); | |
(d3.geo.azimuthalEquidistant = function() { | |
return d3_geo_projection(d3_geo_azimuthalEquidistant); | |
}).raw = d3_geo_azimuthalEquidistant; | |
function d3_geo_conicConformal(φ0, φ1) { | |
var cosφ0 = Math.cos(φ0), t = function(φ) { | |
return Math.tan(π / 4 + φ / 2); | |
}, n = φ0 === φ1 ? Math.sin(φ0) : Math.log(cosφ0 / Math.cos(φ1)) / Math.log(t(φ1) / t(φ0)), F = cosφ0 * Math.pow(t(φ0), n) / n; | |
if (!n) return d3_geo_mercator; | |
function forward(λ, φ) { | |
var ρ = Math.abs(Math.abs(φ) - π / 2) < ε ? 0 : F / Math.pow(t(φ), n); | |
return [ ρ * Math.sin(n * λ), F - ρ * Math.cos(n * λ) ]; | |
} | |
forward.invert = function(x, y) { | |
var ρ0_y = F - y, ρ = d3_sgn(n) * Math.sqrt(x * x + ρ0_y * ρ0_y); | |
return [ Math.atan2(x, ρ0_y) / n, 2 * Math.atan(Math.pow(F / ρ, 1 / n)) - π / 2 ]; | |
}; | |
return forward; | |
} | |
(d3.geo.conicConformal = function() { | |
return d3_geo_conic(d3_geo_conicConformal); | |
}).raw = d3_geo_conicConformal; | |
function d3_geo_conicEquidistant(φ0, φ1) { | |
var cosφ0 = Math.cos(φ0), n = φ0 === φ1 ? Math.sin(φ0) : (cosφ0 - Math.cos(φ1)) / (φ1 - φ0), G = cosφ0 / n + φ0; | |
if (Math.abs(n) < ε) return d3_geo_equirectangular; | |
function forward(λ, φ) { | |
var ρ = G - φ; | |
return [ ρ * Math.sin(n * λ), G - ρ * Math.cos(n * λ) ]; | |
} | |
forward.invert = function(x, y) { | |
var ρ0_y = G - y; | |
return [ Math.atan2(x, ρ0_y) / n, G - d3_sgn(n) * Math.sqrt(x * x + ρ0_y * ρ0_y) ]; | |
}; | |
return forward; | |
} | |
(d3.geo.conicEquidistant = function() { | |
return d3_geo_conic(d3_geo_conicEquidistant); | |
}).raw = d3_geo_conicEquidistant; | |
var d3_geo_gnomonic = d3_geo_azimuthal(function(cosλcosφ) { | |
return 1 / cosλcosφ; | |
}, Math.atan); | |
(d3.geo.gnomonic = function() { | |
return d3_geo_projection(d3_geo_gnomonic); | |
}).raw = d3_geo_gnomonic; | |
function d3_geo_mercator(λ, φ) { | |
return [ λ, Math.log(Math.tan(π / 4 + φ / 2)) ]; | |
} | |
d3_geo_mercator.invert = function(x, y) { | |
return [ x, 2 * Math.atan(Math.exp(y)) - π / 2 ]; | |
}; | |
function d3_geo_mercatorProjection(project) { | |
var m = d3_geo_projection(project), scale = m.scale, translate = m.translate, clipExtent = m.clipExtent, clipAuto; | |
m.scale = function() { | |
var v = scale.apply(m, arguments); | |
return v === m ? clipAuto ? m.clipExtent(null) : m : v; | |
}; | |
m.translate = function() { | |
var v = translate.apply(m, arguments); | |
return v === m ? clipAuto ? m.clipExtent(null) : m : v; | |
}; | |
m.clipExtent = function(_) { | |
var v = clipExtent.apply(m, arguments); | |
if (v === m) { | |
if (clipAuto = _ == null) { | |
var k = π * scale(), t = translate(); | |
clipExtent([ [ t[0] - k, t[1] - k ], [ t[0] + k, t[1] + k ] ]); | |
} | |
} else if (clipAuto) { | |
v = null; | |
} | |
return v; | |
}; | |
return m.clipExtent(null); | |
} | |
(d3.geo.mercator = function() { | |
return d3_geo_mercatorProjection(d3_geo_mercator); | |
}).raw = d3_geo_mercator; | |
var d3_geo_orthographic = d3_geo_azimuthal(function() { | |
return 1; | |
}, Math.asin); | |
(d3.geo.orthographic = function() { | |
return d3_geo_projection(d3_geo_orthographic); | |
}).raw = d3_geo_orthographic; | |
var d3_geo_stereographic = d3_geo_azimuthal(function(cosλcosφ) { | |
return 1 / (1 + cosλcosφ); | |
}, function(ρ) { | |
return 2 * Math.atan(ρ); | |
}); | |
(d3.geo.stereographic = function() { | |
return d3_geo_projection(d3_geo_stereographic); | |
}).raw = d3_geo_stereographic; | |
function d3_geo_transverseMercator(λ, φ) { | |
var B = Math.cos(φ) * Math.sin(λ); | |
return [ Math.log((1 + B) / (1 - B)) / 2, Math.atan2(Math.tan(φ), Math.cos(λ)) ]; | |
} | |
d3_geo_transverseMercator.invert = function(x, y) { | |
return [ Math.atan2(d3_sinh(x), Math.cos(y)), d3_asin(Math.sin(y) / d3_cosh(x)) ]; | |
}; | |
(d3.geo.transverseMercator = function() { | |
return d3_geo_mercatorProjection(d3_geo_transverseMercator); | |
}).raw = d3_geo_transverseMercator; | |
d3.geom = {}; | |
d3.svg = {}; | |
function d3_svg_line(projection) { | |
var x = d3_svg_lineX, y = d3_svg_lineY, defined = d3_true, interpolate = d3_svg_lineLinear, interpolateKey = interpolate.key, tension = .7; | |
function line(data) { | |
var segments = [], points = [], i = -1, n = data.length, d, fx = d3_functor(x), fy = d3_functor(y); | |
function segment() { | |
segments.push("M", interpolate(projection(points), tension)); | |
} | |
while (++i < n) { | |
if (defined.call(this, d = data[i], i)) { | |
points.push([ +fx.call(this, d, i), +fy.call(this, d, i) ]); | |
} else if (points.length) { | |
segment(); | |
points = []; | |
} | |
} | |
if (points.length) segment(); | |
return segments.length ? segments.join("") : null; | |
} | |
line.x = function(_) { | |
if (!arguments.length) return x; | |
x = _; | |
return line; | |
}; | |
line.y = function(_) { | |
if (!arguments.length) return y; | |
y = _; | |
return line; | |
}; | |
line.defined = function(_) { | |
if (!arguments.length) return defined; | |
defined = _; | |
return line; | |
}; | |
line.interpolate = function(_) { | |
if (!arguments.length) return interpolateKey; | |
if (typeof _ === "function") interpolateKey = interpolate = _; else interpolateKey = (interpolate = d3_svg_lineInterpolators.get(_) || d3_svg_lineLinear).key; | |
return line; | |
}; | |
line.tension = function(_) { | |
if (!arguments.length) return tension; | |
tension = _; | |
return line; | |
}; | |
return line; | |
} | |
d3.svg.line = function() { | |
return d3_svg_line(d3_identity); | |
}; | |
function d3_svg_lineX(d) { | |
return d[0]; | |
} | |
function d3_svg_lineY(d) { | |
return d[1]; | |
} | |
var d3_svg_lineInterpolators = d3.map({ | |
linear: d3_svg_lineLinear, | |
"linear-closed": d3_svg_lineLinearClosed, | |
"step-before": d3_svg_lineStepBefore, | |
"step-after": d3_svg_lineStepAfter, | |
basis: d3_svg_lineBasis, | |
"basis-open": d3_svg_lineBasisOpen, | |
"basis-closed": d3_svg_lineBasisClosed, | |
bundle: d3_svg_lineBundle, | |
cardinal: d3_svg_lineCardinal, | |
"cardinal-open": d3_svg_lineCardinalOpen, | |
"cardinal-closed": d3_svg_lineCardinalClosed, | |
monotone: d3_svg_lineMonotone | |
}); | |
d3_svg_lineInterpolators.forEach(function(key, value) { | |
value.key = key; | |
value.closed = /-closed$/.test(key); | |
}); | |
function d3_svg_lineLinear(points) { | |
return points.join("L"); | |
} | |
function d3_svg_lineLinearClosed(points) { | |
return d3_svg_lineLinear(points) + "Z"; | |
} | |
function d3_svg_lineStepBefore(points) { | |
var i = 0, n = points.length, p = points[0], path = [ p[0], ",", p[1] ]; | |
while (++i < n) path.push("V", (p = points[i])[1], "H", p[0]); | |
return path.join(""); | |
} | |
function d3_svg_lineStepAfter(points) { | |
var i = 0, n = points.length, p = points[0], path = [ p[0], ",", p[1] ]; | |
while (++i < n) path.push("H", (p = points[i])[0], "V", p[1]); | |
return path.join(""); | |
} | |
function d3_svg_lineCardinalOpen(points, tension) { | |
return points.length < 4 ? d3_svg_lineLinear(points) : points[1] + d3_svg_lineHermite(points.slice(1, points.length - 1), d3_svg_lineCardinalTangents(points, tension)); | |
} | |
function d3_svg_lineCardinalClosed(points, tension) { | |
return points.length < 3 ? d3_svg_lineLinear(points) : points[0] + d3_svg_lineHermite((points.push(points[0]), | |
points), d3_svg_lineCardinalTangents([ points[points.length - 2] ].concat(points, [ points[1] ]), tension)); | |
} | |
function d3_svg_lineCardinal(points, tension) { | |
return points.length < 3 ? d3_svg_lineLinear(points) : points[0] + d3_svg_lineHermite(points, d3_svg_lineCardinalTangents(points, tension)); | |
} | |
function d3_svg_lineHermite(points, tangents) { | |
if (tangents.length < 1 || points.length != tangents.length && points.length != tangents.length + 2) { | |
return d3_svg_lineLinear(points); | |
} | |
var quad = points.length != tangents.length, path = "", p0 = points[0], p = points[1], t0 = tangents[0], t = t0, pi = 1; | |
if (quad) { | |
path += "Q" + (p[0] - t0[0] * 2 / 3) + "," + (p[1] - t0[1] * 2 / 3) + "," + p[0] + "," + p[1]; | |
p0 = points[1]; | |
pi = 2; | |
} | |
if (tangents.length > 1) { | |
t = tangents[1]; | |
p = points[pi]; | |
pi++; | |
path += "C" + (p0[0] + t0[0]) + "," + (p0[1] + t0[1]) + "," + (p[0] - t[0]) + "," + (p[1] - t[1]) + "," + p[0] + "," + p[1]; | |
for (var i = 2; i < tangents.length; i++, pi++) { | |
p = points[pi]; | |
t = tangents[i]; | |
path += "S" + (p[0] - t[0]) + "," + (p[1] - t[1]) + "," + p[0] + "," + p[1]; | |
} | |
} | |
if (quad) { | |
var lp = points[pi]; | |
path += "Q" + (p[0] + t[0] * 2 / 3) + "," + (p[1] + t[1] * 2 / 3) + "," + lp[0] + "," + lp[1]; | |
} | |
return path; | |
} | |
function d3_svg_lineCardinalTangents(points, tension) { | |
var tangents = [], a = (1 - tension) / 2, p0, p1 = points[0], p2 = points[1], i = 1, n = points.length; | |
while (++i < n) { | |
p0 = p1; | |
p1 = p2; | |
p2 = points[i]; | |
tangents.push([ a * (p2[0] - p0[0]), a * (p2[1] - p0[1]) ]); | |
} | |
return tangents; | |
} | |
function d3_svg_lineBasis(points) { | |
if (points.length < 3) return d3_svg_lineLinear(points); | |
var i = 1, n = points.length, pi = points[0], x0 = pi[0], y0 = pi[1], px = [ x0, x0, x0, (pi = points[1])[0] ], py = [ y0, y0, y0, pi[1] ], path = [ x0, ",", y0 ]; | |
d3_svg_lineBasisBezier(path, px, py); | |
while (++i < n) { | |
pi = points[i]; | |
px.shift(); | |
px.push(pi[0]); | |
py.shift(); | |
py.push(pi[1]); | |
d3_svg_lineBasisBezier(path, px, py); | |
} | |
i = -1; | |
while (++i < 2) { | |
px.shift(); | |
px.push(pi[0]); | |
py.shift(); | |
py.push(pi[1]); | |
d3_svg_lineBasisBezier(path, px, py); | |
} | |
return path.join(""); | |
} | |
function d3_svg_lineBasisOpen(points) { | |
if (points.length < 4) return d3_svg_lineLinear(points); | |
var path = [], i = -1, n = points.length, pi, px = [ 0 ], py = [ 0 ]; | |
while (++i < 3) { | |
pi = points[i]; | |
px.push(pi[0]); | |
py.push(pi[1]); | |
} | |
path.push(d3_svg_lineDot4(d3_svg_lineBasisBezier3, px) + "," + d3_svg_lineDot4(d3_svg_lineBasisBezier3, py)); | |
--i; | |
while (++i < n) { | |
pi = points[i]; | |
px.shift(); | |
px.push(pi[0]); | |
py.shift(); | |
py.push(pi[1]); | |
d3_svg_lineBasisBezier(path, px, py); | |
} | |
return path.join(""); | |
} | |
function d3_svg_lineBasisClosed(points) { | |
var path, i = -1, n = points.length, m = n + 4, pi, px = [], py = []; | |
while (++i < 4) { | |
pi = points[i % n]; | |
px.push(pi[0]); | |
py.push(pi[1]); | |
} | |
path = [ d3_svg_lineDot4(d3_svg_lineBasisBezier3, px), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier3, py) ]; | |
--i; | |
while (++i < m) { | |
pi = points[i % n]; | |
px.shift(); | |
px.push(pi[0]); | |
py.shift(); | |
py.push(pi[1]); | |
d3_svg_lineBasisBezier(path, px, py); | |
} | |
return path.join(""); | |
} | |
function d3_svg_lineBundle(points, tension) { | |
var n = points.length - 1; | |
if (n) { | |
var x0 = points[0][0], y0 = points[0][1], dx = points[n][0] - x0, dy = points[n][1] - y0, i = -1, p, t; | |
while (++i <= n) { | |
p = points[i]; | |
t = i / n; | |
p[0] = tension * p[0] + (1 - tension) * (x0 + t * dx); | |
p[1] = tension * p[1] + (1 - tension) * (y0 + t * dy); | |
} | |
} | |
return d3_svg_lineBasis(points); | |
} | |
function d3_svg_lineDot4(a, b) { | |
return a[0] * b[0] + a[1] * b[1] + a[2] * b[2] + a[3] * b[3]; | |
} | |
var d3_svg_lineBasisBezier1 = [ 0, 2 / 3, 1 / 3, 0 ], d3_svg_lineBasisBezier2 = [ 0, 1 / 3, 2 / 3, 0 ], d3_svg_lineBasisBezier3 = [ 0, 1 / 6, 2 / 3, 1 / 6 ]; | |
function d3_svg_lineBasisBezier(path, x, y) { | |
path.push("C", d3_svg_lineDot4(d3_svg_lineBasisBezier1, x), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier1, y), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier2, x), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier2, y), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier3, x), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier3, y)); | |
} | |
function d3_svg_lineSlope(p0, p1) { | |
return (p1[1] - p0[1]) / (p1[0] - p0[0]); | |
} | |
function d3_svg_lineFiniteDifferences(points) { | |
var i = 0, j = points.length - 1, m = [], p0 = points[0], p1 = points[1], d = m[0] = d3_svg_lineSlope(p0, p1); | |
while (++i < j) { | |
m[i] = (d + (d = d3_svg_lineSlope(p0 = p1, p1 = points[i + 1]))) / 2; | |
} | |
m[i] = d; | |
return m; | |
} | |
function d3_svg_lineMonotoneTangents(points) { | |
var tangents = [], d, a, b, s, m = d3_svg_lineFiniteDifferences(points), i = -1, j = points.length - 1; | |
while (++i < j) { | |
d = d3_svg_lineSlope(points[i], points[i + 1]); | |
if (Math.abs(d) < 1e-6) { | |
m[i] = m[i + 1] = 0; | |
} else { | |
a = m[i] / d; | |
b = m[i + 1] / d; | |
s = a * a + b * b; | |
if (s > 9) { | |
s = d * 3 / Math.sqrt(s); | |
m[i] = s * a; | |
m[i + 1] = s * b; | |
} | |
} | |
} | |
i = -1; | |
while (++i <= j) { | |
s = (points[Math.min(j, i + 1)][0] - points[Math.max(0, i - 1)][0]) / (6 * (1 + m[i] * m[i])); | |
tangents.push([ s || 0, m[i] * s || 0 ]); | |
} | |
return tangents; | |
} | |
function d3_svg_lineMonotone(points) { | |
return points.length < 3 ? d3_svg_lineLinear(points) : points[0] + d3_svg_lineHermite(points, d3_svg_lineMonotoneTangents(points)); | |
} | |
d3.geom.hull = function(vertices) { | |
var x = d3_svg_lineX, y = d3_svg_lineY; | |
if (arguments.length) return hull(vertices); | |
function hull(data) { | |
if (data.length < 3) return []; | |
var fx = d3_functor(x), fy = d3_functor(y), n = data.length, vertices, plen = n - 1, points = [], stack = [], d, i, j, h = 0, x1, y1, x2, y2, u, v, a, sp; | |
if (fx === d3_svg_lineX && y === d3_svg_lineY) vertices = data; else for (i = 0, | |
vertices = []; i < n; ++i) { | |
vertices.push([ +fx.call(this, d = data[i], i), +fy.call(this, d, i) ]); | |
} | |
for (i = 1; i < n; ++i) { | |
if (vertices[i][1] < vertices[h][1] || vertices[i][1] == vertices[h][1] && vertices[i][0] < vertices[h][0]) h = i; | |
} | |
for (i = 0; i < n; ++i) { | |
if (i === h) continue; | |
y1 = vertices[i][1] - vertices[h][1]; | |
x1 = vertices[i][0] - vertices[h][0]; | |
points.push({ | |
angle: Math.atan2(y1, x1), | |
index: i | |
}); | |
} | |
points.sort(function(a, b) { | |
return a.angle - b.angle; | |
}); | |
a = points[0].angle; | |
v = points[0].index; | |
u = 0; | |
for (i = 1; i < plen; ++i) { | |
j = points[i].index; | |
if (a == points[i].angle) { | |
x1 = vertices[v][0] - vertices[h][0]; | |
y1 = vertices[v][1] - vertices[h][1]; | |
x2 = vertices[j][0] - vertices[h][0]; | |
y2 = vertices[j][1] - vertices[h][1]; | |
if (x1 * x1 + y1 * y1 >= x2 * x2 + y2 * y2) { | |
points[i].index = -1; | |
continue; | |
} else { | |
points[u].index = -1; | |
} | |
} | |
a = points[i].angle; | |
u = i; | |
v = j; | |
} | |
stack.push(h); | |
for (i = 0, j = 0; i < 2; ++j) { | |
if (points[j].index > -1) { | |
stack.push(points[j].index); | |
i++; | |
} | |
} | |
sp = stack.length; | |
for (;j < plen; ++j) { | |
if (points[j].index < 0) continue; | |
while (!d3_geom_hullCCW(stack[sp - 2], stack[sp - 1], points[j].index, vertices)) { | |
--sp; | |
} | |
stack[sp++] = points[j].index; | |
} | |
var poly = []; | |
for (i = sp - 1; i >= 0; --i) poly.push(data[stack[i]]); | |
return poly; | |
} | |
hull.x = function(_) { | |
return arguments.length ? (x = _, hull) : x; | |
}; | |
hull.y = function(_) { | |
return arguments.length ? (y = _, hull) : y; | |
}; | |
return hull; | |
}; | |
function d3_geom_hullCCW(i1, i2, i3, v) { | |
var t, a, b, c, d, e, f; | |
t = v[i1]; | |
a = t[0]; | |
b = t[1]; | |
t = v[i2]; | |
c = t[0]; | |
d = t[1]; | |
t = v[i3]; | |
e = t[0]; | |
f = t[1]; | |
return (f - b) * (c - a) - (d - b) * (e - a) > 0; | |
} | |
d3.geom.polygon = function(coordinates) { | |
coordinates.area = function() { | |
var i = 0, n = coordinates.length, area = coordinates[n - 1][1] * coordinates[0][0] - coordinates[n - 1][0] * coordinates[0][1]; | |
while (++i < n) { | |
area += coordinates[i - 1][1] * coordinates[i][0] - coordinates[i - 1][0] * coordinates[i][1]; | |
} | |
return area * .5; | |
}; | |
coordinates.centroid = function(k) { | |
var i = -1, n = coordinates.length, x = 0, y = 0, a, b = coordinates[n - 1], c; | |
if (!arguments.length) k = -1 / (6 * coordinates.area()); | |
while (++i < n) { | |
a = b; | |
b = coordinates[i]; | |
c = a[0] * b[1] - b[0] * a[1]; | |
x += (a[0] + b[0]) * c; | |
y += (a[1] + b[1]) * c; | |
} | |
return [ x * k, y * k ]; | |
}; | |
coordinates.clip = function(subject) { | |
var input, i = -1, n = coordinates.length, j, m, a = coordinates[n - 1], b, c, d; | |
while (++i < n) { | |
input = subject.slice(); | |
subject.length = 0; | |
b = coordinates[i]; | |
c = input[(m = input.length) - 1]; | |
j = -1; | |
while (++j < m) { | |
d = input[j]; | |
if (d3_geom_polygonInside(d, a, b)) { | |
if (!d3_geom_polygonInside(c, a, b)) { | |
subject.push(d3_geom_polygonIntersect(c, d, a, b)); | |
} | |
subject.push(d); | |
} else if (d3_geom_polygonInside(c, a, b)) { | |
subject.push(d3_geom_polygonIntersect(c, d, a, b)); | |
} | |
c = d; | |
} | |
a = b; | |
} | |
return subject; | |
}; | |
return coordinates; | |
}; | |
function d3_geom_polygonInside(p, a, b) { | |
return (b[0] - a[0]) * (p[1] - a[1]) < (b[1] - a[1]) * (p[0] - a[0]); | |
} | |
function d3_geom_polygonIntersect(c, d, a, b) { | |
var x1 = c[0], x3 = a[0], x21 = d[0] - x1, x43 = b[0] - x3, y1 = c[1], y3 = a[1], y21 = d[1] - y1, y43 = b[1] - y3, ua = (x43 * (y1 - y3) - y43 * (x1 - x3)) / (y43 * x21 - x43 * y21); | |
return [ x1 + ua * x21, y1 + ua * y21 ]; | |
} | |
d3.geom.delaunay = function(vertices) { | |
var edges = vertices.map(function() { | |
return []; | |
}), triangles = []; | |
d3_geom_voronoiTessellate(vertices, function(e) { | |
edges[e.region.l.index].push(vertices[e.region.r.index]); | |
}); | |
edges.forEach(function(edge, i) { | |
var v = vertices[i], cx = v[0], cy = v[1]; | |
edge.forEach(function(v) { | |
v.angle = Math.atan2(v[0] - cx, v[1] - cy); | |
}); | |
edge.sort(function(a, b) { | |
return a.angle - b.angle; | |
}); | |
for (var j = 0, m = edge.length - 1; j < m; j++) { | |
triangles.push([ v, edge[j], edge[j + 1] ]); | |
} | |
}); | |
return triangles; | |
}; | |
d3.geom.voronoi = function(points) { | |
var size = null, x = d3_svg_lineX, y = d3_svg_lineY, clip; | |
if (arguments.length) return voronoi(points); | |
function voronoi(data) { | |
var points, polygons = data.map(function() { | |
return []; | |
}), fx = d3_functor(x), fy = d3_functor(y), d, i, n = data.length, Z = 1e6; | |
if (fx === d3_svg_lineX && fy === d3_svg_lineY) points = data; else for (points = [], | |
i = 0; i < n; ++i) { | |
points.push([ +fx.call(this, d = data[i], i), +fy.call(this, d, i) ]); | |
} | |
d3_geom_voronoiTessellate(points, function(e) { | |
var s1, s2, x1, x2, y1, y2; | |
if (e.a === 1 && e.b >= 0) { | |
s1 = e.ep.r; | |
s2 = e.ep.l; | |
} else { | |
s1 = e.ep.l; | |
s2 = e.ep.r; | |
} | |
if (e.a === 1) { | |
y1 = s1 ? s1.y : -Z; | |
x1 = e.c - e.b * y1; | |
y2 = s2 ? s2.y : Z; | |
x2 = e.c - e.b * y2; | |
} else { | |
x1 = s1 ? s1.x : -Z; | |
y1 = e.c - e.a * x1; | |
x2 = s2 ? s2.x : Z; | |
y2 = e.c - e.a * x2; | |
} | |
var v1 = [ x1, y1 ], v2 = [ x2, y2 ]; | |
polygons[e.region.l.index].push(v1, v2); | |
polygons[e.region.r.index].push(v1, v2); | |
}); | |
polygons = polygons.map(function(polygon, i) { | |
var cx = points[i][0], cy = points[i][1], angle = polygon.map(function(v) { | |
return Math.atan2(v[0] - cx, v[1] - cy); | |
}), order = d3.range(polygon.length).sort(function(a, b) { | |
return angle[a] - angle[b]; | |
}); | |
return order.filter(function(d, i) { | |
return !i || angle[d] - angle[order[i - 1]] > ε; | |
}).map(function(d) { | |
return polygon[d]; | |
}); | |
}); | |
polygons.forEach(function(polygon, i) { | |
var n = polygon.length; | |
if (!n) return polygon.push([ -Z, -Z ], [ -Z, Z ], [ Z, Z ], [ Z, -Z ]); | |
if (n > 2) return; | |
var p0 = points[i], p1 = polygon[0], p2 = polygon[1], x0 = p0[0], y0 = p0[1], x1 = p1[0], y1 = p1[1], x2 = p2[0], y2 = p2[1], dx = Math.abs(x2 - x1), dy = y2 - y1; | |
if (Math.abs(dy) < ε) { | |
var y = y0 < y1 ? -Z : Z; | |
polygon.push([ -Z, y ], [ Z, y ]); | |
} else if (dx < ε) { | |
var x = x0 < x1 ? -Z : Z; | |
polygon.push([ x, -Z ], [ x, Z ]); | |
} else { | |
var y = (x2 - x1) * (y1 - y0) < (x1 - x0) * (y2 - y1) ? Z : -Z, z = Math.abs(dy) - dx; | |
if (Math.abs(z) < ε) { | |
polygon.push([ dy < 0 ? y : -y, y ]); | |
} else { | |
if (z > 0) y *= -1; | |
polygon.push([ -Z, y ], [ Z, y ]); | |
} | |
} | |
}); | |
if (clip) for (i = 0; i < n; ++i) clip(polygons[i]); | |
for (i = 0; i < n; ++i) polygons[i].point = data[i]; | |
return polygons; | |
} | |
voronoi.x = function(_) { | |
return arguments.length ? (x = _, voronoi) : x; | |
}; | |
voronoi.y = function(_) { | |
return arguments.length ? (y = _, voronoi) : y; | |
}; | |
voronoi.size = function(_) { | |
if (!arguments.length) return size; | |
if (_ == null) { | |
clip = null; | |
} else { | |
size = [ +_[0], +_[1] ]; | |
clip = d3.geom.polygon([ [ 0, 0 ], [ 0, size[1] ], size, [ size[0], 0 ] ]).clip; | |
} | |
return voronoi; | |
}; | |
voronoi.links = function(data) { | |
var points, graph = data.map(function() { | |
return []; | |
}), links = [], fx = d3_functor(x), fy = d3_functor(y), d, i, n = data.length; | |
if (fx === d3_svg_lineX && fy === d3_svg_lineY) points = data; else for (i = 0; i < n; ++i) { | |
points.push([ +fx.call(this, d = data[i], i), +fy.call(this, d, i) ]); | |
} | |
d3_geom_voronoiTessellate(points, function(e) { | |
var l = e.region.l.index, r = e.region.r.index; | |
if (graph[l][r]) return; | |
graph[l][r] = graph[r][l] = true; | |
links.push({ | |
source: data[l], | |
target: data[r] | |
}); | |
}); | |
return links; | |
}; | |
voronoi.triangles = function(data) { | |
if (x === d3_svg_lineX && y === d3_svg_lineY) return d3.geom.delaunay(data); | |
var points, point, fx = d3_functor(x), fy = d3_functor(y), d, i, n; | |
for (i = 0, points = [], n = data.length; i < n; ++i) { | |
point = [ +fx.call(this, d = data[i], i), +fy.call(this, d, i) ]; | |
point.data = d; | |
points.push(point); | |
} | |
return d3.geom.delaunay(points).map(function(triangle) { | |
return triangle.map(function(point) { | |
return point.data; | |
}); | |
}); | |
}; | |
return voronoi; | |
}; | |
var d3_geom_voronoiOpposite = { | |
l: "r", | |
r: "l" | |
}; | |
function d3_geom_voronoiTessellate(points, callback) { | |
var Sites = { | |
list: points.map(function(v, i) { | |
return { | |
index: i, | |
x: v[0], | |
y: v[1] | |
}; | |
}).sort(function(a, b) { | |
return a.y < b.y ? -1 : a.y > b.y ? 1 : a.x < b.x ? -1 : a.x > b.x ? 1 : 0; | |
}), | |
bottomSite: null | |
}; | |
var EdgeList = { | |
list: [], | |
leftEnd: null, | |
rightEnd: null, | |
init: function() { | |
EdgeList.leftEnd = EdgeList.createHalfEdge(null, "l"); | |
EdgeList.rightEnd = EdgeList.createHalfEdge(null, "l"); | |
EdgeList.leftEnd.r = EdgeList.rightEnd; | |
EdgeList.rightEnd.l = EdgeList.leftEnd; | |
EdgeList.list.unshift(EdgeList.leftEnd, EdgeList.rightEnd); | |
}, | |
createHalfEdge: function(edge, side) { | |
return { | |
edge: edge, | |
side: side, | |
vertex: null, | |
l: null, | |
r: null | |
}; | |
}, | |
insert: function(lb, he) { | |
he.l = lb; | |
he.r = lb.r; | |
lb.r.l = he; | |
lb.r = he; | |
}, | |
leftBound: function(p) { | |
var he = EdgeList.leftEnd; | |
do { | |
he = he.r; | |
} while (he != EdgeList.rightEnd && Geom.rightOf(he, p)); | |
he = he.l; | |
return he; | |
}, | |
del: function(he) { | |
he.l.r = he.r; | |
he.r.l = he.l; | |
he.edge = null; | |
}, | |
right: function(he) { | |
return he.r; | |
}, | |
left: function(he) { | |
return he.l; | |
}, | |
leftRegion: function(he) { | |
return he.edge == null ? Sites.bottomSite : he.edge.region[he.side]; | |
}, | |
rightRegion: function(he) { | |
return he.edge == null ? Sites.bottomSite : he.edge.region[d3_geom_voronoiOpposite[he.side]]; | |
} | |
}; | |
var Geom = { | |
bisect: function(s1, s2) { | |
var newEdge = { | |
region: { | |
l: s1, | |
r: s2 | |
}, | |
ep: { | |
l: null, | |
r: null | |
} | |
}; | |
var dx = s2.x - s1.x, dy = s2.y - s1.y, adx = dx > 0 ? dx : -dx, ady = dy > 0 ? dy : -dy; | |
newEdge.c = s1.x * dx + s1.y * dy + (dx * dx + dy * dy) * .5; | |
if (adx > ady) { | |
newEdge.a = 1; | |
newEdge.b = dy / dx; | |
newEdge.c /= dx; | |
} else { | |
newEdge.b = 1; | |
newEdge.a = dx / dy; | |
newEdge.c /= dy; | |
} | |
return newEdge; | |
}, | |
intersect: function(el1, el2) { | |
var e1 = el1.edge, e2 = el2.edge; | |
if (!e1 || !e2 || e1.region.r == e2.region.r) { | |
return null; | |
} | |
var d = e1.a * e2.b - e1.b * e2.a; | |
if (Math.abs(d) < 1e-10) { | |
return null; | |
} | |
var xint = (e1.c * e2.b - e2.c * e1.b) / d, yint = (e2.c * e1.a - e1.c * e2.a) / d, e1r = e1.region.r, e2r = e2.region.r, el, e; | |
if (e1r.y < e2r.y || e1r.y == e2r.y && e1r.x < e2r.x) { | |
el = el1; | |
e = e1; | |
} else { | |
el = el2; | |
e = e2; | |
} | |
var rightOfSite = xint >= e.region.r.x; | |
if (rightOfSite && el.side === "l" || !rightOfSite && el.side === "r") { | |
return null; | |
} | |
return { | |
x: xint, | |
y: yint | |
}; | |
}, | |
rightOf: function(he, p) { | |
var e = he.edge, topsite = e.region.r, rightOfSite = p.x > topsite.x; | |
if (rightOfSite && he.side === "l") { | |
return 1; | |
} | |
if (!rightOfSite && he.side === "r") { | |
return 0; | |
} | |
if (e.a === 1) { | |
var dyp = p.y - topsite.y, dxp = p.x - topsite.x, fast = 0, above = 0; | |
if (!rightOfSite && e.b < 0 || rightOfSite && e.b >= 0) { | |
above = fast = dyp >= e.b * dxp; | |
} else { | |
above = p.x + p.y * e.b > e.c; | |
if (e.b < 0) { | |
above = !above; | |
} | |
if (!above) { | |
fast = 1; | |
} | |
} | |
if (!fast) { | |
var dxs = topsite.x - e.region.l.x; | |
above = e.b * (dxp * dxp - dyp * dyp) < dxs * dyp * (1 + 2 * dxp / dxs + e.b * e.b); | |
if (e.b < 0) { | |
above = !above; | |
} | |
} | |
} else { | |
var yl = e.c - e.a * p.x, t1 = p.y - yl, t2 = p.x - topsite.x, t3 = yl - topsite.y; | |
above = t1 * t1 > t2 * t2 + t3 * t3; | |
} | |
return he.side === "l" ? above : !above; | |
}, | |
endPoint: function(edge, side, site) { | |
edge.ep[side] = site; | |
if (!edge.ep[d3_geom_voronoiOpposite[side]]) return; | |
callback(edge); | |
}, | |
distance: function(s, t) { | |
var dx = s.x - t.x, dy = s.y - t.y; | |
return Math.sqrt(dx * dx + dy * dy); | |
} | |
}; | |
var EventQueue = { | |
list: [], | |
insert: function(he, site, offset) { | |
he.vertex = site; | |
he.ystar = site.y + offset; | |
for (var i = 0, list = EventQueue.list, l = list.length; i < l; i++) { | |
var next = list[i]; | |
if (he.ystar > next.ystar || he.ystar == next.ystar && site.x > next.vertex.x) { | |
continue; | |
} else { | |
break; | |
} | |
} | |
list.splice(i, 0, he); | |
}, | |
del: function(he) { | |
for (var i = 0, ls = EventQueue.list, l = ls.length; i < l && ls[i] != he; ++i) {} | |
ls.splice(i, 1); | |
}, | |
empty: function() { | |
return EventQueue.list.length === 0; | |
}, | |
nextEvent: function(he) { | |
for (var i = 0, ls = EventQueue.list, l = ls.length; i < l; ++i) { | |
if (ls[i] == he) return ls[i + 1]; | |
} | |
return null; | |
}, | |
min: function() { | |
var elem = EventQueue.list[0]; | |
return { | |
x: elem.vertex.x, | |
y: elem.ystar | |
}; | |
}, | |
extractMin: function() { | |
return EventQueue.list.shift(); | |
} | |
}; | |
EdgeList.init(); | |
Sites.bottomSite = Sites.list.shift(); | |
var newSite = Sites.list.shift(), newIntStar; | |
var lbnd, rbnd, llbnd, rrbnd, bisector; | |
var bot, top, temp, p, v; | |
var e, pm; | |
while (true) { | |
if (!EventQueue.empty()) { | |
newIntStar = EventQueue.min(); | |
} | |
if (newSite && (EventQueue.empty() || newSite.y < newIntStar.y || newSite.y == newIntStar.y && newSite.x < newIntStar.x)) { | |
lbnd = EdgeList.leftBound(newSite); | |
rbnd = EdgeList.right(lbnd); | |
bot = EdgeList.rightRegion(lbnd); | |
e = Geom.bisect(bot, newSite); | |
bisector = EdgeList.createHalfEdge(e, "l"); | |
EdgeList.insert(lbnd, bisector); | |
p = Geom.intersect(lbnd, bisector); | |
if (p) { | |
EventQueue.del(lbnd); | |
EventQueue.insert(lbnd, p, Geom.distance(p, newSite)); | |
} | |
lbnd = bisector; | |
bisector = EdgeList.createHalfEdge(e, "r"); | |
EdgeList.insert(lbnd, bisector); | |
p = Geom.intersect(bisector, rbnd); | |
if (p) { | |
EventQueue.insert(bisector, p, Geom.distance(p, newSite)); | |
} | |
newSite = Sites.list.shift(); | |
} else if (!EventQueue.empty()) { | |
lbnd = EventQueue.extractMin(); | |
llbnd = EdgeList.left(lbnd); | |
rbnd = EdgeList.right(lbnd); | |
rrbnd = EdgeList.right(rbnd); | |
bot = EdgeList.leftRegion(lbnd); | |
top = EdgeList.rightRegion(rbnd); | |
v = lbnd.vertex; | |
Geom.endPoint(lbnd.edge, lbnd.side, v); | |
Geom.endPoint(rbnd.edge, rbnd.side, v); | |
EdgeList.del(lbnd); | |
EventQueue.del(rbnd); | |
EdgeList.del(rbnd); | |
pm = "l"; | |
if (bot.y > top.y) { | |
temp = bot; | |
bot = top; | |
top = temp; | |
pm = "r"; | |
} | |
e = Geom.bisect(bot, top); | |
bisector = EdgeList.createHalfEdge(e, pm); | |
EdgeList.insert(llbnd, bisector); | |
Geom.endPoint(e, d3_geom_voronoiOpposite[pm], v); | |
p = Geom.intersect(llbnd, bisector); | |
if (p) { | |
EventQueue.del(llbnd); | |
EventQueue.insert(llbnd, p, Geom.distance(p, bot)); | |
} | |
p = Geom.intersect(bisector, rrbnd); | |
if (p) { | |
EventQueue.insert(bisector, p, Geom.distance(p, bot)); | |
} | |
} else { | |
break; | |
} | |
} | |
for (lbnd = EdgeList.right(EdgeList.leftEnd); lbnd != EdgeList.rightEnd; lbnd = EdgeList.right(lbnd)) { | |
callback(lbnd.edge); | |
} | |
} | |
d3.geom.quadtree = function(points, x1, y1, x2, y2) { | |
var x = d3_svg_lineX, y = d3_svg_lineY, compat; | |
if (compat = arguments.length) { | |
x = d3_geom_quadtreeCompatX; | |
y = d3_geom_quadtreeCompatY; | |
if (compat === 3) { | |
y2 = y1; | |
x2 = x1; | |
y1 = x1 = 0; | |
} | |
return quadtree(points); | |
} | |
function quadtree(data) { | |
var d, fx = d3_functor(x), fy = d3_functor(y), xs, ys, i, n, x1_, y1_, x2_, y2_; | |
if (x1 != null) { | |
x1_ = x1, y1_ = y1, x2_ = x2, y2_ = y2; | |
} else { | |
x2_ = y2_ = -(x1_ = y1_ = Infinity); | |
xs = [], ys = []; | |
n = data.length; | |
if (compat) for (i = 0; i < n; ++i) { | |
d = data[i]; | |
if (d.x < x1_) x1_ = d.x; | |
if (d.y < y1_) y1_ = d.y; | |
if (d.x > x2_) x2_ = d.x; | |
if (d.y > y2_) y2_ = d.y; | |
xs.push(d.x); | |
ys.push(d.y); | |
} else for (i = 0; i < n; ++i) { | |
var x_ = +fx(d = data[i], i), y_ = +fy(d, i); | |
if (x_ < x1_) x1_ = x_; | |
if (y_ < y1_) y1_ = y_; | |
if (x_ > x2_) x2_ = x_; | |
if (y_ > y2_) y2_ = y_; | |
xs.push(x_); | |
ys.push(y_); | |
} | |
} | |
var dx = x2_ - x1_, dy = y2_ - y1_; | |
if (dx > dy) y2_ = y1_ + dx; else x2_ = x1_ + dy; | |
function insert(n, d, x, y, x1, y1, x2, y2) { | |
if (isNaN(x) || isNaN(y)) return; | |
if (n.leaf) { | |
var nx = n.x, ny = n.y; | |
if (nx != null) { | |
if (Math.abs(nx - x) + Math.abs(ny - y) < .01) { | |
insertChild(n, d, x, y, x1, y1, x2, y2); | |
} else { | |
var nPoint = n.point; | |
n.x = n.y = n.point = null; | |
insertChild(n, nPoint, nx, ny, x1, y1, x2, y2); | |
insertChild(n, d, x, y, x1, y1, x2, y2); | |
} | |
} else { | |
n.x = x, n.y = y, n.point = d; | |
} | |
} else { | |
insertChild(n, d, x, y, x1, y1, x2, y2); | |
} | |
} | |
function insertChild(n, d, x, y, x1, y1, x2, y2) { | |
var sx = (x1 + x2) * .5, sy = (y1 + y2) * .5, right = x >= sx, bottom = y >= sy, i = (bottom << 1) + right; | |
n.leaf = false; | |
n = n.nodes[i] || (n.nodes[i] = d3_geom_quadtreeNode()); | |
if (right) x1 = sx; else x2 = sx; | |
if (bottom) y1 = sy; else y2 = sy; | |
insert(n, d, x, y, x1, y1, x2, y2); | |
} | |
var root = d3_geom_quadtreeNode(); | |
root.add = function(d) { | |
insert(root, d, +fx(d, ++i), +fy(d, i), x1_, y1_, x2_, y2_); | |
}; | |
root.visit = function(f) { | |
d3_geom_quadtreeVisit(f, root, x1_, y1_, x2_, y2_); | |
}; | |
i = -1; | |
if (x1 == null) { | |
while (++i < n) { | |
insert(root, data[i], xs[i], ys[i], x1_, y1_, x2_, y2_); | |
} | |
--i; | |
} else data.forEach(root.add); | |
xs = ys = data = d = null; | |
return root; | |
} | |
quadtree.x = function(_) { | |
return arguments.length ? (x = _, quadtree) : x; | |
}; | |
quadtree.y = function(_) { | |
return arguments.length ? (y = _, quadtree) : y; | |
}; | |
quadtree.size = function(_) { | |
if (!arguments.length) return x1 == null ? null : [ x2, y2 ]; | |
if (_ == null) { | |
x1 = y1 = x2 = y2 = null; | |
} else { | |
x1 = y1 = 0; | |
x2 = +_[0], y2 = +_[1]; | |
} | |
return quadtree; | |
}; | |
return quadtree; | |
}; | |
function d3_geom_quadtreeCompatX(d) { | |
return d.x; | |
} | |
function d3_geom_quadtreeCompatY(d) { | |
return d.y; | |
} | |
function d3_geom_quadtreeNode() { | |
return { | |
leaf: true, | |
nodes: [], | |
point: null, | |
x: null, | |
y: null | |
}; | |
} | |
function d3_geom_quadtreeVisit(f, node, x1, y1, x2, y2) { | |
if (!f(node, x1, y1, x2, y2)) { | |
var sx = (x1 + x2) * .5, sy = (y1 + y2) * .5, children = node.nodes; | |
if (children[0]) d3_geom_quadtreeVisit(f, children[0], x1, y1, sx, sy); | |
if (children[1]) d3_geom_quadtreeVisit(f, children[1], sx, y1, x2, sy); | |
if (children[2]) d3_geom_quadtreeVisit(f, children[2], x1, sy, sx, y2); | |
if (children[3]) d3_geom_quadtreeVisit(f, children[3], sx, sy, x2, y2); | |
} | |
} | |
d3.interpolateRgb = d3_interpolateRgb; | |
function d3_interpolateRgb(a, b) { | |
a = d3.rgb(a); | |
b = d3.rgb(b); | |
var ar = a.r, ag = a.g, ab = a.b, br = b.r - ar, bg = b.g - ag, bb = b.b - ab; | |
return function(t) { | |
return "#" + d3_rgb_hex(Math.round(ar + br * t)) + d3_rgb_hex(Math.round(ag + bg * t)) + d3_rgb_hex(Math.round(ab + bb * t)); | |
}; | |
} | |
d3.transform = function(string) { | |
var g = d3_document.createElementNS(d3.ns.prefix.svg, "g"); | |
return (d3.transform = function(string) { | |
if (string != null) { | |
g.setAttribute("transform", string); | |
var t = g.transform.baseVal.consolidate(); | |
} | |
return new d3_transform(t ? t.matrix : d3_transformIdentity); | |
})(string); | |
}; | |
function d3_transform(m) { | |
var r0 = [ m.a, m.b ], r1 = [ m.c, m.d ], kx = d3_transformNormalize(r0), kz = d3_transformDot(r0, r1), ky = d3_transformNormalize(d3_transformCombine(r1, r0, -kz)) || 0; | |
if (r0[0] * r1[1] < r1[0] * r0[1]) { | |
r0[0] *= -1; | |
r0[1] *= -1; | |
kx *= -1; | |
kz *= -1; | |
} | |
this.rotate = (kx ? Math.atan2(r0[1], r0[0]) : Math.atan2(-r1[0], r1[1])) * d3_degrees; | |
this.translate = [ m.e, m.f ]; | |
this.scale = [ kx, ky ]; | |
this.skew = ky ? Math.atan2(kz, ky) * d3_degrees : 0; | |
} | |
d3_transform.prototype.toString = function() { | |
return "translate(" + this.translate + ")rotate(" + this.rotate + ")skewX(" + this.skew + ")scale(" + this.scale + ")"; | |
}; | |
function d3_transformDot(a, b) { | |
return a[0] * b[0] + a[1] * b[1]; | |
} | |
function d3_transformNormalize(a) { | |
var k = Math.sqrt(d3_transformDot(a, a)); | |
if (k) { | |
a[0] /= k; | |
a[1] /= k; | |
} | |
return k; | |
} | |
function d3_transformCombine(a, b, k) { | |
a[0] += k * b[0]; | |
a[1] += k * b[1]; | |
return a; | |
} | |
var d3_transformIdentity = { | |
a: 1, | |
b: 0, | |
c: 0, | |
d: 1, | |
e: 0, | |
f: 0 | |
}; | |
d3.interpolateNumber = d3_interpolateNumber; | |
function d3_interpolateNumber(a, b) { | |
b -= a = +a; | |
return function(t) { | |
return a + b * t; | |
}; | |
} | |
d3.interpolateTransform = d3_interpolateTransform; | |
function d3_interpolateTransform(a, b) { | |
var s = [], q = [], n, A = d3.transform(a), B = d3.transform(b), ta = A.translate, tb = B.translate, ra = A.rotate, rb = B.rotate, wa = A.skew, wb = B.skew, ka = A.scale, kb = B.scale; | |
if (ta[0] != tb[0] || ta[1] != tb[1]) { | |
s.push("translate(", null, ",", null, ")"); | |
q.push({ | |
i: 1, | |
x: d3_interpolateNumber(ta[0], tb[0]) | |
}, { | |
i: 3, | |
x: d3_interpolateNumber(ta[1], tb[1]) | |
}); | |
} else if (tb[0] || tb[1]) { | |
s.push("translate(" + tb + ")"); | |
} else { | |
s.push(""); | |
} | |
if (ra != rb) { | |
if (ra - rb > 180) rb += 360; else if (rb - ra > 180) ra += 360; | |
q.push({ | |
i: s.push(s.pop() + "rotate(", null, ")") - 2, | |
x: d3_interpolateNumber(ra, rb) | |
}); | |
} else if (rb) { | |
s.push(s.pop() + "rotate(" + rb + ")"); | |
} | |
if (wa != wb) { | |
q.push({ | |
i: s.push(s.pop() + "skewX(", null, ")") - 2, | |
x: d3_interpolateNumber(wa, wb) | |
}); | |
} else if (wb) { | |
s.push(s.pop() + "skewX(" + wb + ")"); | |
} | |
if (ka[0] != kb[0] || ka[1] != kb[1]) { | |
n = s.push(s.pop() + "scale(", null, ",", null, ")"); | |
q.push({ | |
i: n - 4, | |
x: d3_interpolateNumber(ka[0], kb[0]) | |
}, { | |
i: n - 2, | |
x: d3_interpolateNumber(ka[1], kb[1]) | |
}); | |
} else if (kb[0] != 1 || kb[1] != 1) { | |
s.push(s.pop() + "scale(" + kb + ")"); | |
} | |
n = q.length; | |
return function(t) { | |
var i = -1, o; | |
while (++i < n) s[(o = q[i]).i] = o.x(t); | |
return s.join(""); | |
}; | |
} | |
d3.interpolateObject = d3_interpolateObject; | |
function d3_interpolateObject(a, b) { | |
var i = {}, c = {}, k; | |
for (k in a) { | |
if (k in b) { | |
i[k] = d3_interpolateByName(k)(a[k], b[k]); | |
} else { | |
c[k] = a[k]; | |
} | |
} | |
for (k in b) { | |
if (!(k in a)) { | |
c[k] = b[k]; | |
} | |
} | |
return function(t) { | |
for (k in i) c[k] = i[k](t); | |
return c; | |
}; | |
} | |
d3.interpolateString = d3_interpolateString; | |
function d3_interpolateString(a, b) { | |
var m, i, j, s0 = 0, s1 = 0, s = [], q = [], n, o; | |
a = a + "", b = b + ""; | |
d3_interpolate_number.lastIndex = 0; | |
for (i = 0; m = d3_interpolate_number.exec(b); ++i) { | |
if (m.index) s.push(b.substring(s0, s1 = m.index)); | |
q.push({ | |
i: s.length, | |
x: m[0] | |
}); | |
s.push(null); | |
s0 = d3_interpolate_number.lastIndex; | |
} | |
if (s0 < b.length) s.push(b.substring(s0)); | |
for (i = 0, n = q.length; (m = d3_interpolate_number.exec(a)) && i < n; ++i) { | |
o = q[i]; | |
if (o.x == m[0]) { | |
if (o.i) { | |
if (s[o.i + 1] == null) { | |
s[o.i - 1] += o.x; | |
s.splice(o.i, 1); | |
for (j = i + 1; j < n; ++j) q[j].i--; | |
} else { | |
s[o.i - 1] += o.x + s[o.i + 1]; | |
s.splice(o.i, 2); | |
for (j = i + 1; j < n; ++j) q[j].i -= 2; | |
} | |
} else { | |
if (s[o.i + 1] == null) { | |
s[o.i] = o.x; | |
} else { | |
s[o.i] = o.x + s[o.i + 1]; | |
s.splice(o.i + 1, 1); | |
for (j = i + 1; j < n; ++j) q[j].i--; | |
} | |
} | |
q.splice(i, 1); | |
n--; | |
i--; | |
} else { | |
o.x = d3_interpolateNumber(parseFloat(m[0]), parseFloat(o.x)); | |
} | |
} | |
while (i < n) { | |
o = q.pop(); | |
if (s[o.i + 1] == null) { | |
s[o.i] = o.x; | |
} else { | |
s[o.i] = o.x + s[o.i + 1]; | |
s.splice(o.i + 1, 1); | |
} | |
n--; | |
} | |
if (s.length === 1) { | |
return s[0] == null ? (o = q[0].x, function(t) { | |
return o(t) + ""; | |
}) : function() { | |
return b; | |
}; | |
} | |
return function(t) { | |
for (i = 0; i < n; ++i) s[(o = q[i]).i] = o.x(t); | |
return s.join(""); | |
}; | |
} | |
var d3_interpolate_number = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g; | |
d3.interpolate = d3_interpolate; | |
function d3_interpolate(a, b) { | |
var i = d3.interpolators.length, f; | |
while (--i >= 0 && !(f = d3.interpolators[i](a, b))) ; | |
return f; | |
} | |
function d3_interpolateByName(name) { | |
return name == "transform" ? d3_interpolateTransform : d3_interpolate; | |
} | |
d3.interpolators = [ function(a, b) { | |
var t = typeof b; | |
return (t === "string" ? d3_rgb_names.has(b) || /^(#|rgb\(|hsl\()/.test(b) ? d3_interpolateRgb : d3_interpolateString : b instanceof d3_Color ? d3_interpolateRgb : t === "object" ? Array.isArray(b) ? d3_interpolateArray : d3_interpolateObject : d3_interpolateNumber)(a, b); | |
} ]; | |
d3.interpolateArray = d3_interpolateArray; | |
function d3_interpolateArray(a, b) { | |
var x = [], c = [], na = a.length, nb = b.length, n0 = Math.min(a.length, b.length), i; | |
for (i = 0; i < n0; ++i) x.push(d3_interpolate(a[i], b[i])); | |
for (;i < na; ++i) c[i] = a[i]; | |
for (;i < nb; ++i) c[i] = b[i]; | |
return function(t) { | |
for (i = 0; i < n0; ++i) c[i] = x[i](t); | |
return c; | |
}; | |
} | |
var d3_ease_default = function() { | |
return d3_identity; | |
}; | |
var d3_ease = d3.map({ | |
linear: d3_ease_default, | |
poly: d3_ease_poly, | |
quad: function() { | |
return d3_ease_quad; | |
}, | |
cubic: function() { | |
return d3_ease_cubic; | |
}, | |
sin: function() { | |
return d3_ease_sin; | |
}, | |
exp: function() { | |
return d3_ease_exp; | |
}, | |
circle: function() { | |
return d3_ease_circle; | |
}, | |
elastic: d3_ease_elastic, | |
back: d3_ease_back, | |
bounce: function() { | |
return d3_ease_bounce; | |
} | |
}); | |
var d3_ease_mode = d3.map({ | |
"in": d3_identity, | |
out: d3_ease_reverse, | |
"in-out": d3_ease_reflect, | |
"out-in": function(f) { | |
return d3_ease_reflect(d3_ease_reverse(f)); | |
} | |
}); | |
d3.ease = function(name) { | |
var i = name.indexOf("-"), t = i >= 0 ? name.substring(0, i) : name, m = i >= 0 ? name.substring(i + 1) : "in"; | |
t = d3_ease.get(t) || d3_ease_default; | |
m = d3_ease_mode.get(m) || d3_identity; | |
return d3_ease_clamp(m(t.apply(null, Array.prototype.slice.call(arguments, 1)))); | |
}; | |
function d3_ease_clamp(f) { | |
return function(t) { | |
return t <= 0 ? 0 : t >= 1 ? 1 : f(t); | |
}; | |
} | |
function d3_ease_reverse(f) { | |
return function(t) { | |
return 1 - f(1 - t); | |
}; | |
} | |
function d3_ease_reflect(f) { | |
return function(t) { | |
return .5 * (t < .5 ? f(2 * t) : 2 - f(2 - 2 * t)); | |
}; | |
} | |
function d3_ease_quad(t) { | |
return t * t; | |
} | |
function d3_ease_cubic(t) { | |
return t * t * t; | |
} | |
function d3_ease_cubicInOut(t) { | |
if (t <= 0) return 0; | |
if (t >= 1) return 1; | |
var t2 = t * t, t3 = t2 * t; | |
return 4 * (t < .5 ? t3 : 3 * (t - t2) + t3 - .75); | |
} | |
function d3_ease_poly(e) { | |
return function(t) { | |
return Math.pow(t, e); | |
}; | |
} | |
function d3_ease_sin(t) { | |
return 1 - Math.cos(t * π / 2); | |
} | |
function d3_ease_exp(t) { | |
return Math.pow(2, 10 * (t - 1)); | |
} | |
function d3_ease_circle(t) { | |
return 1 - Math.sqrt(1 - t * t); | |
} | |
function d3_ease_elastic(a, p) { | |
var s; | |
if (arguments.length < 2) p = .45; | |
if (arguments.length) s = p / (2 * π) * Math.asin(1 / a); else a = 1, s = p / 4; | |
return function(t) { | |
return 1 + a * Math.pow(2, 10 * -t) * Math.sin((t - s) * 2 * π / p); | |
}; | |
} | |
function d3_ease_back(s) { | |
if (!s) s = 1.70158; | |
return function(t) { | |
return t * t * ((s + 1) * t - s); | |
}; | |
} | |
function d3_ease_bounce(t) { | |
return t < 1 / 2.75 ? 7.5625 * t * t : t < 2 / 2.75 ? 7.5625 * (t -= 1.5 / 2.75) * t + .75 : t < 2.5 / 2.75 ? 7.5625 * (t -= 2.25 / 2.75) * t + .9375 : 7.5625 * (t -= 2.625 / 2.75) * t + .984375; | |
} | |
d3.interpolateHcl = d3_interpolateHcl; | |
function d3_interpolateHcl(a, b) { | |
a = d3.hcl(a); | |
b = d3.hcl(b); | |
var ah = a.h, ac = a.c, al = a.l, bh = b.h - ah, bc = b.c - ac, bl = b.l - al; | |
if (isNaN(bc)) bc = 0, ac = isNaN(ac) ? b.c : ac; | |
if (isNaN(bh)) bh = 0, ah = isNaN(ah) ? b.h : ah; else if (bh > 180) bh -= 360; else if (bh < -180) bh += 360; | |
return function(t) { | |
return d3_hcl_lab(ah + bh * t, ac + bc * t, al + bl * t) + ""; | |
}; | |
} | |
d3.interpolateHsl = d3_interpolateHsl; | |
function d3_interpolateHsl(a, b) { | |
a = d3.hsl(a); | |
b = d3.hsl(b); | |
var ah = a.h, as = a.s, al = a.l, bh = b.h - ah, bs = b.s - as, bl = b.l - al; | |
if (isNaN(bs)) bs = 0, as = isNaN(as) ? b.s : as; | |
if (isNaN(bh)) bh = 0, ah = isNaN(ah) ? b.h : ah; else if (bh > 180) bh -= 360; else if (bh < -180) bh += 360; | |
return function(t) { | |
return d3_hsl_rgb(ah + bh * t, as + bs * t, al + bl * t) + ""; | |
}; | |
} | |
d3.interpolateLab = d3_interpolateLab; | |
function d3_interpolateLab(a, b) { | |
a = d3.lab(a); | |
b = d3.lab(b); | |
var al = a.l, aa = a.a, ab = a.b, bl = b.l - al, ba = b.a - aa, bb = b.b - ab; | |
return function(t) { | |
return d3_lab_rgb(al + bl * t, aa + ba * t, ab + bb * t) + ""; | |
}; | |
} | |
d3.interpolateRound = d3_interpolateRound; | |
function d3_interpolateRound(a, b) { | |
b -= a; | |
return function(t) { | |
return Math.round(a + b * t); | |
}; | |
} | |
function d3_uninterpolateNumber(a, b) { | |
b = b - (a = +a) ? 1 / (b - a) : 0; | |
return function(x) { | |
return (x - a) * b; | |
}; | |
} | |
function d3_uninterpolateClamp(a, b) { | |
b = b - (a = +a) ? 1 / (b - a) : 0; | |
return function(x) { | |
return Math.max(0, Math.min(1, (x - a) * b)); | |
}; | |
} | |
d3.layout = {}; | |
d3.layout.bundle = function() { | |
return function(links) { | |
var paths = [], i = -1, n = links.length; | |
while (++i < n) paths.push(d3_layout_bundlePath(links[i])); | |
return paths; | |
}; | |
}; | |
function d3_layout_bundlePath(link) { | |
var start = link.source, end = link.target, lca = d3_layout_bundleLeastCommonAncestor(start, end), points = [ start ]; | |
while (start !== lca) { | |
start = start.parent; | |
points.push(start); | |
} | |
var k = points.length; | |
while (end !== lca) { | |
points.splice(k, 0, end); | |
end = end.parent; | |
} | |
return points; | |
} | |
function d3_layout_bundleAncestors(node) { | |
var ancestors = [], parent = node.parent; | |
while (parent != null) { | |
ancestors.push(node); | |
node = parent; | |
parent = parent.parent; | |
} | |
ancestors.push(node); | |
return ancestors; | |
} | |
function d3_layout_bundleLeastCommonAncestor(a, b) { | |
if (a === b) return a; | |
var aNodes = d3_layout_bundleAncestors(a), bNodes = d3_layout_bundleAncestors(b), aNode = aNodes.pop(), bNode = bNodes.pop(), sharedNode = null; | |
while (aNode === bNode) { | |
sharedNode = aNode; | |
aNode = aNodes.pop(); | |
bNode = bNodes.pop(); | |
} | |
return sharedNode; | |
} | |
d3.layout.chord = function() { | |
var chord = {}, chords, groups, matrix, n, padding = 0, sortGroups, sortSubgroups, sortChords; | |
function relayout() { | |
var subgroups = {}, groupSums = [], groupIndex = d3.range(n), subgroupIndex = [], k, x, x0, i, j; | |
chords = []; | |
groups = []; | |
k = 0, i = -1; | |
while (++i < n) { | |
x = 0, j = -1; | |
while (++j < n) { | |
x += matrix[i][j]; | |
} | |
groupSums.push(x); | |
subgroupIndex.push(d3.range(n)); | |
k += x; | |
} | |
if (sortGroups) { | |
groupIndex.sort(function(a, b) { | |
return sortGroups(groupSums[a], groupSums[b]); | |
}); | |
} | |
if (sortSubgroups) { | |
subgroupIndex.forEach(function(d, i) { | |
d.sort(function(a, b) { | |
return sortSubgroups(matrix[i][a], matrix[i][b]); | |
}); | |
}); | |
} | |
k = (2 * π - padding * n) / k; | |
x = 0, i = -1; | |
while (++i < n) { | |
x0 = x, j = -1; | |
while (++j < n) { | |
var di = groupIndex[i], dj = subgroupIndex[di][j], v = matrix[di][dj], a0 = x, a1 = x += v * k; | |
subgroups[di + "-" + dj] = { | |
index: di, | |
subindex: dj, | |
startAngle: a0, | |
endAngle: a1, | |
value: v | |
}; | |
} | |
groups[di] = { | |
index: di, | |
startAngle: x0, | |
endAngle: x, | |
value: (x - x0) / k | |
}; | |
x += padding; | |
} | |
i = -1; | |
while (++i < n) { | |
j = i - 1; | |
while (++j < n) { | |
var source = subgroups[i + "-" + j], target = subgroups[j + "-" + i]; | |
if (source.value || target.value) { | |
chords.push(source.value < target.value ? { | |
source: target, | |
target: source | |
} : { | |
source: source, | |
target: target | |
}); | |
} | |
} | |
} | |
if (sortChords) resort(); | |
} | |
function resort() { | |
chords.sort(function(a, b) { | |
return sortChords((a.source.value + a.target.value) / 2, (b.source.value + b.target.value) / 2); | |
}); | |
} | |
chord.matrix = function(x) { | |
if (!arguments.length) return matrix; | |
n = (matrix = x) && matrix.length; | |
chords = groups = null; | |
return chord; | |
}; | |
chord.padding = function(x) { | |
if (!arguments.length) return padding; | |
padding = x; | |
chords = groups = null; | |
return chord; | |
}; | |
chord.sortGroups = function(x) { | |
if (!arguments.length) return sortGroups; | |
sortGroups = x; | |
chords = groups = null; | |
return chord; | |
}; | |
chord.sortSubgroups = function(x) { | |
if (!arguments.length) return sortSubgroups; | |
sortSubgroups = x; | |
chords = null; | |
return chord; | |
}; | |
chord.sortChords = function(x) { | |
if (!arguments.length) return sortChords; | |
sortChords = x; | |
if (chords) resort(); | |
return chord; | |
}; | |
chord.chords = function() { | |
if (!chords) relayout(); | |
return chords; | |
}; | |
chord.groups = function() { | |
if (!groups) relayout(); | |
return groups; | |
}; | |
return chord; | |
}; | |
d3.layout.force = function() { | |
var force = {}, event = d3.dispatch("start", "tick", "end"), size = [ 1, 1 ], drag, alpha, friction = .9, linkDistance = d3_layout_forceLinkDistance, linkStrength = d3_layout_forceLinkStrength, charge = -30, gravity = .1, theta = .8, nodes = [], links = [], distances, strengths, charges; | |
function repulse(node) { | |
return function(quad, x1, _, x2) { | |
if (quad.point !== node) { | |
var dx = quad.cx - node.x, dy = quad.cy - node.y, dn = 1 / Math.sqrt(dx * dx + dy * dy); | |
if ((x2 - x1) * dn < theta) { | |
var k = quad.charge * dn * dn; | |
node.px -= dx * k; | |
node.py -= dy * k; | |
return true; | |
} | |
if (quad.point && isFinite(dn)) { | |
var k = quad.pointCharge * dn * dn; | |
node.px -= dx * k; | |
node.py -= dy * k; | |
} | |
} | |
return !quad.charge; | |
}; | |
} | |
force.tick = function() { | |
if ((alpha *= .99) < .005) { | |
event.end({ | |
type: "end", | |
alpha: alpha = 0 | |
}); | |
return true; | |
} | |
var n = nodes.length, m = links.length, q, i, o, s, t, l, k, x, y; | |
for (i = 0; i < m; ++i) { | |
o = links[i]; | |
s = o.source; | |
t = o.target; | |
x = t.x - s.x; | |
y = t.y - s.y; | |
if (l = x * x + y * y) { | |
l = alpha * strengths[i] * ((l = Math.sqrt(l)) - distances[i]) / l; | |
x *= l; | |
y *= l; | |
t.x -= x * (k = s.weight / (t.weight + s.weight)); | |
t.y -= y * k; | |
s.x += x * (k = 1 - k); | |
s.y += y * k; | |
} | |
} | |
if (k = alpha * gravity) { | |
x = size[0] / 2; | |
y = size[1] / 2; | |
i = -1; | |
if (k) while (++i < n) { | |
o = nodes[i]; | |
o.x += (x - o.x) * k; | |
o.y += (y - o.y) * k; | |
} | |
} | |
if (charge) { | |
d3_layout_forceAccumulate(q = d3.geom.quadtree(nodes), alpha, charges); | |
i = -1; | |
while (++i < n) { | |
if (!(o = nodes[i]).fixed) { | |
q.visit(repulse(o)); | |
} | |
} | |
} | |
i = -1; | |
while (++i < n) { | |
o = nodes[i]; | |
if (o.fixed) { | |
o.x = o.px; | |
o.y = o.py; | |
} else { | |
o.x -= (o.px - (o.px = o.x)) * friction; | |
o.y -= (o.py - (o.py = o.y)) * friction; | |
} | |
} | |
event.tick({ | |
type: "tick", | |
alpha: alpha | |
}); | |
}; | |
force.nodes = function(x) { | |
if (!arguments.length) return nodes; | |
nodes = x; | |
return force; | |
}; | |
force.links = function(x) { | |
if (!arguments.length) return links; | |
links = x; | |
return force; | |
}; | |
force.size = function(x) { | |
if (!arguments.length) return size; | |
size = x; | |
return force; | |
}; | |
force.linkDistance = function(x) { | |
if (!arguments.length) return linkDistance; | |
linkDistance = typeof x === "function" ? x : +x; | |
return force; | |
}; | |
force.distance = force.linkDistance; | |
force.linkStrength = function(x) { | |
if (!arguments.length) return linkStrength; | |
linkStrength = typeof x === "function" ? x : +x; | |
return force; | |
}; | |
force.friction = function(x) { | |
if (!arguments.length) return friction; | |
friction = +x; | |
return force; | |
}; | |
force.charge = function(x) { | |
if (!arguments.length) return charge; | |
charge = typeof x === "function" ? x : +x; | |
return force; | |
}; | |
force.gravity = function(x) { | |
if (!arguments.length) return gravity; | |
gravity = +x; | |
return force; | |
}; | |
force.theta = function(x) { | |
if (!arguments.length) return theta; | |
theta = +x; | |
return force; | |
}; | |
force.alpha = function(x) { | |
if (!arguments.length) return alpha; | |
x = +x; | |
if (alpha) { | |
if (x > 0) alpha = x; else alpha = 0; | |
} else if (x > 0) { | |
event.start({ | |
type: "start", | |
alpha: alpha = x | |
}); | |
d3.timer(force.tick); | |
} | |
return force; | |
}; | |
force.start = function() { | |
var i, j, n = nodes.length, m = links.length, w = size[0], h = size[1], neighbors, o; | |
for (i = 0; i < n; ++i) { | |
(o = nodes[i]).index = i; | |
o.weight = 0; | |
} | |
for (i = 0; i < m; ++i) { | |
o = links[i]; | |
if (typeof o.source == "number") o.source = nodes[o.source]; | |
if (typeof o.target == "number") o.target = nodes[o.target]; | |
++o.source.weight; | |
++o.target.weight; | |
} | |
for (i = 0; i < n; ++i) { | |
o = nodes[i]; | |
if (isNaN(o.x)) o.x = position("x", w); | |
if (isNaN(o.y)) o.y = position("y", h); | |
if (isNaN(o.px)) o.px = o.x; | |
if (isNaN(o.py)) o.py = o.y; | |
} | |
distances = []; | |
if (typeof linkDistance === "function") for (i = 0; i < m; ++i) distances[i] = +linkDistance.call(this, links[i], i); else for (i = 0; i < m; ++i) distances[i] = linkDistance; | |
strengths = []; | |
if (typeof linkStrength === "function") for (i = 0; i < m; ++i) strengths[i] = +linkStrength.call(this, links[i], i); else for (i = 0; i < m; ++i) strengths[i] = linkStrength; | |
charges = []; | |
if (typeof charge === "function") for (i = 0; i < n; ++i) charges[i] = +charge.call(this, nodes[i], i); else for (i = 0; i < n; ++i) charges[i] = charge; | |
function position(dimension, size) { | |
var neighbors = neighbor(i), j = -1, m = neighbors.length, x; | |
while (++j < m) if (!isNaN(x = neighbors[j][dimension])) return x; | |
return Math.random() * size; | |
} | |
function neighbor() { | |
if (!neighbors) { | |
neighbors = []; | |
for (j = 0; j < n; ++j) { | |
neighbors[j] = []; | |
} | |
for (j = 0; j < m; ++j) { | |
var o = links[j]; | |
neighbors[o.source.index].push(o.target); | |
neighbors[o.target.index].push(o.source); | |
} | |
} | |
return neighbors[i]; | |
} | |
return force.resume(); | |
}; | |
force.resume = function() { | |
return force.alpha(.1); | |
}; | |
force.stop = function() { | |
return force.alpha(0); | |
}; | |
force.drag = function() { | |
if (!drag) drag = d3.behavior.drag().origin(d3_identity).on("dragstart.force", d3_layout_forceDragstart).on("drag.force", dragmove).on("dragend.force", d3_layout_forceDragend); | |
if (!arguments.length) return drag; | |
this.on("mouseover.force", d3_layout_forceMouseover).on("mouseout.force", d3_layout_forceMouseout).call(drag); | |
}; | |
function dragmove(d) { | |
d.px = d3.event.x, d.py = d3.event.y; | |
force.resume(); | |
} | |
return d3.rebind(force, event, "on"); | |
}; | |
function d3_layout_forceDragstart(d) { | |
d.fixed |= 2; | |
} | |
function d3_layout_forceDragend(d) { | |
d.fixed &= ~6; | |
} | |
function d3_layout_forceMouseover(d) { | |
d.fixed |= 4; | |
d.px = d.x, d.py = d.y; | |
} | |
function d3_layout_forceMouseout(d) { | |
d.fixed &= ~4; | |
} | |
function d3_layout_forceAccumulate(quad, alpha, charges) { | |
var cx = 0, cy = 0; | |
quad.charge = 0; | |
if (!quad.leaf) { | |
var nodes = quad.nodes, n = nodes.length, i = -1, c; | |
while (++i < n) { | |
c = nodes[i]; | |
if (c == null) continue; | |
d3_layout_forceAccumulate(c, alpha, charges); | |
quad.charge += c.charge; | |
cx += c.charge * c.cx; | |
cy += c.charge * c.cy; | |
} | |
} | |
if (quad.point) { | |
if (!quad.leaf) { | |
quad.point.x += Math.random() - .5; | |
quad.point.y += Math.random() - .5; | |
} | |
var k = alpha * charges[quad.point.index]; | |
quad.charge += quad.pointCharge = k; | |
cx += k * quad.point.x; | |
cy += k * quad.point.y; | |
} | |
quad.cx = cx / quad.charge; | |
quad.cy = cy / quad.charge; | |
} | |
var d3_layout_forceLinkDistance = 20, d3_layout_forceLinkStrength = 1; | |
d3.layout.hierarchy = function() { | |
var sort = d3_layout_hierarchySort, children = d3_layout_hierarchyChildren, value = d3_layout_hierarchyValue; | |
function recurse(node, depth, nodes) { | |
var childs = children.call(hierarchy, node, depth); | |
node.depth = depth; | |
nodes.push(node); | |
if (childs && (n = childs.length)) { | |
var i = -1, n, c = node.children = [], v = 0, j = depth + 1, d; | |
while (++i < n) { | |
d = recurse(childs[i], j, nodes); | |
d.parent = node; | |
c.push(d); | |
v += d.value; | |
} | |
if (sort) c.sort(sort); | |
if (value) node.value = v; | |
} else if (value) { | |
node.value = +value.call(hierarchy, node, depth) || 0; | |
} | |
return node; | |
} | |
function revalue(node, depth) { | |
var children = node.children, v = 0; | |
if (children && (n = children.length)) { | |
var i = -1, n, j = depth + 1; | |
while (++i < n) v += revalue(children[i], j); | |
} else if (value) { | |
v = +value.call(hierarchy, node, depth) || 0; | |
} | |
if (value) node.value = v; | |
return v; | |
} | |
function hierarchy(d) { | |
var nodes = []; | |
recurse(d, 0, nodes); | |
return nodes; | |
} | |
hierarchy.sort = function(x) { | |
if (!arguments.length) return sort; | |
sort = x; | |
return hierarchy; | |
}; | |
hierarchy.children = function(x) { | |
if (!arguments.length) return children; | |
children = x; | |
return hierarchy; | |
}; | |
hierarchy.value = function(x) { | |
if (!arguments.length) return value; | |
value = x; | |
return hierarchy; | |
}; | |
hierarchy.revalue = function(root) { | |
revalue(root, 0); | |
return root; | |
}; | |
return hierarchy; | |
}; | |
function d3_layout_hierarchyRebind(object, hierarchy) { | |
d3.rebind(object, hierarchy, "sort", "children", "value"); | |
object.nodes = object; | |
object.links = d3_layout_hierarchyLinks; | |
return object; | |
} | |
function d3_layout_hierarchyChildren(d) { | |
return d.children; | |
} | |
function d3_layout_hierarchyValue(d) { | |
return d.value; | |
} | |
function d3_layout_hierarchySort(a, b) { | |
return b.value - a.value; | |
} | |
function d3_layout_hierarchyLinks(nodes) { | |
return d3.merge(nodes.map(function(parent) { | |
return (parent.children || []).map(function(child) { | |
return { | |
source: parent, | |
target: child | |
}; | |
}); | |
})); | |
} | |
d3.layout.partition = function() { | |
var hierarchy = d3.layout.hierarchy(), size = [ 1, 1 ]; | |
function position(node, x, dx, dy) { | |
var children = node.children; | |
node.x = x; | |
node.y = node.depth * dy; | |
node.dx = dx; | |
node.dy = dy; | |
if (children && (n = children.length)) { | |
var i = -1, n, c, d; | |
dx = node.value ? dx / node.value : 0; | |
while (++i < n) { | |
position(c = children[i], x, d = c.value * dx, dy); | |
x += d; | |
} | |
} | |
} | |
function depth(node) { | |
var children = node.children, d = 0; | |
if (children && (n = children.length)) { | |
var i = -1, n; | |
while (++i < n) d = Math.max(d, depth(children[i])); | |
} | |
return 1 + d; | |
} | |
function partition(d, i) { | |
var nodes = hierarchy.call(this, d, i); | |
position(nodes[0], 0, size[0], size[1] / depth(nodes[0])); | |
return nodes; | |
} | |
partition.size = function(x) { | |
if (!arguments.length) return size; | |
size = x; | |
return partition; | |
}; | |
return d3_layout_hierarchyRebind(partition, hierarchy); | |
}; | |
d3.layout.pie = function() { | |
var value = Number, sort = d3_layout_pieSortByValue, startAngle = 0, endAngle = 2 * π; | |
function pie(data) { | |
var values = data.map(function(d, i) { | |
return +value.call(pie, d, i); | |
}); | |
var a = +(typeof startAngle === "function" ? startAngle.apply(this, arguments) : startAngle); | |
var k = ((typeof endAngle === "function" ? endAngle.apply(this, arguments) : endAngle) - a) / d3.sum(values); | |
var index = d3.range(data.length); | |
if (sort != null) index.sort(sort === d3_layout_pieSortByValue ? function(i, j) { | |
return values[j] - values[i]; | |
} : function(i, j) { | |
return sort(data[i], data[j]); | |
}); | |
var arcs = []; | |
index.forEach(function(i) { | |
var d; | |
arcs[i] = { | |
data: data[i], | |
value: d = values[i], | |
startAngle: a, | |
endAngle: a += d * k | |
}; | |
}); | |
return arcs; | |
} | |
pie.value = function(x) { | |
if (!arguments.length) return value; | |
value = x; | |
return pie; | |
}; | |
pie.sort = function(x) { | |
if (!arguments.length) return sort; | |
sort = x; | |
return pie; | |
}; | |
pie.startAngle = function(x) { | |
if (!arguments.length) return startAngle; | |
startAngle = x; | |
return pie; | |
}; | |
pie.endAngle = function(x) { | |
if (!arguments.length) return endAngle; | |
endAngle = x; | |
return pie; | |
}; | |
return pie; | |
}; | |
var d3_layout_pieSortByValue = {}; | |
d3.layout.stack = function() { | |
var values = d3_identity, order = d3_layout_stackOrderDefault, offset = d3_layout_stackOffsetZero, out = d3_layout_stackOut, x = d3_layout_stackX, y = d3_layout_stackY; | |
function stack(data, index) { | |
var series = data.map(function(d, i) { | |
return values.call(stack, d, i); | |
}); | |
var points = series.map(function(d) { | |
return d.map(function(v, i) { | |
return [ x.call(stack, v, i), y.call(stack, v, i) ]; | |
}); | |
}); | |
var orders = order.call(stack, points, index); | |
series = d3.permute(series, orders); | |
points = d3.permute(points, orders); | |
var offsets = offset.call(stack, points, index); | |
var n = series.length, m = series[0].length, i, j, o; | |
for (j = 0; j < m; ++j) { | |
out.call(stack, series[0][j], o = offsets[j], points[0][j][1]); | |
for (i = 1; i < n; ++i) { | |
out.call(stack, series[i][j], o += points[i - 1][j][1], points[i][j][1]); | |
} | |
} | |
return data; | |
} | |
stack.values = function(x) { | |
if (!arguments.length) return values; | |
values = x; | |
return stack; | |
}; | |
stack.order = function(x) { | |
if (!arguments.length) return order; | |
order = typeof x === "function" ? x : d3_layout_stackOrders.get(x) || d3_layout_stackOrderDefault; | |
return stack; | |
}; | |
stack.offset = function(x) { | |
if (!arguments.length) return offset; | |
offset = typeof x === "function" ? x : d3_layout_stackOffsets.get(x) || d3_layout_stackOffsetZero; | |
return stack; | |
}; | |
stack.x = function(z) { | |
if (!arguments.length) return x; | |
x = z; | |
return stack; | |
}; | |
stack.y = function(z) { | |
if (!arguments.length) return y; | |
y = z; | |
return stack; | |
}; | |
stack.out = function(z) { | |
if (!arguments.length) return out; | |
out = z; | |
return stack; | |
}; | |
return stack; | |
}; | |
function d3_layout_stackX(d) { | |
return d.x; | |
} | |
function d3_layout_stackY(d) { | |
return d.y; | |
} | |
function d3_layout_stackOut(d, y0, y) { | |
d.y0 = y0; | |
d.y = y; | |
} | |
var d3_layout_stackOrders = d3.map({ | |
"inside-out": function(data) { | |
var n = data.length, i, j, max = data.map(d3_layout_stackMaxIndex), sums = data.map(d3_layout_stackReduceSum), index = d3.range(n).sort(function(a, b) { | |
return max[a] - max[b]; | |
}), top = 0, bottom = 0, tops = [], bottoms = []; | |
for (i = 0; i < n; ++i) { | |
j = index[i]; | |
if (top < bottom) { | |
top += sums[j]; | |
tops.push(j); | |
} else { | |
bottom += sums[j]; | |
bottoms.push(j); | |
} | |
} | |
return bottoms.reverse().concat(tops); | |
}, | |
reverse: function(data) { | |
return d3.range(data.length).reverse(); | |
}, | |
"default": d3_layout_stackOrderDefault | |
}); | |
var d3_layout_stackOffsets = d3.map({ | |
silhouette: function(data) { | |
var n = data.length, m = data[0].length, sums = [], max = 0, i, j, o, y0 = []; | |
for (j = 0; j < m; ++j) { | |
for (i = 0, o = 0; i < n; i++) o += data[i][j][1]; | |
if (o > max) max = o; | |
sums.push(o); | |
} | |
for (j = 0; j < m; ++j) { | |
y0[j] = (max - sums[j]) / 2; | |
} | |
return y0; | |
}, | |
wiggle: function(data) { | |
var n = data.length, x = data[0], m = x.length, i, j, k, s1, s2, s3, dx, o, o0, y0 = []; | |
y0[0] = o = o0 = 0; | |
for (j = 1; j < m; ++j) { | |
for (i = 0, s1 = 0; i < n; ++i) s1 += data[i][j][1]; | |
for (i = 0, s2 = 0, dx = x[j][0] - x[j - 1][0]; i < n; ++i) { | |
for (k = 0, s3 = (data[i][j][1] - data[i][j - 1][1]) / (2 * dx); k < i; ++k) { | |
s3 += (data[k][j][1] - data[k][j - 1][1]) / dx; | |
} | |
s2 += s3 * data[i][j][1]; | |
} | |
y0[j] = o -= s1 ? s2 / s1 * dx : 0; | |
if (o < o0) o0 = o; | |
} | |
for (j = 0; j < m; ++j) y0[j] -= o0; | |
return y0; | |
}, | |
expand: function(data) { | |
var n = data.length, m = data[0].length, k = 1 / n, i, j, o, y0 = []; | |
for (j = 0; j < m; ++j) { | |
for (i = 0, o = 0; i < n; i++) o += data[i][j][1]; | |
if (o) for (i = 0; i < n; i++) data[i][j][1] /= o; else for (i = 0; i < n; i++) data[i][j][1] = k; | |
} | |
for (j = 0; j < m; ++j) y0[j] = 0; | |
return y0; | |
}, | |
zero: d3_layout_stackOffsetZero | |
}); | |
function d3_layout_stackOrderDefault(data) { | |
return d3.range(data.length); | |
} | |
function d3_layout_stackOffsetZero(data) { | |
var j = -1, m = data[0].length, y0 = []; | |
while (++j < m) y0[j] = 0; | |
return y0; | |
} | |
function d3_layout_stackMaxIndex(array) { | |
var i = 1, j = 0, v = array[0][1], k, n = array.length; | |
for (;i < n; ++i) { | |
if ((k = array[i][1]) > v) { | |
j = i; | |
v = k; | |
} | |
} | |
return j; | |
} | |
function d3_layout_stackReduceSum(d) { | |
return d.reduce(d3_layout_stackSum, 0); | |
} | |
function d3_layout_stackSum(p, d) { | |
return p + d[1]; | |
} | |
d3.layout.histogram = function() { | |
var frequency = true, valuer = Number, ranger = d3_layout_histogramRange, binner = d3_layout_histogramBinSturges; | |
function histogram(data, i) { | |
var bins = [], values = data.map(valuer, this), range = ranger.call(this, values, i), thresholds = binner.call(this, range, values, i), bin, i = -1, n = values.length, m = thresholds.length - 1, k = frequency ? 1 : 1 / n, x; | |
while (++i < m) { | |
bin = bins[i] = []; | |
bin.dx = thresholds[i + 1] - (bin.x = thresholds[i]); | |
bin.y = 0; | |
} | |
if (m > 0) { | |
i = -1; | |
while (++i < n) { | |
x = values[i]; | |
if (x >= range[0] && x <= range[1]) { | |
bin = bins[d3.bisect(thresholds, x, 1, m) - 1]; | |
bin.y += k; | |
bin.push(data[i]); | |
} | |
} | |
} | |
return bins; | |
} | |
histogram.value = function(x) { | |
if (!arguments.length) return valuer; | |
valuer = x; | |
return histogram; | |
}; | |
histogram.range = function(x) { | |
if (!arguments.length) return ranger; | |
ranger = d3_functor(x); | |
return histogram; | |
}; | |
histogram.bins = function(x) { | |
if (!arguments.length) return binner; | |
binner = typeof x === "number" ? function(range) { | |
return d3_layout_histogramBinFixed(range, x); | |
} : d3_functor(x); | |
return histogram; | |
}; | |
histogram.frequency = function(x) { | |
if (!arguments.length) return frequency; | |
frequency = !!x; | |
return histogram; | |
}; | |
return histogram; | |
}; | |
function d3_layout_histogramBinSturges(range, values) { | |
return d3_layout_histogramBinFixed(range, Math.ceil(Math.log(values.length) / Math.LN2 + 1)); | |
} | |
function d3_layout_histogramBinFixed(range, n) { | |
var x = -1, b = +range[0], m = (range[1] - b) / n, f = []; | |
while (++x <= n) f[x] = m * x + b; | |
return f; | |
} | |
function d3_layout_histogramRange(values) { | |
return [ d3.min(values), d3.max(values) ]; | |
} | |
d3.layout.tree = function() { | |
var hierarchy = d3.layout.hierarchy().sort(null).value(null), separation = d3_layout_treeSeparation, size = [ 1, 1 ]; | |
function tree(d, i) { | |
var nodes = hierarchy.call(this, d, i), root = nodes[0]; | |
function firstWalk(node, previousSibling) { | |
var children = node.children, layout = node._tree; | |
if (children && (n = children.length)) { | |
var n, firstChild = children[0], previousChild, ancestor = firstChild, child, i = -1; | |
while (++i < n) { | |
child = children[i]; | |
firstWalk(child, previousChild); | |
ancestor = apportion(child, previousChild, ancestor); | |
previousChild = child; | |
} | |
d3_layout_treeShift(node); | |
var midpoint = .5 * (firstChild._tree.prelim + child._tree.prelim); | |
if (previousSibling) { | |
layout.prelim = previousSibling._tree.prelim + separation(node, previousSibling); | |
layout.mod = layout.prelim - midpoint; | |
} else { | |
layout.prelim = midpoint; | |
} | |
} else { | |
if (previousSibling) { | |
layout.prelim = previousSibling._tree.prelim + separation(node, previousSibling); | |
} | |
} | |
} | |
function secondWalk(node, x) { | |
node.x = node._tree.prelim + x; | |
var children = node.children; | |
if (children && (n = children.length)) { | |
var i = -1, n; | |
x += node._tree.mod; | |
while (++i < n) { | |
secondWalk(children[i], x); | |
} | |
} | |
} | |
function apportion(node, previousSibling, ancestor) { | |
if (previousSibling) { | |
var vip = node, vop = node, vim = previousSibling, vom = node.parent.children[0], sip = vip._tree.mod, sop = vop._tree.mod, sim = vim._tree.mod, som = vom._tree.mod, shift; | |
while (vim = d3_layout_treeRight(vim), vip = d3_layout_treeLeft(vip), vim && vip) { | |
vom = d3_layout_treeLeft(vom); | |
vop = d3_layout_treeRight(vop); | |
vop._tree.ancestor = node; | |
shift = vim._tree.prelim + sim - vip._tree.prelim - sip + separation(vim, vip); | |
if (shift > 0) { | |
d3_layout_treeMove(d3_layout_treeAncestor(vim, node, ancestor), node, shift); | |
sip += shift; | |
sop += shift; | |
} | |
sim += vim._tree.mod; | |
sip += vip._tree.mod; | |
som += vom._tree.mod; | |
sop += vop._tree.mod; | |
} | |
if (vim && !d3_layout_treeRight(vop)) { | |
vop._tree.thread = vim; | |
vop._tree.mod += sim - sop; | |
} | |
if (vip && !d3_layout_treeLeft(vom)) { | |
vom._tree.thread = vip; | |
vom._tree.mod += sip - som; | |
ancestor = node; | |
} | |
} | |
return ancestor; | |
} | |
d3_layout_treeVisitAfter(root, function(node, previousSibling) { | |
node._tree = { | |
ancestor: node, | |
prelim: 0, | |
mod: 0, | |
change: 0, | |
shift: 0, | |
number: previousSibling ? previousSibling._tree.number + 1 : 0 | |
}; | |
}); | |
firstWalk(root); | |
secondWalk(root, -root._tree.prelim); | |
var left = d3_layout_treeSearch(root, d3_layout_treeLeftmost), right = d3_layout_treeSearch(root, d3_layout_treeRightmost), deep = d3_layout_treeSearch(root, d3_layout_treeDeepest), x0 = left.x - separation(left, right) / 2, x1 = right.x + separation(right, left) / 2, y1 = deep.depth || 1; | |
d3_layout_treeVisitAfter(root, function(node) { | |
node.x = (node.x - x0) / (x1 - x0) * size[0]; | |
node.y = node.depth / y1 * size[1]; | |
delete node._tree; | |
}); | |
return nodes; | |
} | |
tree.separation = function(x) { | |
if (!arguments.length) return separation; | |
separation = x; | |
return tree; | |
}; | |
tree.size = function(x) { | |
if (!arguments.length) return size; | |
size = x; | |
return tree; | |
}; | |
return d3_layout_hierarchyRebind(tree, hierarchy); | |
}; | |
function d3_layout_treeSeparation(a, b) { | |
return a.parent == b.parent ? 1 : 2; | |
} | |
function d3_layout_treeLeft(node) { | |
var children = node.children; | |
return children && children.length ? children[0] : node._tree.thread; | |
} | |
function d3_layout_treeRight(node) { | |
var children = node.children, n; | |
return children && (n = children.length) ? children[n - 1] : node._tree.thread; | |
} | |
function d3_layout_treeSearch(node, compare) { | |
var children = node.children; | |
if (children && (n = children.length)) { | |
var child, n, i = -1; | |
while (++i < n) { | |
if (compare(child = d3_layout_treeSearch(children[i], compare), node) > 0) { | |
node = child; | |
} | |
} | |
} | |
return node; | |
} | |
function d3_layout_treeRightmost(a, b) { | |
return a.x - b.x; | |
} | |
function d3_layout_treeLeftmost(a, b) { | |
return b.x - a.x; | |
} | |
function d3_layout_treeDeepest(a, b) { | |
return a.depth - b.depth; | |
} | |
function d3_layout_treeVisitAfter(node, callback) { | |
function visit(node, previousSibling) { | |
var children = node.children; | |
if (children && (n = children.length)) { | |
var child, previousChild = null, i = -1, n; | |
while (++i < n) { | |
child = children[i]; | |
visit(child, previousChild); | |
previousChild = child; | |
} | |
} | |
callback(node, previousSibling); | |
} | |
visit(node, null); | |
} | |
function d3_layout_treeShift(node) { | |
var shift = 0, change = 0, children = node.children, i = children.length, child; | |
while (--i >= 0) { | |
child = children[i]._tree; | |
child.prelim += shift; | |
child.mod += shift; | |
shift += child.shift + (change += child.change); | |
} | |
} | |
function d3_layout_treeMove(ancestor, node, shift) { | |
ancestor = ancestor._tree; | |
node = node._tree; | |
var change = shift / (node.number - ancestor.number); | |
ancestor.change += change; | |
node.change -= change; | |
node.shift += shift; | |
node.prelim += shift; | |
node.mod += shift; | |
} | |
function d3_layout_treeAncestor(vim, node, ancestor) { | |
return vim._tree.ancestor.parent == node.parent ? vim._tree.ancestor : ancestor; | |
} | |
d3.layout.pack = function() { | |
var hierarchy = d3.layout.hierarchy().sort(d3_layout_packSort), padding = 0, size = [ 1, 1 ]; | |
function pack(d, i) { | |
var nodes = hierarchy.call(this, d, i), root = nodes[0]; | |
root.x = 0; | |
root.y = 0; | |
d3_layout_treeVisitAfter(root, function(d) { | |
d.r = Math.sqrt(d.value); | |
}); | |
d3_layout_treeVisitAfter(root, d3_layout_packSiblings); | |
var w = size[0], h = size[1], k = Math.max(2 * root.r / w, 2 * root.r / h); | |
if (padding > 0) { | |
var dr = padding * k / 2; | |
d3_layout_treeVisitAfter(root, function(d) { | |
d.r += dr; | |
}); | |
d3_layout_treeVisitAfter(root, d3_layout_packSiblings); | |
d3_layout_treeVisitAfter(root, function(d) { | |
d.r -= dr; | |
}); | |
k = Math.max(2 * root.r / w, 2 * root.r / h); | |
} | |
d3_layout_packTransform(root, w / 2, h / 2, 1 / k); | |
return nodes; | |
} | |
pack.size = function(x) { | |
if (!arguments.length) return size; | |
size = x; | |
return pack; | |
}; | |
pack.padding = function(_) { | |
if (!arguments.length) return padding; | |
padding = +_; | |
return pack; | |
}; | |
return d3_layout_hierarchyRebind(pack, hierarchy); | |
}; | |
function d3_layout_packSort(a, b) { | |
return a.value - b.value; | |
} | |
function d3_layout_packInsert(a, b) { | |
var c = a._pack_next; | |
a._pack_next = b; | |
b._pack_prev = a; | |
b._pack_next = c; | |
c._pack_prev = b; | |
} | |
function d3_layout_packSplice(a, b) { | |
a._pack_next = b; | |
b._pack_prev = a; | |
} | |
function d3_layout_packIntersects(a, b) { | |
var dx = b.x - a.x, dy = b.y - a.y, dr = a.r + b.r; | |
return dr * dr - dx * dx - dy * dy > .001; | |
} | |
function d3_layout_packSiblings(node) { | |
if (!(nodes = node.children) || !(n = nodes.length)) return; | |
var nodes, xMin = Infinity, xMax = -Infinity, yMin = Infinity, yMax = -Infinity, a, b, c, i, j, k, n; | |
function bound(node) { | |
xMin = Math.min(node.x - node.r, xMin); | |
xMax = Math.max(node.x + node.r, xMax); | |
yMin = Math.min(node.y - node.r, yMin); | |
yMax = Math.max(node.y + node.r, yMax); | |
} | |
nodes.forEach(d3_layout_packLink); | |
a = nodes[0]; | |
a.x = -a.r; | |
a.y = 0; | |
bound(a); | |
if (n > 1) { | |
b = nodes[1]; | |
b.x = b.r; | |
b.y = 0; | |
bound(b); | |
if (n > 2) { | |
c = nodes[2]; | |
d3_layout_packPlace(a, b, c); | |
bound(c); | |
d3_layout_packInsert(a, c); | |
a._pack_prev = c; | |
d3_layout_packInsert(c, b); | |
b = a._pack_next; | |
for (i = 3; i < n; i++) { | |
d3_layout_packPlace(a, b, c = nodes[i]); | |
var isect = 0, s1 = 1, s2 = 1; | |
for (j = b._pack_next; j !== b; j = j._pack_next, s1++) { | |
if (d3_layout_packIntersects(j, c)) { | |
isect = 1; | |
break; | |
} | |
} | |
if (isect == 1) { | |
for (k = a._pack_prev; k !== j._pack_prev; k = k._pack_prev, s2++) { | |
if (d3_layout_packIntersects(k, c)) { | |
break; | |
} | |
} | |
} | |
if (isect) { | |
if (s1 < s2 || s1 == s2 && b.r < a.r) d3_layout_packSplice(a, b = j); else d3_layout_packSplice(a = k, b); | |
i--; | |
} else { | |
d3_layout_packInsert(a, c); | |
b = c; | |
bound(c); | |
} | |
} | |
} | |
} | |
var cx = (xMin + xMax) / 2, cy = (yMin + yMax) / 2, cr = 0; | |
for (i = 0; i < n; i++) { | |
c = nodes[i]; | |
c.x -= cx; | |
c.y -= cy; | |
cr = Math.max(cr, c.r + Math.sqrt(c.x * c.x + c.y * c.y)); | |
} | |
node.r = cr; | |
nodes.forEach(d3_layout_packUnlink); | |
} | |
function d3_layout_packLink(node) { | |
node._pack_next = node._pack_prev = node; | |
} | |
function d3_layout_packUnlink(node) { | |
delete node._pack_next; | |
delete node._pack_prev; | |
} | |
function d3_layout_packTransform(node, x, y, k) { | |
var children = node.children; | |
node.x = x += k * node.x; | |
node.y = y += k * node.y; | |
node.r *= k; | |
if (children) { | |
var i = -1, n = children.length; | |
while (++i < n) d3_layout_packTransform(children[i], x, y, k); | |
} | |
} | |
function d3_layout_packPlace(a, b, c) { | |
var db = a.r + c.r, dx = b.x - a.x, dy = b.y - a.y; | |
if (db && (dx || dy)) { | |
var da = b.r + c.r, dc = dx * dx + dy * dy; | |
da *= da; | |
db *= db; | |
var x = .5 + (db - da) / (2 * dc), y = Math.sqrt(Math.max(0, 2 * da * (db + dc) - (db -= dc) * db - da * da)) / (2 * dc); | |
c.x = a.x + x * dx + y * dy; | |
c.y = a.y + x * dy - y * dx; | |
} else { | |
c.x = a.x + db; | |
c.y = a.y; | |
} | |
} | |
d3.layout.cluster = function() { | |
var hierarchy = d3.layout.hierarchy().sort(null).value(null), separation = d3_layout_treeSeparation, size = [ 1, 1 ]; | |
function cluster(d, i) { | |
var nodes = hierarchy.call(this, d, i), root = nodes[0], previousNode, x = 0; | |
d3_layout_treeVisitAfter(root, function(node) { | |
var children = node.children; | |
if (children && children.length) { | |
node.x = d3_layout_clusterX(children); | |
node.y = d3_layout_clusterY(children); | |
} else { | |
node.x = previousNode ? x += separation(node, previousNode) : 0; | |
node.y = 0; | |
previousNode = node; | |
} | |
}); | |
var left = d3_layout_clusterLeft(root), right = d3_layout_clusterRight(root), x0 = left.x - separation(left, right) / 2, x1 = right.x + separation(right, left) / 2; | |
d3_layout_treeVisitAfter(root, function(node) { | |
node.x = (node.x - x0) / (x1 - x0) * size[0]; | |
node.y = (1 - (root.y ? node.y / root.y : 1)) * size[1]; | |
}); | |
return nodes; | |
} | |
cluster.separation = function(x) { | |
if (!arguments.length) return separation; | |
separation = x; | |
return cluster; | |
}; | |
cluster.size = function(x) { | |
if (!arguments.length) return size; | |
size = x; | |
return cluster; | |
}; | |
return d3_layout_hierarchyRebind(cluster, hierarchy); | |
}; | |
function d3_layout_clusterY(children) { | |
return 1 + d3.max(children, function(child) { | |
return child.y; | |
}); | |
} | |
function d3_layout_clusterX(children) { | |
return children.reduce(function(x, child) { | |
return x + child.x; | |
}, 0) / children.length; | |
} | |
function d3_layout_clusterLeft(node) { | |
var children = node.children; | |
return children && children.length ? d3_layout_clusterLeft(children[0]) : node; | |
} | |
function d3_layout_clusterRight(node) { | |
var children = node.children, n; | |
return children && (n = children.length) ? d3_layout_clusterRight(children[n - 1]) : node; | |
} | |
d3.layout.treemap = function() { | |
var hierarchy = d3.layout.hierarchy(), round = Math.round, size = [ 1, 1 ], padding = null, pad = d3_layout_treemapPadNull, sticky = false, stickies, mode = "squarify", ratio = .5 * (1 + Math.sqrt(5)); | |
function scale(children, k) { | |
var i = -1, n = children.length, child, area; | |
while (++i < n) { | |
area = (child = children[i]).value * (k < 0 ? 0 : k); | |
child.area = isNaN(area) || area <= 0 ? 0 : area; | |
} | |
} | |
function squarify(node) { | |
var children = node.children; | |
if (children && children.length) { | |
var rect = pad(node), row = [], remaining = children.slice(), child, best = Infinity, score, u = mode === "slice" ? rect.dx : mode === "dice" ? rect.dy : mode === "slice-dice" ? node.depth & 1 ? rect.dy : rect.dx : Math.min(rect.dx, rect.dy), n; | |
scale(remaining, rect.dx * rect.dy / node.value); | |
row.area = 0; | |
while ((n = remaining.length) > 0) { | |
row.push(child = remaining[n - 1]); | |
row.area += child.area; | |
if (mode !== "squarify" || (score = worst(row, u)) <= best) { | |
remaining.pop(); | |
best = score; | |
} else { | |
row.area -= row.pop().area; | |
position(row, u, rect, false); | |
u = Math.min(rect.dx, rect.dy); | |
row.length = row.area = 0; | |
best = Infinity; | |
} | |
} | |
if (row.length) { | |
position(row, u, rect, true); | |
row.length = row.area = 0; | |
} | |
children.forEach(squarify); | |
} | |
} | |
function stickify(node) { | |
var children = node.children; | |
if (children && children.length) { | |
var rect = pad(node), remaining = children.slice(), child, row = []; | |
scale(remaining, rect.dx * rect.dy / node.value); | |
row.area = 0; | |
while (child = remaining.pop()) { | |
row.push(child); | |
row.area += child.area; | |
if (child.z != null) { | |
position(row, child.z ? rect.dx : rect.dy, rect, !remaining.length); | |
row.length = row.area = 0; | |
} | |
} | |
children.forEach(stickify); | |
} | |
} | |
function worst(row, u) { | |
var s = row.area, r, rmax = 0, rmin = Infinity, i = -1, n = row.length; | |
while (++i < n) { | |
if (!(r = row[i].area)) continue; | |
if (r < rmin) rmin = r; | |
if (r > rmax) rmax = r; | |
} | |
s *= s; | |
u *= u; | |
return s ? Math.max(u * rmax * ratio / s, s / (u * rmin * ratio)) : Infinity; | |
} | |
function position(row, u, rect, flush) { | |
var i = -1, n = row.length, x = rect.x, y = rect.y, v = u ? round(row.area / u) : 0, o; | |
if (u == rect.dx) { | |
if (flush || v > rect.dy) v = rect.dy; | |
while (++i < n) { | |
o = row[i]; | |
o.x = x; | |
o.y = y; | |
o.dy = v; | |
x += o.dx = Math.min(rect.x + rect.dx - x, v ? round(o.area / v) : 0); | |
} | |
o.z = true; | |
o.dx += rect.x + rect.dx - x; | |
rect.y += v; | |
rect.dy -= v; | |
} else { | |
if (flush || v > rect.dx) v = rect.dx; | |
while (++i < n) { | |
o = row[i]; | |
o.x = x; | |
o.y = y; | |
o.dx = v; | |
y += o.dy = Math.min(rect.y + rect.dy - y, v ? round(o.area / v) : 0); | |
} | |
o.z = false; | |
o.dy += rect.y + rect.dy - y; | |
rect.x += v; | |
rect.dx -= v; | |
} | |
} | |
function treemap(d) { | |
var nodes = stickies || hierarchy(d), root = nodes[0]; | |
root.x = 0; | |
root.y = 0; | |
root.dx = size[0]; | |
root.dy = size[1]; | |
if (stickies) hierarchy.revalue(root); | |
scale([ root ], root.dx * root.dy / root.value); | |
(stickies ? stickify : squarify)(root); | |
if (sticky) stickies = nodes; | |
return nodes; | |
} | |
treemap.size = function(x) { | |
if (!arguments.length) return size; | |
size = x; | |
return treemap; | |
}; | |
treemap.padding = function(x) { | |
if (!arguments.length) return padding; | |
function padFunction(node) { | |
var p = x.call(treemap, node, node.depth); | |
return p == null ? d3_layout_treemapPadNull(node) : d3_layout_treemapPad(node, typeof p === "number" ? [ p, p, p, p ] : p); | |
} | |
function padConstant(node) { | |
return d3_layout_treemapPad(node, x); | |
} | |
var type; | |
pad = (padding = x) == null ? d3_layout_treemapPadNull : (type = typeof x) === "function" ? padFunction : type === "number" ? (x = [ x, x, x, x ], | |
padConstant) : padConstant; | |
return treemap; | |
}; | |
treemap.round = function(x) { | |
if (!arguments.length) return round != Number; | |
round = x ? Math.round : Number; | |
return treemap; | |
}; | |
treemap.sticky = function(x) { | |
if (!arguments.length) return sticky; | |
sticky = x; | |
stickies = null; | |
return treemap; | |
}; | |
treemap.ratio = function(x) { | |
if (!arguments.length) return ratio; | |
ratio = x; | |
return treemap; | |
}; | |
treemap.mode = function(x) { | |
if (!arguments.length) return mode; | |
mode = x + ""; | |
return treemap; | |
}; | |
return d3_layout_hierarchyRebind(treemap, hierarchy); | |
}; | |
function d3_layout_treemapPadNull(node) { | |
return { | |
x: node.x, | |
y: node.y, | |
dx: node.dx, | |
dy: node.dy | |
}; | |
} | |
function d3_layout_treemapPad(node, padding) { | |
var x = node.x + padding[3], y = node.y + padding[0], dx = node.dx - padding[1] - padding[3], dy = node.dy - padding[0] - padding[2]; | |
if (dx < 0) { | |
x += dx / 2; | |
dx = 0; | |
} | |
if (dy < 0) { | |
y += dy / 2; | |
dy = 0; | |
} | |
return { | |
x: x, | |
y: y, | |
dx: dx, | |
dy: dy | |
}; | |
} | |
d3.random = { | |
normal: function(µ, σ) { | |
var n = arguments.length; | |
if (n < 2) σ = 1; | |
if (n < 1) µ = 0; | |
return function() { | |
var x, y, r; | |
do { | |
x = Math.random() * 2 - 1; | |
y = Math.random() * 2 - 1; | |
r = x * x + y * y; | |
} while (!r || r > 1); | |
return µ + σ * x * Math.sqrt(-2 * Math.log(r) / r); | |
}; | |
}, | |
logNormal: function() { | |
var random = d3.random.normal.apply(d3, arguments); | |
return function() { | |
return Math.exp(random()); | |
}; | |
}, | |
irwinHall: function(m) { | |
return function() { | |
for (var s = 0, j = 0; j < m; j++) s += Math.random(); | |
return s / m; | |
}; | |
} | |
}; | |
d3.scale = {}; | |
function d3_scaleExtent(domain) { | |
var start = domain[0], stop = domain[domain.length - 1]; | |
return start < stop ? [ start, stop ] : [ stop, start ]; | |
} | |
function d3_scaleRange(scale) { | |
return scale.rangeExtent ? scale.rangeExtent() : d3_scaleExtent(scale.range()); | |
} | |
function d3_scale_bilinear(domain, range, uninterpolate, interpolate) { | |
var u = uninterpolate(domain[0], domain[1]), i = interpolate(range[0], range[1]); | |
return function(x) { | |
return i(u(x)); | |
}; | |
} | |
function d3_scale_nice(domain, nice) { | |
var i0 = 0, i1 = domain.length - 1, x0 = domain[i0], x1 = domain[i1], dx; | |
if (x1 < x0) { | |
dx = i0, i0 = i1, i1 = dx; | |
dx = x0, x0 = x1, x1 = dx; | |
} | |
if (nice = nice(x1 - x0)) { | |
domain[i0] = nice.floor(x0); | |
domain[i1] = nice.ceil(x1); | |
} | |
return domain; | |
} | |
function d3_scale_polylinear(domain, range, uninterpolate, interpolate) { | |
var u = [], i = [], j = 0, k = Math.min(domain.length, range.length) - 1; | |
if (domain[k] < domain[0]) { | |
domain = domain.slice().reverse(); | |
range = range.slice().reverse(); | |
} | |
while (++j <= k) { | |
u.push(uninterpolate(domain[j - 1], domain[j])); | |
i.push(interpolate(range[j - 1], range[j])); | |
} | |
return function(x) { | |
var j = d3.bisect(domain, x, 1, k) - 1; | |
return i[j](u[j](x)); | |
}; | |
} | |
d3.scale.linear = function() { | |
return d3_scale_linear([ 0, 1 ], [ 0, 1 ], d3_interpolate, false); | |
}; | |
function d3_scale_linear(domain, range, interpolate, clamp) { | |
var output, input; | |
function rescale() { | |
var linear = Math.min(domain.length, range.length) > 2 ? d3_scale_polylinear : d3_scale_bilinear, uninterpolate = clamp ? d3_uninterpolateClamp : d3_uninterpolateNumber; | |
output = linear(domain, range, uninterpolate, interpolate); | |
input = linear(range, domain, uninterpolate, d3_interpolate); | |
return scale; | |
} | |
function scale(x) { | |
return output(x); | |
} | |
scale.invert = function(y) { | |
return input(y); | |
}; | |
scale.domain = function(x) { | |
if (!arguments.length) return domain; | |
domain = x.map(Number); | |
return rescale(); | |
}; | |
scale.range = function(x) { | |
if (!arguments.length) return range; | |
range = x; | |
return rescale(); | |
}; | |
scale.rangeRound = function(x) { | |
return scale.range(x).interpolate(d3_interpolateRound); | |
}; | |
scale.clamp = function(x) { | |
if (!arguments.length) return clamp; | |
clamp = x; | |
return rescale(); | |
}; | |
scale.interpolate = function(x) { | |
if (!arguments.length) return interpolate; | |
interpolate = x; | |
return rescale(); | |
}; | |
scale.ticks = function(m) { | |
return d3_scale_linearTicks(domain, m); | |
}; | |
scale.tickFormat = function(m, format) { | |
return d3_scale_linearTickFormat(domain, m, format); | |
}; | |
scale.nice = function() { | |
d3_scale_nice(domain, d3_scale_linearNice); | |
return rescale(); | |
}; | |
scale.copy = function() { | |
return d3_scale_linear(domain, range, interpolate, clamp); | |
}; | |
return rescale(); | |
} | |
function d3_scale_linearRebind(scale, linear) { | |
return d3.rebind(scale, linear, "range", "rangeRound", "interpolate", "clamp"); | |
} | |
function d3_scale_linearNice(dx) { | |
dx = Math.pow(10, Math.round(Math.log(dx) / Math.LN10) - 1); | |
return dx && { | |
floor: function(x) { | |
return Math.floor(x / dx) * dx; | |
}, | |
ceil: function(x) { | |
return Math.ceil(x / dx) * dx; | |
} | |
}; | |
} | |
function d3_scale_linearTickRange(domain, m) { | |
var extent = d3_scaleExtent(domain), span = extent[1] - extent[0], step = Math.pow(10, Math.floor(Math.log(span / m) / Math.LN10)), err = m / span * step; | |
if (err <= .15) step *= 10; else if (err <= .35) step *= 5; else if (err <= .75) step *= 2; | |
extent[0] = Math.ceil(extent[0] / step) * step; | |
extent[1] = Math.floor(extent[1] / step) * step + step * .5; | |
extent[2] = step; | |
return extent; | |
} | |
function d3_scale_linearTicks(domain, m) { | |
return d3.range.apply(d3, d3_scale_linearTickRange(domain, m)); | |
} | |
function d3_scale_linearTickFormat(domain, m, format) { | |
var precision = -Math.floor(Math.log(d3_scale_linearTickRange(domain, m)[2]) / Math.LN10 + .01); | |
return d3.format(format ? format.replace(d3_format_re, function(a, b, c, d, e, f, g, h, i, j) { | |
return [ b, c, d, e, f, g, h, i || "." + (precision - (j === "%") * 2), j ].join(""); | |
}) : ",." + precision + "f"); | |
} | |
d3.scale.log = function() { | |
return d3_scale_log(d3.scale.linear().domain([ 0, Math.LN10 ]), 10, d3_scale_logp, d3_scale_powp, [ 1, 10 ]); | |
}; | |
function d3_scale_log(linear, base, log, pow, domain) { | |
function scale(x) { | |
return linear(log(x)); | |
} | |
scale.invert = function(x) { | |
return pow(linear.invert(x)); | |
}; | |
scale.domain = function(x) { | |
if (!arguments.length) return domain; | |
if (x[0] < 0) log = d3_scale_logn, pow = d3_scale_pown; else log = d3_scale_logp, | |
pow = d3_scale_powp; | |
linear.domain((domain = x.map(Number)).map(log)); | |
return scale; | |
}; | |
scale.base = function(_) { | |
if (!arguments.length) return base; | |
base = +_; | |
return scale; | |
}; | |
scale.nice = function() { | |
linear.domain(d3_scale_nice(domain, nice).map(log)); | |
return scale; | |
}; | |
scale.ticks = function() { | |
var extent = d3_scaleExtent(linear.domain()), ticks = []; | |
if (extent.every(isFinite)) { | |
var b = Math.log(base), i = Math.floor(extent[0] / b), j = Math.ceil(extent[1] / b), u = pow(extent[0]), v = pow(extent[1]), n = base % 1 ? 2 : base; | |
if (log === d3_scale_logn) { | |
ticks.push(-Math.pow(base, -i)); | |
for (;i++ < j; ) for (var k = n - 1; k > 0; k--) ticks.push(-Math.pow(base, -i) * k); | |
} else { | |
for (;i < j; i++) for (var k = 1; k < n; k++) ticks.push(Math.pow(base, i) * k); | |
ticks.push(Math.pow(base, i)); | |
} | |
for (i = 0; ticks[i] < u; i++) {} | |
for (j = ticks.length; ticks[j - 1] > v; j--) {} | |
ticks = ticks.slice(i, j); | |
} | |
return ticks; | |
}; | |
scale.tickFormat = function(n, format) { | |
if (arguments.length < 2) format = d3_scale_logFormat; | |
if (!arguments.length) return format; | |
var b = Math.log(base), k = Math.max(.1, n / scale.ticks().length), f = log === d3_scale_logn ? (e = -1e-12, | |
Math.floor) : (e = 1e-12, Math.ceil), e; | |
return function(d) { | |
return d / pow(b * f(log(d) / b + e)) <= k ? format(d) : ""; | |
}; | |
}; | |
scale.copy = function() { | |
return d3_scale_log(linear.copy(), base, log, pow, domain); | |
}; | |
function nice() { | |
return log === d3_scale_logp ? { | |
floor: floor, | |
ceil: ceil | |
} : { | |
floor: function(x) { | |
return -ceil(-x); | |
}, | |
ceil: function(x) { | |
return -floor(-x); | |
} | |
}; | |
} | |
function floor(x) { | |
return Math.pow(base, Math.floor(Math.log(x) / Math.log(base))); | |
} | |
function ceil(x) { | |
return Math.pow(base, Math.ceil(Math.log(x) / Math.log(base))); | |
} | |
return d3_scale_linearRebind(scale, linear); | |
} | |
var d3_scale_logFormat = d3.format(".0e"); | |
function d3_scale_logp(x) { | |
return Math.log(x < 0 ? 0 : x); | |
} | |
function d3_scale_powp(x) { | |
return Math.exp(x); | |
} | |
function d3_scale_logn(x) { | |
return -Math.log(x > 0 ? 0 : -x); | |
} | |
function d3_scale_pown(x) { | |
return -Math.exp(-x); | |
} | |
d3.scale.pow = function() { | |
return d3_scale_pow(d3.scale.linear(), 1, [ 0, 1 ]); | |
}; | |
function d3_scale_pow(linear, exponent, domain) { | |
var powp = d3_scale_powPow(exponent), powb = d3_scale_powPow(1 / exponent); | |
function scale(x) { | |
return linear(powp(x)); | |
} | |
scale.invert = function(x) { | |
return powb(linear.invert(x)); | |
}; | |
scale.domain = function(x) { | |
if (!arguments.length) return domain; | |
linear.domain((domain = x.map(Number)).map(powp)); | |
return scale; | |
}; | |
scale.ticks = function(m) { | |
return d3_scale_linearTicks(domain, m); | |
}; | |
scale.tickFormat = function(m, format) { | |
return d3_scale_linearTickFormat(domain, m, format); | |
}; | |
scale.nice = function() { | |
return scale.domain(d3_scale_nice(domain, d3_scale_linearNice)); | |
}; | |
scale.exponent = function(x) { | |
if (!arguments.length) return exponent; | |
powp = d3_scale_powPow(exponent = x); | |
powb = d3_scale_powPow(1 / exponent); | |
linear.domain(domain.map(powp)); | |
return scale; | |
}; | |
scale.copy = function() { | |
return d3_scale_pow(linear.copy(), exponent, domain); | |
}; | |
return d3_scale_linearRebind(scale, linear); | |
} | |
function d3_scale_powPow(e) { | |
return function(x) { | |
return x < 0 ? -Math.pow(-x, e) : Math.pow(x, e); | |
}; | |
} | |
d3.scale.sqrt = function() { | |
return d3.scale.pow().exponent(.5); | |
}; | |
d3.scale.ordinal = function() { | |
return d3_scale_ordinal([], { | |
t: "range", | |
a: [ [] ] | |
}); | |
}; | |
function d3_scale_ordinal(domain, ranger) { | |
var index, range, rangeBand; | |
function scale(x) { | |
return range[((index.get(x) || index.set(x, domain.push(x))) - 1) % range.length]; | |
} | |
function steps(start, step) { | |
return d3.range(domain.length).map(function(i) { | |
return start + step * i; | |
}); | |
} | |
scale.domain = function(x) { | |
if (!arguments.length) return domain; | |
domain = []; | |
index = new d3_Map(); | |
var i = -1, n = x.length, xi; | |
while (++i < n) if (!index.has(xi = x[i])) index.set(xi, domain.push(xi)); | |
return scale[ranger.t].apply(scale, ranger.a); | |
}; | |
scale.range = function(x) { | |
if (!arguments.length) return range; | |
range = x; | |
rangeBand = 0; | |
ranger = { | |
t: "range", | |
a: arguments | |
}; | |
return scale; | |
}; | |
scale.rangePoints = function(x, padding) { | |
if (arguments.length < 2) padding = 0; | |
var start = x[0], stop = x[1], step = (stop - start) / (Math.max(1, domain.length - 1) + padding); | |
range = steps(domain.length < 2 ? (start + stop) / 2 : start + step * padding / 2, step); | |
rangeBand = Math.abs(step); | |
ranger = { | |
t: "rangePoints", | |
a: arguments | |
}; | |
return scale; | |
}; | |
scale.rangeBands = function(x, padding, outerPadding) { | |
if (arguments.length < 2) padding = 0; | |
if (arguments.length < 3) outerPadding = padding; | |
var reverse = x[1] < x[0], start = x[reverse - 0], stop = x[1 - reverse], step = (stop - start) / (domain.length - padding + 2 * outerPadding); | |
range = steps(start + step * outerPadding, step); | |
if (reverse) range.reverse(); | |
rangeBand = step * (1 - padding); | |
ranger = { | |
t: "rangeBands", | |
a: arguments | |
}; | |
return scale; | |
}; | |
scale.rangeRoundBands = function(x, padding, outerPadding) { | |
if (arguments.length < 2) padding = 0; | |
if (arguments.length < 3) outerPadding = padding; | |
var reverse = x[1] < x[0], start = x[reverse - 0], stop = x[1 - reverse], step = Math.floor((stop - start) / (domain.length - padding + 2 * outerPadding)), error = stop - start - (domain.length - padding) * step; | |
range = steps(start + Math.round(error / 2), step); | |
if (reverse) range.reverse(); | |
rangeBand = Math.round(step * (1 - padding)); | |
ranger = { | |
t: "rangeRoundBands", | |
a: arguments | |
}; | |
return scale; | |
}; | |
scale.rangeBand = function() { | |
return rangeBand; | |
}; | |
scale.rangeExtent = function() { | |
return d3_scaleExtent(ranger.a[0]); | |
}; | |
scale.copy = function() { | |
return d3_scale_ordinal(domain, ranger); | |
}; | |
return scale.domain(domain); | |
} | |
d3.scale.category10 = function() { | |
return d3.scale.ordinal().range(d3_category10); | |
}; | |
d3.scale.category20 = function() { | |
return d3.scale.ordinal().range(d3_category20); | |
}; | |
d3.scale.category20b = function() { | |
return d3.scale.ordinal().range(d3_category20b); | |
}; | |
d3.scale.category20c = function() { | |
return d3.scale.ordinal().range(d3_category20c); | |
}; | |
var d3_category10 = [ "#1f77b4", "#ff7f0e", "#2ca02c", "#d62728", "#9467bd", "#8c564b", "#e377c2", "#7f7f7f", "#bcbd22", "#17becf" ]; | |
var d3_category20 = [ "#1f77b4", "#aec7e8", "#ff7f0e", "#ffbb78", "#2ca02c", "#98df8a", "#d62728", "#ff9896", "#9467bd", "#c5b0d5", "#8c564b", "#c49c94", "#e377c2", "#f7b6d2", "#7f7f7f", "#c7c7c7", "#bcbd22", "#dbdb8d", "#17becf", "#9edae5" ]; | |
var d3_category20b = [ "#393b79", "#5254a3", "#6b6ecf", "#9c9ede", "#637939", "#8ca252", "#b5cf6b", "#cedb9c", "#8c6d31", "#bd9e39", "#e7ba52", "#e7cb94", "#843c39", "#ad494a", "#d6616b", "#e7969c", "#7b4173", "#a55194", "#ce6dbd", "#de9ed6" ]; | |
var d3_category20c = [ "#3182bd", "#6baed6", "#9ecae1", "#c6dbef", "#e6550d", "#fd8d3c", "#fdae6b", "#fdd0a2", "#31a354", "#74c476", "#a1d99b", "#c7e9c0", "#756bb1", "#9e9ac8", "#bcbddc", "#dadaeb", "#636363", "#969696", "#bdbdbd", "#d9d9d9" ]; | |
d3.scale.quantile = function() { | |
return d3_scale_quantile([], []); | |
}; | |
function d3_scale_quantile(domain, range) { | |
var thresholds; | |
function rescale() { | |
var k = 0, q = range.length; | |
thresholds = []; | |
while (++k < q) thresholds[k - 1] = d3.quantile(domain, k / q); | |
return scale; | |
} | |
function scale(x) { | |
if (isNaN(x = +x)) return NaN; | |
return range[d3.bisect(thresholds, x)]; | |
} | |
scale.domain = function(x) { | |
if (!arguments.length) return domain; | |
domain = x.filter(function(d) { | |
return !isNaN(d); | |
}).sort(d3.ascending); | |
return rescale(); | |
}; | |
scale.range = function(x) { | |
if (!arguments.length) return range; | |
range = x; | |
return rescale(); | |
}; | |
scale.quantiles = function() { | |
return thresholds; | |
}; | |
scale.copy = function() { | |
return d3_scale_quantile(domain, range); | |
}; | |
return rescale(); | |
} | |
d3.scale.quantize = function() { | |
return d3_scale_quantize(0, 1, [ 0, 1 ]); | |
}; | |
function d3_scale_quantize(x0, x1, range) { | |
var kx, i; | |
function scale(x) { | |
return range[Math.max(0, Math.min(i, Math.floor(kx * (x - x0))))]; | |
} | |
function rescale() { | |
kx = range.length / (x1 - x0); | |
i = range.length - 1; | |
return scale; | |
} | |
scale.domain = function(x) { | |
if (!arguments.length) return [ x0, x1 ]; | |
x0 = +x[0]; | |
x1 = +x[x.length - 1]; | |
return rescale(); | |
}; | |
scale.range = function(x) { | |
if (!arguments.length) return range; | |
range = x; | |
return rescale(); | |
}; | |
scale.copy = function() { | |
return d3_scale_quantize(x0, x1, range); | |
}; | |
return rescale(); | |
} | |
d3.scale.threshold = function() { | |
return d3_scale_threshold([ .5 ], [ 0, 1 ]); | |
}; | |
function d3_scale_threshold(domain, range) { | |
function scale(x) { | |
return range[d3.bisect(domain, x)]; | |
} | |
scale.domain = function(_) { | |
if (!arguments.length) return domain; | |
domain = _; | |
return scale; | |
}; | |
scale.range = function(_) { | |
if (!arguments.length) return range; | |
range = _; | |
return scale; | |
}; | |
scale.copy = function() { | |
return d3_scale_threshold(domain, range); | |
}; | |
return scale; | |
} | |
d3.scale.identity = function() { | |
return d3_scale_identity([ 0, 1 ]); | |
}; | |
function d3_scale_identity(domain) { | |
function identity(x) { | |
return +x; | |
} | |
identity.invert = identity; | |
identity.domain = identity.range = function(x) { | |
if (!arguments.length) return domain; | |
domain = x.map(identity); | |
return identity; | |
}; | |
identity.ticks = function(m) { | |
return d3_scale_linearTicks(domain, m); | |
}; | |
identity.tickFormat = function(m, format) { | |
return d3_scale_linearTickFormat(domain, m, format); | |
}; | |
identity.copy = function() { | |
return d3_scale_identity(domain); | |
}; | |
return identity; | |
} | |
d3.svg.arc = function() { | |
var innerRadius = d3_svg_arcInnerRadius, outerRadius = d3_svg_arcOuterRadius, startAngle = d3_svg_arcStartAngle, endAngle = d3_svg_arcEndAngle; | |
function arc() { | |
var r0 = innerRadius.apply(this, arguments), r1 = outerRadius.apply(this, arguments), a0 = startAngle.apply(this, arguments) + d3_svg_arcOffset, a1 = endAngle.apply(this, arguments) + d3_svg_arcOffset, da = (a1 < a0 && (da = a0, | |
a0 = a1, a1 = da), a1 - a0), df = da < π ? "0" : "1", c0 = Math.cos(a0), s0 = Math.sin(a0), c1 = Math.cos(a1), s1 = Math.sin(a1); | |
return da >= d3_svg_arcMax ? r0 ? "M0," + r1 + "A" + r1 + "," + r1 + " 0 1,1 0," + -r1 + "A" + r1 + "," + r1 + " 0 1,1 0," + r1 + "M0," + r0 + "A" + r0 + "," + r0 + " 0 1,0 0," + -r0 + "A" + r0 + "," + r0 + " 0 1,0 0," + r0 + "Z" : "M0," + r1 + "A" + r1 + "," + r1 + " 0 1,1 0," + -r1 + "A" + r1 + "," + r1 + " 0 1,1 0," + r1 + "Z" : r0 ? "M" + r1 * c0 + "," + r1 * s0 + "A" + r1 + "," + r1 + " 0 " + df + ",1 " + r1 * c1 + "," + r1 * s1 + "L" + r0 * c1 + "," + r0 * s1 + "A" + r0 + "," + r0 + " 0 " + df + ",0 " + r0 * c0 + "," + r0 * s0 + "Z" : "M" + r1 * c0 + "," + r1 * s0 + "A" + r1 + "," + r1 + " 0 " + df + ",1 " + r1 * c1 + "," + r1 * s1 + "L0,0" + "Z"; | |
} | |
arc.innerRadius = function(v) { | |
if (!arguments.length) return innerRadius; | |
innerRadius = d3_functor(v); | |
return arc; | |
}; | |
arc.outerRadius = function(v) { | |
if (!arguments.length) return outerRadius; | |
outerRadius = d3_functor(v); | |
return arc; | |
}; | |
arc.startAngle = function(v) { | |
if (!arguments.length) return startAngle; | |
startAngle = d3_functor(v); | |
return arc; | |
}; | |
arc.endAngle = function(v) { | |
if (!arguments.length) return endAngle; | |
endAngle = d3_functor(v); | |
return arc; | |
}; | |
arc.centroid = function() { | |
var r = (innerRadius.apply(this, arguments) + outerRadius.apply(this, arguments)) / 2, a = (startAngle.apply(this, arguments) + endAngle.apply(this, arguments)) / 2 + d3_svg_arcOffset; | |
return [ Math.cos(a) * r, Math.sin(a) * r ]; | |
}; | |
return arc; | |
}; | |
var d3_svg_arcOffset = -π / 2, d3_svg_arcMax = 2 * π - 1e-6; | |
function d3_svg_arcInnerRadius(d) { | |
return d.innerRadius; | |
} | |
function d3_svg_arcOuterRadius(d) { | |
return d.outerRadius; | |
} | |
function d3_svg_arcStartAngle(d) { | |
return d.startAngle; | |
} | |
function d3_svg_arcEndAngle(d) { | |
return d.endAngle; | |
} | |
d3.svg.line.radial = function() { | |
var line = d3_svg_line(d3_svg_lineRadial); | |
line.radius = line.x, delete line.x; | |
line.angle = line.y, delete line.y; | |
return line; | |
}; | |
function d3_svg_lineRadial(points) { | |
var point, i = -1, n = points.length, r, a; | |
while (++i < n) { | |
point = points[i]; | |
r = point[0]; | |
a = point[1] + d3_svg_arcOffset; | |
point[0] = r * Math.cos(a); | |
point[1] = r * Math.sin(a); | |
} | |
return points; | |
} | |
function d3_svg_area(projection) { | |
var x0 = d3_svg_lineX, x1 = d3_svg_lineX, y0 = 0, y1 = d3_svg_lineY, defined = d3_true, interpolate = d3_svg_lineLinear, interpolateKey = interpolate.key, interpolateReverse = interpolate, L = "L", tension = .7; | |
function area(data) { | |
var segments = [], points0 = [], points1 = [], i = -1, n = data.length, d, fx0 = d3_functor(x0), fy0 = d3_functor(y0), fx1 = x0 === x1 ? function() { | |
return x; | |
} : d3_functor(x1), fy1 = y0 === y1 ? function() { | |
return y; | |
} : d3_functor(y1), x, y; | |
function segment() { | |
segments.push("M", interpolate(projection(points1), tension), L, interpolateReverse(projection(points0.reverse()), tension), "Z"); | |
} | |
while (++i < n) { | |
if (defined.call(this, d = data[i], i)) { | |
points0.push([ x = +fx0.call(this, d, i), y = +fy0.call(this, d, i) ]); | |
points1.push([ +fx1.call(this, d, i), +fy1.call(this, d, i) ]); | |
} else if (points0.length) { | |
segment(); | |
points0 = []; | |
points1 = []; | |
} | |
} | |
if (points0.length) segment(); | |
return segments.length ? segments.join("") : null; | |
} | |
area.x = function(_) { | |
if (!arguments.length) return x1; | |
x0 = x1 = _; | |
return area; | |
}; | |
area.x0 = function(_) { | |
if (!arguments.length) return x0; | |
x0 = _; | |
return area; | |
}; | |
area.x1 = function(_) { | |
if (!arguments.length) return x1; | |
x1 = _; | |
return area; | |
}; | |
area.y = function(_) { | |
if (!arguments.length) return y1; | |
y0 = y1 = _; | |
return area; | |
}; | |
area.y0 = function(_) { | |
if (!arguments.length) return y0; | |
y0 = _; | |
return area; | |
}; | |
area.y1 = function(_) { | |
if (!arguments.length) return y1; | |
y1 = _; | |
return area; | |
}; | |
area.defined = function(_) { | |
if (!arguments.length) return defined; | |
defined = _; | |
return area; | |
}; | |
area.interpolate = function(_) { | |
if (!arguments.length) return interpolateKey; | |
if (typeof _ === "function") interpolateKey = interpolate = _; else interpolateKey = (interpolate = d3_svg_lineInterpolators.get(_) || d3_svg_lineLinear).key; | |
interpolateReverse = interpolate.reverse || interpolate; | |
L = interpolate.closed ? "M" : "L"; | |
return area; | |
}; | |
area.tension = function(_) { | |
if (!arguments.length) return tension; | |
tension = _; | |
return area; | |
}; | |
return area; | |
} | |
d3_svg_lineStepBefore.reverse = d3_svg_lineStepAfter; | |
d3_svg_lineStepAfter.reverse = d3_svg_lineStepBefore; | |
d3.svg.area = function() { | |
return d3_svg_area(d3_identity); | |
}; | |
d3.svg.area.radial = function() { | |
var area = d3_svg_area(d3_svg_lineRadial); | |
area.radius = area.x, delete area.x; | |
area.innerRadius = area.x0, delete area.x0; | |
area.outerRadius = area.x1, delete area.x1; | |
area.angle = area.y, delete area.y; | |
area.startAngle = area.y0, delete area.y0; | |
area.endAngle = area.y1, delete area.y1; | |
return area; | |
}; | |
d3.svg.chord = function() { | |
var source = d3_source, target = d3_target, radius = d3_svg_chordRadius, startAngle = d3_svg_arcStartAngle, endAngle = d3_svg_arcEndAngle; | |
function chord(d, i) { | |
var s = subgroup(this, source, d, i), t = subgroup(this, target, d, i); | |
return "M" + s.p0 + arc(s.r, s.p1, s.a1 - s.a0) + (equals(s, t) ? curve(s.r, s.p1, s.r, s.p0) : curve(s.r, s.p1, t.r, t.p0) + arc(t.r, t.p1, t.a1 - t.a0) + curve(t.r, t.p1, s.r, s.p0)) + "Z"; | |
} | |
function subgroup(self, f, d, i) { | |
var subgroup = f.call(self, d, i), r = radius.call(self, subgroup, i), a0 = startAngle.call(self, subgroup, i) + d3_svg_arcOffset, a1 = endAngle.call(self, subgroup, i) + d3_svg_arcOffset; | |
return { | |
r: r, | |
a0: a0, | |
a1: a1, | |
p0: [ r * Math.cos(a0), r * Math.sin(a0) ], | |
p1: [ r * Math.cos(a1), r * Math.sin(a1) ] | |
}; | |
} | |
function equals(a, b) { | |
return a.a0 == b.a0 && a.a1 == b.a1; | |
} | |
function arc(r, p, a) { | |
return "A" + r + "," + r + " 0 " + +(a > π) + ",1 " + p; | |
} | |
function curve(r0, p0, r1, p1) { | |
return "Q 0,0 " + p1; | |
} | |
chord.radius = function(v) { | |
if (!arguments.length) return radius; | |
radius = d3_functor(v); | |
return chord; | |
}; | |
chord.source = function(v) { | |
if (!arguments.length) return source; | |
source = d3_functor(v); | |
return chord; | |
}; | |
chord.target = function(v) { | |
if (!arguments.length) return target; | |
target = d3_functor(v); | |
return chord; | |
}; | |
chord.startAngle = function(v) { | |
if (!arguments.length) return startAngle; | |
startAngle = d3_functor(v); | |
return chord; | |
}; | |
chord.endAngle = function(v) { | |
if (!arguments.length) return endAngle; | |
endAngle = d3_functor(v); | |
return chord; | |
}; | |
return chord; | |
}; | |
function d3_svg_chordRadius(d) { | |
return d.radius; | |
} | |
d3.svg.diagonal = function() { | |
var source = d3_source, target = d3_target, projection = d3_svg_diagonalProjection; | |
function diagonal(d, i) { | |
var p0 = source.call(this, d, i), p3 = target.call(this, d, i), m = (p0.y + p3.y) / 2, p = [ p0, { | |
x: p0.x, | |
y: m | |
}, { | |
x: p3.x, | |
y: m | |
}, p3 ]; | |
p = p.map(projection); | |
return "M" + p[0] + "C" + p[1] + " " + p[2] + " " + p[3]; | |
} | |
diagonal.source = function(x) { | |
if (!arguments.length) return source; | |
source = d3_functor(x); | |
return diagonal; | |
}; | |
diagonal.target = function(x) { | |
if (!arguments.length) return target; | |
target = d3_functor(x); | |
return diagonal; | |
}; | |
diagonal.projection = function(x) { | |
if (!arguments.length) return projection; | |
projection = x; | |
return diagonal; | |
}; | |
return diagonal; | |
}; | |
function d3_svg_diagonalProjection(d) { | |
return [ d.x, d.y ]; | |
} | |
d3.svg.diagonal.radial = function() { | |
var diagonal = d3.svg.diagonal(), projection = d3_svg_diagonalProjection, projection_ = diagonal.projection; | |
diagonal.projection = function(x) { | |
return arguments.length ? projection_(d3_svg_diagonalRadialProjection(projection = x)) : projection; | |
}; | |
return diagonal; | |
}; | |
function d3_svg_diagonalRadialProjection(projection) { | |
return function() { | |
var d = projection.apply(this, arguments), r = d[0], a = d[1] + d3_svg_arcOffset; | |
return [ r * Math.cos(a), r * Math.sin(a) ]; | |
}; | |
} | |
d3.svg.symbol = function() { | |
var type = d3_svg_symbolType, size = d3_svg_symbolSize; | |
function symbol(d, i) { | |
return (d3_svg_symbols.get(type.call(this, d, i)) || d3_svg_symbolCircle)(size.call(this, d, i)); | |
} | |
symbol.type = function(x) { | |
if (!arguments.length) return type; | |
type = d3_functor(x); | |
return symbol; | |
}; | |
symbol.size = function(x) { | |
if (!arguments.length) return size; | |
size = d3_functor(x); | |
return symbol; | |
}; | |
return symbol; | |
}; | |
function d3_svg_symbolSize() { | |
return 64; | |
} | |
function d3_svg_symbolType() { | |
return "circle"; | |
} | |
function d3_svg_symbolCircle(size) { | |
var r = Math.sqrt(size / π); | |
return "M0," + r + "A" + r + "," + r + " 0 1,1 0," + -r + "A" + r + "," + r + " 0 1,1 0," + r + "Z"; | |
} | |
var d3_svg_symbols = d3.map({ | |
circle: d3_svg_symbolCircle, | |
cross: function(size) { | |
var r = Math.sqrt(size / 5) / 2; | |
return "M" + -3 * r + "," + -r + "H" + -r + "V" + -3 * r + "H" + r + "V" + -r + "H" + 3 * r + "V" + r + "H" + r + "V" + 3 * r + "H" + -r + "V" + r + "H" + -3 * r + "Z"; | |
}, | |
diamond: function(size) { | |
var ry = Math.sqrt(size / (2 * d3_svg_symbolTan30)), rx = ry * d3_svg_symbolTan30; | |
return "M0," + -ry + "L" + rx + ",0" + " 0," + ry + " " + -rx + ",0" + "Z"; | |
}, | |
square: function(size) { | |
var r = Math.sqrt(size) / 2; | |
return "M" + -r + "," + -r + "L" + r + "," + -r + " " + r + "," + r + " " + -r + "," + r + "Z"; | |
}, | |
"triangle-down": function(size) { | |
var rx = Math.sqrt(size / d3_svg_symbolSqrt3), ry = rx * d3_svg_symbolSqrt3 / 2; | |
return "M0," + ry + "L" + rx + "," + -ry + " " + -rx + "," + -ry + "Z"; | |
}, | |
"triangle-up": function(size) { | |
var rx = Math.sqrt(size / d3_svg_symbolSqrt3), ry = rx * d3_svg_symbolSqrt3 / 2; | |
return "M0," + -ry + "L" + rx + "," + ry + " " + -rx + "," + ry + "Z"; | |
} | |
}); | |
d3.svg.symbolTypes = d3_svg_symbols.keys(); | |
var d3_svg_symbolSqrt3 = Math.sqrt(3), d3_svg_symbolTan30 = Math.tan(30 * d3_radians); | |
function d3_transition(groups, id) { | |
d3_arraySubclass(groups, d3_transitionPrototype); | |
groups.id = id; | |
return groups; | |
} | |
var d3_transitionPrototype = [], d3_transitionId = 0, d3_transitionInheritId, d3_transitionInherit = { | |
ease: d3_ease_cubicInOut, | |
delay: 0, | |
duration: 250 | |
}; | |
d3_transitionPrototype.call = d3_selectionPrototype.call; | |
d3_transitionPrototype.empty = d3_selectionPrototype.empty; | |
d3_transitionPrototype.node = d3_selectionPrototype.node; | |
d3.transition = function(selection) { | |
return arguments.length ? d3_transitionInheritId ? selection.transition() : selection : d3_selectionRoot.transition(); | |
}; | |
d3.transition.prototype = d3_transitionPrototype; | |
d3_transitionPrototype.select = function(selector) { | |
var id = this.id, subgroups = [], subgroup, subnode, node; | |
if (typeof selector !== "function") selector = d3_selection_selector(selector); | |
for (var j = -1, m = this.length; ++j < m; ) { | |
subgroups.push(subgroup = []); | |
for (var group = this[j], i = -1, n = group.length; ++i < n; ) { | |
if ((node = group[i]) && (subnode = selector.call(node, node.__data__, i))) { | |
if ("__data__" in node) subnode.__data__ = node.__data__; | |
d3_transitionNode(subnode, i, id, node.__transition__[id]); | |
subgroup.push(subnode); | |
} else { | |
subgroup.push(null); | |
} | |
} | |
} | |
return d3_transition(subgroups, id); | |
}; | |
d3_transitionPrototype.selectAll = function(selector) { | |
var id = this.id, subgroups = [], subgroup, subnodes, node, subnode, transition; | |
if (typeof selector !== "function") selector = d3_selection_selectorAll(selector); | |
for (var j = -1, m = this.length; ++j < m; ) { | |
for (var group = this[j], i = -1, n = group.length; ++i < n; ) { | |
if (node = group[i]) { | |
transition = node.__transition__[id]; | |
subnodes = selector.call(node, node.__data__, i); | |
subgroups.push(subgroup = []); | |
for (var k = -1, o = subnodes.length; ++k < o; ) { | |
d3_transitionNode(subnode = subnodes[k], k, id, transition); | |
subgroup.push(subnode); | |
} | |
} | |
} | |
} | |
return d3_transition(subgroups, id); | |
}; | |
d3_transitionPrototype.filter = function(filter) { | |
var subgroups = [], subgroup, group, node; | |
if (typeof filter !== "function") filter = d3_selection_filter(filter); | |
for (var j = 0, m = this.length; j < m; j++) { | |
subgroups.push(subgroup = []); | |
for (var group = this[j], i = 0, n = group.length; i < n; i++) { | |
if ((node = group[i]) && filter.call(node, node.__data__, i)) { | |
subgroup.push(node); | |
} | |
} | |
} | |
return d3_transition(subgroups, this.id, this.time).ease(this.ease()); | |
}; | |
d3_transitionPrototype.tween = function(name, tween) { | |
var id = this.id; | |
if (arguments.length < 2) return this.node().__transition__[id].tween.get(name); | |
return d3_selection_each(this, tween == null ? function(node) { | |
node.__transition__[id].tween.remove(name); | |
} : function(node) { | |
node.__transition__[id].tween.set(name, tween); | |
}); | |
}; | |
function d3_transition_tween(groups, name, value, tween) { | |
var id = groups.id; | |
return d3_selection_each(groups, typeof value === "function" ? function(node, i, j) { | |
node.__transition__[id].tween.set(name, tween(value.call(node, node.__data__, i, j))); | |
} : (value = tween(value), function(node) { | |
node.__transition__[id].tween.set(name, value); | |
})); | |
} | |
d3_transitionPrototype.attr = function(nameNS, value) { | |
if (arguments.length < 2) { | |
for (value in nameNS) this.attr(value, nameNS[value]); | |
return this; | |
} | |
var interpolate = d3_interpolateByName(nameNS), name = d3.ns.qualify(nameNS); | |
function attrNull() { | |
this.removeAttribute(name); | |
} | |
function attrNullNS() { | |
this.removeAttributeNS(name.space, name.local); | |
} | |
function attrTween(b) { | |
return b == null ? attrNull : (b += "", function() { | |
var a = this.getAttribute(name), i; | |
return a !== b && (i = interpolate(a, b), function(t) { | |
this.setAttribute(name, i(t)); | |
}); | |
}); | |
} | |
function attrTweenNS(b) { | |
return b == null ? attrNullNS : (b += "", function() { | |
var a = this.getAttributeNS(name.space, name.local), i; | |
return a !== b && (i = interpolate(a, b), function(t) { | |
this.setAttributeNS(name.space, name.local, i(t)); | |
}); | |
}); | |
} | |
return d3_transition_tween(this, "attr." + nameNS, value, name.local ? attrTweenNS : attrTween); | |
}; | |
d3_transitionPrototype.attrTween = function(nameNS, tween) { | |
var name = d3.ns.qualify(nameNS); | |
function attrTween(d, i) { | |
var f = tween.call(this, d, i, this.getAttribute(name)); | |
return f && function(t) { | |
this.setAttribute(name, f(t)); | |
}; | |
} | |
function attrTweenNS(d, i) { | |
var f = tween.call(this, d, i, this.getAttributeNS(name.space, name.local)); | |
return f && function(t) { | |
this.setAttributeNS(name.space, name.local, f(t)); | |
}; | |
} | |
return this.tween("attr." + nameNS, name.local ? attrTweenNS : attrTween); | |
}; | |
d3_transitionPrototype.style = function(name, value, priority) { | |
var n = arguments.length; | |
if (n < 3) { | |
if (typeof name !== "string") { | |
if (n < 2) value = ""; | |
for (priority in name) this.style(priority, name[priority], value); | |
return this; | |
} | |
priority = ""; | |
} | |
var interpolate = d3_interpolateByName(name); | |
function styleNull() { | |
this.style.removeProperty(name); | |
} | |
function styleString(b) { | |
return b == null ? styleNull : (b += "", function() { | |
var a = d3_window.getComputedStyle(this, null).getPropertyValue(name), i; | |
return a !== b && (i = interpolate(a, b), function(t) { | |
this.style.setProperty(name, i(t), priority); | |
}); | |
}); | |
} | |
return d3_transition_tween(this, "style." + name, value, styleString); | |
}; | |
d3_transitionPrototype.styleTween = function(name, tween, priority) { | |
if (arguments.length < 3) priority = ""; | |
function styleTween(d, i) { | |
var f = tween.call(this, d, i, d3_window.getComputedStyle(this, null).getPropertyValue(name)); | |
return f && function(t) { | |
this.style.setProperty(name, f(t), priority); | |
}; | |
} | |
return this.tween("style." + name, styleTween); | |
}; | |
d3_transitionPrototype.text = function(value) { | |
return d3_transition_tween(this, "text", value, d3_transition_text); | |
}; | |
function d3_transition_text(b) { | |
if (b == null) b = ""; | |
return function() { | |
this.textContent = b; | |
}; | |
} | |
d3_transitionPrototype.remove = function() { | |
return this.each("end.transition", function() { | |
var p; | |
if (!this.__transition__ && (p = this.parentNode)) p.removeChild(this); | |
}); | |
}; | |
d3_transitionPrototype.ease = function(value) { | |
var id = this.id; | |
if (arguments.length < 1) return this.node().__transition__[id].ease; | |
if (typeof value !== "function") value = d3.ease.apply(d3, arguments); | |
return d3_selection_each(this, function(node) { | |
node.__transition__[id].ease = value; | |
}); | |
}; | |
d3_transitionPrototype.delay = function(value) { | |
var id = this.id; | |
return d3_selection_each(this, typeof value === "function" ? function(node, i, j) { | |
node.__transition__[id].delay = value.call(node, node.__data__, i, j) | 0; | |
} : (value |= 0, function(node) { | |
node.__transition__[id].delay = value; | |
})); | |
}; | |
d3_transitionPrototype.duration = function(value) { | |
var id = this.id; | |
return d3_selection_each(this, typeof value === "function" ? function(node, i, j) { | |
node.__transition__[id].duration = Math.max(1, value.call(node, node.__data__, i, j) | 0); | |
} : (value = Math.max(1, value | 0), function(node) { | |
node.__transition__[id].duration = value; | |
})); | |
}; | |
d3_transitionPrototype.each = function(type, listener) { | |
var id = this.id; | |
if (arguments.length < 2) { | |
var inherit = d3_transitionInherit, inheritId = d3_transitionInheritId; | |
d3_transitionInheritId = id; | |
d3_selection_each(this, function(node, i, j) { | |
d3_transitionInherit = node.__transition__[id]; | |
type.call(node, node.__data__, i, j); | |
}); | |
d3_transitionInherit = inherit; | |
d3_transitionInheritId = inheritId; | |
} else { | |
d3_selection_each(this, function(node) { | |
node.__transition__[id].event.on(type, listener); | |
}); | |
} | |
return this; | |
}; | |
d3_transitionPrototype.transition = function() { | |
var id0 = this.id, id1 = ++d3_transitionId, subgroups = [], subgroup, group, node, transition; | |
for (var j = 0, m = this.length; j < m; j++) { | |
subgroups.push(subgroup = []); | |
for (var group = this[j], i = 0, n = group.length; i < n; i++) { | |
if (node = group[i]) { | |
transition = Object.create(node.__transition__[id0]); | |
transition.delay += transition.duration; | |
d3_transitionNode(node, i, id1, transition); | |
} | |
subgroup.push(node); | |
} | |
} | |
return d3_transition(subgroups, id1); | |
}; | |
function d3_transitionNode(node, i, id, inherit) { | |
var lock = node.__transition__ || (node.__transition__ = { | |
active: 0, | |
count: 0 | |
}), transition = lock[id]; | |
if (!transition) { | |
var time = inherit.time; | |
transition = lock[id] = { | |
tween: new d3_Map(), | |
event: d3.dispatch("start", "end"), | |
time: time, | |
ease: inherit.ease, | |
delay: inherit.delay, | |
duration: inherit.duration | |
}; | |
++lock.count; | |
d3.timer(function(elapsed) { | |
var d = node.__data__, ease = transition.ease, event = transition.event, delay = transition.delay, duration = transition.duration, tweened = []; | |
return delay <= elapsed ? start(elapsed) : d3.timer(start, delay, time), 1; | |
function start(elapsed) { | |
if (lock.active > id) return stop(); | |
lock.active = id; | |
event.start.call(node, d, i); | |
transition.tween.forEach(function(key, value) { | |
if (value = value.call(node, d, i)) { | |
tweened.push(value); | |
} | |
}); | |
if (!tick(elapsed)) d3.timer(tick, 0, time); | |
return 1; | |
} | |
function tick(elapsed) { | |
if (lock.active !== id) return stop(); | |
var t = (elapsed - delay) / duration, e = ease(t), n = tweened.length; | |
while (n > 0) { | |
tweened[--n].call(node, e); | |
} | |
if (t >= 1) { | |
stop(); | |
event.end.call(node, d, i); | |
return 1; | |
} | |
} | |
function stop() { | |
if (--lock.count) delete lock[id]; else delete node.__transition__; | |
return 1; | |
} | |
}, 0, time); | |
return transition; | |
} | |
} | |
d3.svg.axis = function() { | |
var scale = d3.scale.linear(), orient = d3_svg_axisDefaultOrient, tickMajorSize = 6, tickMinorSize = 6, tickEndSize = 6, tickPadding = 3, tickArguments_ = [ 10 ], tickValues = null, tickFormat_, tickSubdivide = 0; | |
function axis(g) { | |
g.each(function() { | |
var g = d3.select(this); | |
var ticks = tickValues == null ? scale.ticks ? scale.ticks.apply(scale, tickArguments_) : scale.domain() : tickValues, tickFormat = tickFormat_ == null ? scale.tickFormat ? scale.tickFormat.apply(scale, tickArguments_) : String : tickFormat_; | |
var subticks = d3_svg_axisSubdivide(scale, ticks, tickSubdivide), subtick = g.selectAll(".tick.minor").data(subticks, String), subtickEnter = subtick.enter().insert("line", ".tick").attr("class", "tick minor").style("opacity", 1e-6), subtickExit = d3.transition(subtick.exit()).style("opacity", 1e-6).remove(), subtickUpdate = d3.transition(subtick).style("opacity", 1); | |
var tick = g.selectAll(".tick.major").data(ticks, String), tickEnter = tick.enter().insert("g", "path").attr("class", "tick major").style("opacity", 1e-6), tickExit = d3.transition(tick.exit()).style("opacity", 1e-6).remove(), tickUpdate = d3.transition(tick).style("opacity", 1), tickTransform; | |
var range = d3_scaleRange(scale), path = g.selectAll(".domain").data([ 0 ]), pathUpdate = (path.enter().append("path").attr("class", "domain"), | |
d3.transition(path)); | |
var scale1 = scale.copy(), scale0 = this.__chart__ || scale1; | |
this.__chart__ = scale1; | |
tickEnter.append("line"); | |
tickEnter.append("text"); | |
var lineEnter = tickEnter.select("line"), lineUpdate = tickUpdate.select("line"), text = tick.select("text").text(tickFormat), textEnter = tickEnter.select("text"), textUpdate = tickUpdate.select("text"); | |
switch (orient) { | |
case "bottom": | |
{ | |
tickTransform = d3_svg_axisX; | |
subtickEnter.attr("y2", tickMinorSize); | |
subtickUpdate.attr("x2", 0).attr("y2", tickMinorSize); | |
lineEnter.attr("y2", tickMajorSize); | |
textEnter.attr("y", Math.max(tickMajorSize, 0) + tickPadding); | |
lineUpdate.attr("x2", 0).attr("y2", tickMajorSize); | |
textUpdate.attr("x", 0).attr("y", Math.max(tickMajorSize, 0) + tickPadding); | |
text.attr("dy", ".71em").style("text-anchor", "middle"); | |
pathUpdate.attr("d", "M" + range[0] + "," + tickEndSize + "V0H" + range[1] + "V" + tickEndSize); | |
break; | |
} | |
case "top": | |
{ | |
tickTransform = d3_svg_axisX; | |
subtickEnter.attr("y2", -tickMinorSize); | |
subtickUpdate.attr("x2", 0).attr("y2", -tickMinorSize); | |
lineEnter.attr("y2", -tickMajorSize); | |
textEnter.attr("y", -(Math.max(tickMajorSize, 0) + tickPadding)); | |
lineUpdate.attr("x2", 0).attr("y2", -tickMajorSize); | |
textUpdate.attr("x", 0).attr("y", -(Math.max(tickMajorSize, 0) + tickPadding)); | |
text.attr("dy", "0em").style("text-anchor", "middle"); | |
pathUpdate.attr("d", "M" + range[0] + "," + -tickEndSize + "V0H" + range[1] + "V" + -tickEndSize); | |
break; | |
} | |
case "left": | |
{ | |
tickTransform = d3_svg_axisY; | |
subtickEnter.attr("x2", -tickMinorSize); | |
subtickUpdate.attr("x2", -tickMinorSize).attr("y2", 0); | |
lineEnter.attr("x2", -tickMajorSize); | |
textEnter.attr("x", -(Math.max(tickMajorSize, 0) + tickPadding)); | |
lineUpdate.attr("x2", -tickMajorSize).attr("y2", 0); | |
textUpdate.attr("x", -(Math.max(tickMajorSize, 0) + tickPadding)).attr("y", 0); | |
text.attr("dy", ".32em").style("text-anchor", "end"); | |
pathUpdate.attr("d", "M" + -tickEndSize + "," + range[0] + "H0V" + range[1] + "H" + -tickEndSize); | |
break; | |
} | |
case "right": | |
{ | |
tickTransform = d3_svg_axisY; | |
subtickEnter.attr("x2", tickMinorSize); | |
subtickUpdate.attr("x2", tickMinorSize).attr("y2", 0); | |
lineEnter.attr("x2", tickMajorSize); | |
textEnter.attr("x", Math.max(tickMajorSize, 0) + tickPadding); | |
lineUpdate.attr("x2", tickMajorSize).attr("y2", 0); | |
textUpdate.attr("x", Math.max(tickMajorSize, 0) + tickPadding).attr("y", 0); | |
text.attr("dy", ".32em").style("text-anchor", "start"); | |
pathUpdate.attr("d", "M" + tickEndSize + "," + range[0] + "H0V" + range[1] + "H" + tickEndSize); | |
break; | |
} | |
} | |
if (scale.ticks) { | |
tickEnter.call(tickTransform, scale0); | |
tickUpdate.call(tickTransform, scale1); | |
tickExit.call(tickTransform, scale1); | |
subtickEnter.call(tickTransform, scale0); | |
subtickUpdate.call(tickTransform, scale1); | |
subtickExit.call(tickTransform, scale1); | |
} else { | |
var dx = scale1.rangeBand() / 2, x = function(d) { | |
return scale1(d) + dx; | |
}; | |
tickEnter.call(tickTransform, x); | |
tickUpdate.call(tickTransform, x); | |
} | |
}); | |
} | |
axis.scale = function(x) { | |
if (!arguments.length) return scale; | |
scale = x; | |
return axis; | |
}; | |
axis.orient = function(x) { | |
if (!arguments.length) return orient; | |
orient = x in d3_svg_axisOrients ? x + "" : d3_svg_axisDefaultOrient; | |
return axis; | |
}; | |
axis.ticks = function() { | |
if (!arguments.length) return tickArguments_; | |
tickArguments_ = arguments; | |
return axis; | |
}; | |
axis.tickValues = function(x) { | |
if (!arguments.length) return tickValues; | |
tickValues = x; | |
return axis; | |
}; | |
axis.tickFormat = function(x) { | |
if (!arguments.length) return tickFormat_; | |
tickFormat_ = x; | |
return axis; | |
}; | |
axis.tickSize = function(x, y) { | |
if (!arguments.length) return tickMajorSize; | |
var n = arguments.length - 1; | |
tickMajorSize = +x; | |
tickMinorSize = n > 1 ? +y : tickMajorSize; | |
tickEndSize = n > 0 ? +arguments[n] : tickMajorSize; | |
return axis; | |
}; | |
axis.tickPadding = function(x) { | |
if (!arguments.length) return tickPadding; | |
tickPadding = +x; | |
return axis; | |
}; | |
axis.tickSubdivide = function(x) { | |
if (!arguments.length) return tickSubdivide; | |
tickSubdivide = +x; | |
return axis; | |
}; | |
return axis; | |
}; | |
var d3_svg_axisDefaultOrient = "bottom", d3_svg_axisOrients = { | |
top: 1, | |
right: 1, | |
bottom: 1, | |
left: 1 | |
}; | |
function d3_svg_axisX(selection, x) { | |
selection.attr("transform", function(d) { | |
return "translate(" + x(d) + ",0)"; | |
}); | |
} | |
function d3_svg_axisY(selection, y) { | |
selection.attr("transform", function(d) { | |
return "translate(0," + y(d) + ")"; | |
}); | |
} | |
function d3_svg_axisSubdivide(scale, ticks, m) { | |
subticks = []; | |
if (m && ticks.length > 1) { | |
var extent = d3_scaleExtent(scale.domain()), subticks, i = -1, n = ticks.length, d = (ticks[1] - ticks[0]) / ++m, j, v; | |
while (++i < n) { | |
for (j = m; --j > 0; ) { | |
if ((v = +ticks[i] - j * d) >= extent[0]) { | |
subticks.push(v); | |
} | |
} | |
} | |
for (--i, j = 0; ++j < m && (v = +ticks[i] + j * d) < extent[1]; ) { | |
subticks.push(v); | |
} | |
} | |
return subticks; | |
} | |
d3.svg.brush = function() { | |
var event = d3_eventDispatch(brush, "brushstart", "brush", "brushend"), x = null, y = null, resizes = d3_svg_brushResizes[0], extent = [ [ 0, 0 ], [ 0, 0 ] ], extentDomain; | |
function brush(g) { | |
g.each(function() { | |
var g = d3.select(this), bg = g.selectAll(".background").data([ 0 ]), fg = g.selectAll(".extent").data([ 0 ]), tz = g.selectAll(".resize").data(resizes, String), e; | |
g.style("pointer-events", "all").on("mousedown.brush", brushstart).on("touchstart.brush", brushstart); | |
bg.enter().append("rect").attr("class", "background").style("visibility", "hidden").style("cursor", "crosshair"); | |
fg.enter().append("rect").attr("class", "extent").style("cursor", "move"); | |
tz.enter().append("g").attr("class", function(d) { | |
return "resize " + d; | |
}).style("cursor", function(d) { | |
return d3_svg_brushCursor[d]; | |
}).append("rect").attr("x", function(d) { | |
return /[ew]$/.test(d) ? -3 : null; | |
}).attr("y", function(d) { | |
return /^[ns]/.test(d) ? -3 : null; | |
}).attr("width", 6).attr("height", 6).style("visibility", "hidden"); | |
tz.style("display", brush.empty() ? "none" : null); | |
tz.exit().remove(); | |
if (x) { | |
e = d3_scaleRange(x); | |
bg.attr("x", e[0]).attr("width", e[1] - e[0]); | |
redrawX(g); | |
} | |
if (y) { | |
e = d3_scaleRange(y); | |
bg.attr("y", e[0]).attr("height", e[1] - e[0]); | |
redrawY(g); | |
} | |
redraw(g); | |
}); | |
} | |
function redraw(g) { | |
g.selectAll(".resize").attr("transform", function(d) { | |
return "translate(" + extent[+/e$/.test(d)][0] + "," + extent[+/^s/.test(d)][1] + ")"; | |
}); | |
} | |
function redrawX(g) { | |
g.select(".extent").attr("x", extent[0][0]); | |
g.selectAll(".extent,.n>rect,.s>rect").attr("width", extent[1][0] - extent[0][0]); | |
} | |
function redrawY(g) { | |
g.select(".extent").attr("y", extent[0][1]); | |
g.selectAll(".extent,.e>rect,.w>rect").attr("height", extent[1][1] - extent[0][1]); | |
} | |
function brushstart() { | |
var target = this, eventTarget = d3.select(d3.event.target), event_ = event.of(target, arguments), g = d3.select(target), resizing = eventTarget.datum(), resizingX = !/^(n|s)$/.test(resizing) && x, resizingY = !/^(e|w)$/.test(resizing) && y, dragging = eventTarget.classed("extent"), center, origin = mouse(), offset; | |
var w = d3.select(d3_window).on("mousemove.brush", brushmove).on("mouseup.brush", brushend).on("touchmove.brush", brushmove).on("touchend.brush", brushend).on("keydown.brush", keydown).on("keyup.brush", keyup); | |
if (dragging) { | |
origin[0] = extent[0][0] - origin[0]; | |
origin[1] = extent[0][1] - origin[1]; | |
} else if (resizing) { | |
var ex = +/w$/.test(resizing), ey = +/^n/.test(resizing); | |
offset = [ extent[1 - ex][0] - origin[0], extent[1 - ey][1] - origin[1] ]; | |
origin[0] = extent[ex][0]; | |
origin[1] = extent[ey][1]; | |
} else if (d3.event.altKey) center = origin.slice(); | |
g.style("pointer-events", "none").selectAll(".resize").style("display", null); | |
d3.select("body").style("cursor", eventTarget.style("cursor")); | |
event_({ | |
type: "brushstart" | |
}); | |
brushmove(); | |
d3_eventCancel(); | |
function mouse() { | |
var touches = d3.event.changedTouches; | |
return touches ? d3.touches(target, touches)[0] : d3.mouse(target); | |
} | |
function keydown() { | |
if (d3.event.keyCode == 32) { | |
if (!dragging) { | |
center = null; | |
origin[0] -= extent[1][0]; | |
origin[1] -= extent[1][1]; | |
dragging = 2; | |
} | |
d3_eventCancel(); | |
} | |
} | |
function keyup() { | |
if (d3.event.keyCode == 32 && dragging == 2) { | |
origin[0] += extent[1][0]; | |
origin[1] += extent[1][1]; | |
dragging = 0; | |
d3_eventCancel(); | |
} | |
} | |
function brushmove() { | |
var point = mouse(), moved = false; | |
if (offset) { | |
point[0] += offset[0]; | |
point[1] += offset[1]; | |
} | |
if (!dragging) { | |
if (d3.event.altKey) { | |
if (!center) center = [ (extent[0][0] + extent[1][0]) / 2, (extent[0][1] + extent[1][1]) / 2 ]; | |
origin[0] = extent[+(point[0] < center[0])][0]; | |
origin[1] = extent[+(point[1] < center[1])][1]; | |
} else center = null; | |
} | |
if (resizingX && move1(point, x, 0)) { | |
redrawX(g); | |
moved = true; | |
} | |
if (resizingY && move1(point, y, 1)) { | |
redrawY(g); | |
moved = true; | |
} | |
if (moved) { | |
redraw(g); | |
event_({ | |
type: "brush", | |
mode: dragging ? "move" : "resize" | |
}); | |
} | |
} | |
function move1(point, scale, i) { | |
var range = d3_scaleRange(scale), r0 = range[0], r1 = range[1], position = origin[i], size = extent[1][i] - extent[0][i], min, max; | |
if (dragging) { | |
r0 -= position; | |
r1 -= size + position; | |
} | |
min = Math.max(r0, Math.min(r1, point[i])); | |
if (dragging) { | |
max = (min += position) + size; | |
} else { | |
if (center) position = Math.max(r0, Math.min(r1, 2 * center[i] - min)); | |
if (position < min) { | |
max = min; | |
min = position; | |
} else { | |
max = position; | |
} | |
} | |
if (extent[0][i] !== min || extent[1][i] !== max) { | |
extentDomain = null; | |
extent[0][i] = min; | |
extent[1][i] = max; | |
return true; | |
} | |
} | |
function brushend() { | |
brushmove(); | |
g.style("pointer-events", "all").selectAll(".resize").style("display", brush.empty() ? "none" : null); | |
d3.select("body").style("cursor", null); | |
w.on("mousemove.brush", null).on("mouseup.brush", null).on("touchmove.brush", null).on("touchend.brush", null).on("keydown.brush", null).on("keyup.brush", null); | |
event_({ | |
type: "brushend" | |
}); | |
d3_eventCancel(); | |
} | |
} | |
brush.x = function(z) { | |
if (!arguments.length) return x; | |
x = z; | |
resizes = d3_svg_brushResizes[!x << 1 | !y]; | |
return brush; | |
}; | |
brush.y = function(z) { | |
if (!arguments.length) return y; | |
y = z; | |
resizes = d3_svg_brushResizes[!x << 1 | !y]; | |
return brush; | |
}; | |
brush.extent = function(z) { | |
var x0, x1, y0, y1, t; | |
if (!arguments.length) { | |
z = extentDomain || extent; | |
if (x) { | |
x0 = z[0][0], x1 = z[1][0]; | |
if (!extentDomain) { | |
x0 = extent[0][0], x1 = extent[1][0]; | |
if (x.invert) x0 = x.invert(x0), x1 = x.invert(x1); | |
if (x1 < x0) t = x0, x0 = x1, x1 = t; | |
} | |
} | |
if (y) { | |
y0 = z[0][1], y1 = z[1][1]; | |
if (!extentDomain) { | |
y0 = extent[0][1], y1 = extent[1][1]; | |
if (y.invert) y0 = y.invert(y0), y1 = y.invert(y1); | |
if (y1 < y0) t = y0, y0 = y1, y1 = t; | |
} | |
} | |
return x && y ? [ [ x0, y0 ], [ x1, y1 ] ] : x ? [ x0, x1 ] : y && [ y0, y1 ]; | |
} | |
extentDomain = [ [ 0, 0 ], [ 0, 0 ] ]; | |
if (x) { | |
x0 = z[0], x1 = z[1]; | |
if (y) x0 = x0[0], x1 = x1[0]; | |
extentDomain[0][0] = x0, extentDomain[1][0] = x1; | |
if (x.invert) x0 = x(x0), x1 = x(x1); | |
if (x1 < x0) t = x0, x0 = x1, x1 = t; | |
extent[0][0] = x0 | 0, extent[1][0] = x1 | 0; | |
} | |
if (y) { | |
y0 = z[0], y1 = z[1]; | |
if (x) y0 = y0[1], y1 = y1[1]; | |
extentDomain[0][1] = y0, extentDomain[1][1] = y1; | |
if (y.invert) y0 = y(y0), y1 = y(y1); | |
if (y1 < y0) t = y0, y0 = y1, y1 = t; | |
extent[0][1] = y0 | 0, extent[1][1] = y1 | 0; | |
} | |
return brush; | |
}; | |
brush.clear = function() { | |
extentDomain = null; | |
extent[0][0] = extent[0][1] = extent[1][0] = extent[1][1] = 0; | |
return brush; | |
}; | |
brush.empty = function() { | |
return x && extent[0][0] === extent[1][0] || y && extent[0][1] === extent[1][1]; | |
}; | |
return d3.rebind(brush, event, "on"); | |
}; | |
var d3_svg_brushCursor = { | |
n: "ns-resize", | |
e: "ew-resize", | |
s: "ns-resize", | |
w: "ew-resize", | |
nw: "nwse-resize", | |
ne: "nesw-resize", | |
se: "nwse-resize", | |
sw: "nesw-resize" | |
}; | |
var d3_svg_brushResizes = [ [ "n", "e", "s", "w", "nw", "ne", "se", "sw" ], [ "e", "w" ], [ "n", "s" ], [] ]; | |
d3.time = {}; | |
var d3_time = Date, d3_time_daySymbols = [ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" ]; | |
function d3_time_utc() { | |
this._ = new Date(arguments.length > 1 ? Date.UTC.apply(this, arguments) : arguments[0]); | |
} | |
d3_time_utc.prototype = { | |
getDate: function() { | |
return this._.getUTCDate(); | |
}, | |
getDay: function() { | |
return this._.getUTCDay(); | |
}, | |
getFullYear: function() { | |
return this._.getUTCFullYear(); | |
}, | |
getHours: function() { | |
return this._.getUTCHours(); | |
}, | |
getMilliseconds: function() { | |
return this._.getUTCMilliseconds(); | |
}, | |
getMinutes: function() { | |
return this._.getUTCMinutes(); | |
}, | |
getMonth: function() { | |
return this._.getUTCMonth(); | |
}, | |
getSeconds: function() { | |
return this._.getUTCSeconds(); | |
}, | |
getTime: function() { | |
return this._.getTime(); | |
}, | |
getTimezoneOffset: function() { | |
return 0; | |
}, | |
valueOf: function() { | |
return this._.valueOf(); | |
}, | |
setDate: function() { | |
d3_time_prototype.setUTCDate.apply(this._, arguments); | |
}, | |
setDay: function() { | |
d3_time_prototype.setUTCDay.apply(this._, arguments); | |
}, | |
setFullYear: function() { | |
d3_time_prototype.setUTCFullYear.apply(this._, arguments); | |
}, | |
setHours: function() { | |
d3_time_prototype.setUTCHours.apply(this._, arguments); | |
}, | |
setMilliseconds: function() { | |
d3_time_prototype.setUTCMilliseconds.apply(this._, arguments); | |
}, | |
setMinutes: function() { | |
d3_time_prototype.setUTCMinutes.apply(this._, arguments); | |
}, | |
setMonth: function() { | |
d3_time_prototype.setUTCMonth.apply(this._, arguments); | |
}, | |
setSeconds: function() { | |
d3_time_prototype.setUTCSeconds.apply(this._, arguments); | |
}, | |
setTime: function() { | |
d3_time_prototype.setTime.apply(this._, arguments); | |
} | |
}; | |
var d3_time_prototype = Date.prototype; | |
var d3_time_formatDateTime = "%a %b %e %X %Y", d3_time_formatDate = "%m/%d/%Y", d3_time_formatTime = "%H:%M:%S"; | |
var d3_time_days = [ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" ], d3_time_dayAbbreviations = [ "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" ], d3_time_months = [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ], d3_time_monthAbbreviations = [ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" ]; | |
function d3_time_interval(local, step, number) { | |
function round(date) { | |
var d0 = local(date), d1 = offset(d0, 1); | |
return date - d0 < d1 - date ? d0 : d1; | |
} | |
function ceil(date) { | |
step(date = local(new d3_time(date - 1)), 1); | |
return date; | |
} | |
function offset(date, k) { | |
step(date = new d3_time(+date), k); | |
return date; | |
} | |
function range(t0, t1, dt) { | |
var time = ceil(t0), times = []; | |
if (dt > 1) { | |
while (time < t1) { | |
if (!(number(time) % dt)) times.push(new Date(+time)); | |
step(time, 1); | |
} | |
} else { | |
while (time < t1) times.push(new Date(+time)), step(time, 1); | |
} | |
return times; | |
} | |
function range_utc(t0, t1, dt) { | |
try { | |
d3_time = d3_time_utc; | |
var utc = new d3_time_utc(); | |
utc._ = t0; | |
return range(utc, t1, dt); | |
} finally { | |
d3_time = Date; | |
} | |
} | |
local.floor = local; | |
local.round = round; | |
local.ceil = ceil; | |
local.offset = offset; | |
local.range = range; | |
var utc = local.utc = d3_time_interval_utc(local); | |
utc.floor = utc; | |
utc.round = d3_time_interval_utc(round); | |
utc.ceil = d3_time_interval_utc(ceil); | |
utc.offset = d3_time_interval_utc(offset); | |
utc.range = range_utc; | |
return local; | |
} | |
function d3_time_interval_utc(method) { | |
return function(date, k) { | |
try { | |
d3_time = d3_time_utc; | |
var utc = new d3_time_utc(); | |
utc._ = date; | |
return method(utc, k)._; | |
} finally { | |
d3_time = Date; | |
} | |
}; | |
} | |
d3.time.year = d3_time_interval(function(date) { | |
date = d3.time.day(date); | |
date.setMonth(0, 1); | |
return date; | |
}, function(date, offset) { | |
date.setFullYear(date.getFullYear() + offset); | |
}, function(date) { | |
return date.getFullYear(); | |
}); | |
d3.time.years = d3.time.year.range; | |
d3.time.years.utc = d3.time.year.utc.range; | |
d3.time.day = d3_time_interval(function(date) { | |
var day = new d3_time(1970, 0); | |
day.setFullYear(date.getFullYear(), date.getMonth(), date.getDate()); | |
return day; | |
}, function(date, offset) { | |
date.setDate(date.getDate() + offset); | |
}, function(date) { | |
return date.getDate() - 1; | |
}); | |
d3.time.days = d3.time.day.range; | |
d3.time.days.utc = d3.time.day.utc.range; | |
d3.time.dayOfYear = function(date) { | |
var year = d3.time.year(date); | |
return Math.floor((date - year - (date.getTimezoneOffset() - year.getTimezoneOffset()) * 6e4) / 864e5); | |
}; | |
d3_time_daySymbols.forEach(function(day, i) { | |
day = day.toLowerCase(); | |
i = 7 - i; | |
var interval = d3.time[day] = d3_time_interval(function(date) { | |
(date = d3.time.day(date)).setDate(date.getDate() - (date.getDay() + i) % 7); | |
return date; | |
}, function(date, offset) { | |
date.setDate(date.getDate() + Math.floor(offset) * 7); | |
}, function(date) { | |
var day = d3.time.year(date).getDay(); | |
return Math.floor((d3.time.dayOfYear(date) + (day + i) % 7) / 7) - (day !== i); | |
}); | |
d3.time[day + "s"] = interval.range; | |
d3.time[day + "s"].utc = interval.utc.range; | |
d3.time[day + "OfYear"] = function(date) { | |
var day = d3.time.year(date).getDay(); | |
return Math.floor((d3.time.dayOfYear(date) + (day + i) % 7) / 7); | |
}; | |
}); | |
d3.time.week = d3.time.sunday; | |
d3.time.weeks = d3.time.sunday.range; | |
d3.time.weeks.utc = d3.time.sunday.utc.range; | |
d3.time.weekOfYear = d3.time.sundayOfYear; | |
d3.time.format = function(template) { | |
var n = template.length; | |
function format(date) { | |
var string = [], i = -1, j = 0, c, p, f; | |
while (++i < n) { | |
if (template.charCodeAt(i) === 37) { | |
string.push(template.substring(j, i)); | |
if ((p = d3_time_formatPads[c = template.charAt(++i)]) != null) c = template.charAt(++i); | |
if (f = d3_time_formats[c]) c = f(date, p == null ? c === "e" ? " " : "0" : p); | |
string.push(c); | |
j = i + 1; | |
} | |
} | |
string.push(template.substring(j, i)); | |
return string.join(""); | |
} | |
format.parse = function(string) { | |
var d = { | |
y: 1900, | |
m: 0, | |
d: 1, | |
H: 0, | |
M: 0, | |
S: 0, | |
L: 0 | |
}, i = d3_time_parse(d, template, string, 0); | |
if (i != string.length) return null; | |
if ("p" in d) d.H = d.H % 12 + d.p * 12; | |
var date = new d3_time(); | |
date.setFullYear(d.y, d.m, d.d); | |
date.setHours(d.H, d.M, d.S, d.L); | |
return date; | |
}; | |
format.toString = function() { | |
return template; | |
}; | |
return format; | |
}; | |
function d3_time_parse(date, template, string, j) { | |
var c, p, i = 0, n = template.length, m = string.length; | |
while (i < n) { | |
if (j >= m) return -1; | |
c = template.charCodeAt(i++); | |
if (c === 37) { | |
p = d3_time_parsers[template.charAt(i++)]; | |
if (!p || (j = p(date, string, j)) < 0) return -1; | |
} else if (c != string.charCodeAt(j++)) { | |
return -1; | |
} | |
} | |
return j; | |
} | |
function d3_time_formatRe(names) { | |
return new RegExp("^(?:" + names.map(d3.requote).join("|") + ")", "i"); | |
} | |
function d3_time_formatLookup(names) { | |
var map = new d3_Map(), i = -1, n = names.length; | |
while (++i < n) map.set(names[i].toLowerCase(), i); | |
return map; | |
} | |
function d3_time_formatPad(value, fill, width) { | |
value += ""; | |
var length = value.length; | |
return length < width ? new Array(width - length + 1).join(fill) + value : value; | |
} | |
var d3_time_dayRe = d3_time_formatRe(d3_time_days), d3_time_dayAbbrevRe = d3_time_formatRe(d3_time_dayAbbreviations), d3_time_monthRe = d3_time_formatRe(d3_time_months), d3_time_monthLookup = d3_time_formatLookup(d3_time_months), d3_time_monthAbbrevRe = d3_time_formatRe(d3_time_monthAbbreviations), d3_time_monthAbbrevLookup = d3_time_formatLookup(d3_time_monthAbbreviations); | |
var d3_time_formatPads = { | |
"-": "", | |
_: " ", | |
"0": "0" | |
}; | |
var d3_time_formats = { | |
a: function(d) { | |
return d3_time_dayAbbreviations[d.getDay()]; | |
}, | |
A: function(d) { | |
return d3_time_days[d.getDay()]; | |
}, | |
b: function(d) { | |
return d3_time_monthAbbreviations[d.getMonth()]; | |
}, | |
B: function(d) { | |
return d3_time_months[d.getMonth()]; | |
}, | |
c: d3.time.format(d3_time_formatDateTime), | |
d: function(d, p) { | |
return d3_time_formatPad(d.getDate(), p, 2); | |
}, | |
e: function(d, p) { | |
return d3_time_formatPad(d.getDate(), p, 2); | |
}, | |
H: function(d, p) { | |
return d3_time_formatPad(d.getHours(), p, 2); | |
}, | |
I: function(d, p) { | |
return d3_time_formatPad(d.getHours() % 12 || 12, p, 2); | |
}, | |
j: function(d, p) { | |
return d3_time_formatPad(1 + d3.time.dayOfYear(d), p, 3); | |
}, | |
L: function(d, p) { | |
return d3_time_formatPad(d.getMilliseconds(), p, 3); | |
}, | |
m: function(d, p) { | |
return d3_time_formatPad(d.getMonth() + 1, p, 2); | |
}, | |
M: function(d, p) { | |
return d3_time_formatPad(d.getMinutes(), p, 2); | |
}, | |
p: function(d) { | |
return d.getHours() >= 12 ? "PM" : "AM"; | |
}, | |
S: function(d, p) { | |
return d3_time_formatPad(d.getSeconds(), p, 2); | |
}, | |
U: function(d, p) { | |
return d3_time_formatPad(d3.time.sundayOfYear(d), p, 2); | |
}, | |
w: function(d) { | |
return d.getDay(); | |
}, | |
W: function(d, p) { | |
return d3_time_formatPad(d3.time.mondayOfYear(d), p, 2); | |
}, | |
x: d3.time.format(d3_time_formatDate), | |
X: d3.time.format(d3_time_formatTime), | |
y: function(d, p) { | |
return d3_time_formatPad(d.getFullYear() % 100, p, 2); | |
}, | |
Y: function(d, p) { | |
return d3_time_formatPad(d.getFullYear() % 1e4, p, 4); | |
}, | |
Z: d3_time_zone, | |
"%": function() { | |
return "%"; | |
} | |
}; | |
var d3_time_parsers = { | |
a: d3_time_parseWeekdayAbbrev, | |
A: d3_time_parseWeekday, | |
b: d3_time_parseMonthAbbrev, | |
B: d3_time_parseMonth, | |
c: d3_time_parseLocaleFull, | |
d: d3_time_parseDay, | |
e: d3_time_parseDay, | |
H: d3_time_parseHour24, | |
I: d3_time_parseHour24, | |
L: d3_time_parseMilliseconds, | |
m: d3_time_parseMonthNumber, | |
M: d3_time_parseMinutes, | |
p: d3_time_parseAmPm, | |
S: d3_time_parseSeconds, | |
x: d3_time_parseLocaleDate, | |
X: d3_time_parseLocaleTime, | |
y: d3_time_parseYear, | |
Y: d3_time_parseFullYear | |
}; | |
function d3_time_parseWeekdayAbbrev(date, string, i) { | |
d3_time_dayAbbrevRe.lastIndex = 0; | |
var n = d3_time_dayAbbrevRe.exec(string.substring(i)); | |
return n ? i += n[0].length : -1; | |
} | |
function d3_time_parseWeekday(date, string, i) { | |
d3_time_dayRe.lastIndex = 0; | |
var n = d3_time_dayRe.exec(string.substring(i)); | |
return n ? i += n[0].length : -1; | |
} | |
function d3_time_parseMonthAbbrev(date, string, i) { | |
d3_time_monthAbbrevRe.lastIndex = 0; | |
var n = d3_time_monthAbbrevRe.exec(string.substring(i)); | |
return n ? (date.m = d3_time_monthAbbrevLookup.get(n[0].toLowerCase()), i += n[0].length) : -1; | |
} | |
function d3_time_parseMonth(date, string, i) { | |
d3_time_monthRe.lastIndex = 0; | |
var n = d3_time_monthRe.exec(string.substring(i)); | |
return n ? (date.m = d3_time_monthLookup.get(n[0].toLowerCase()), i += n[0].length) : -1; | |
} | |
function d3_time_parseLocaleFull(date, string, i) { | |
return d3_time_parse(date, d3_time_formats.c.toString(), string, i); | |
} | |
function d3_time_parseLocaleDate(date, string, i) { | |
return d3_time_parse(date, d3_time_formats.x.toString(), string, i); | |
} | |
function d3_time_parseLocaleTime(date, string, i) { | |
return d3_time_parse(date, d3_time_formats.X.toString(), string, i); | |
} | |
function d3_time_parseFullYear(date, string, i) { | |
d3_time_numberRe.lastIndex = 0; | |
var n = d3_time_numberRe.exec(string.substring(i, i + 4)); | |
return n ? (date.y = +n[0], i += n[0].length) : -1; | |
} | |
function d3_time_parseYear(date, string, i) { | |
d3_time_numberRe.lastIndex = 0; | |
var n = d3_time_numberRe.exec(string.substring(i, i + 2)); | |
return n ? (date.y = d3_time_expandYear(+n[0]), i += n[0].length) : -1; | |
} | |
function d3_time_expandYear(d) { | |
return d + (d > 68 ? 1900 : 2e3); | |
} | |
function d3_time_parseMonthNumber(date, string, i) { | |
d3_time_numberRe.lastIndex = 0; | |
var n = d3_time_numberRe.exec(string.substring(i, i + 2)); | |
return n ? (date.m = n[0] - 1, i += n[0].length) : -1; | |
} | |
function d3_time_parseDay(date, string, i) { | |
d3_time_numberRe.lastIndex = 0; | |
var n = d3_time_numberRe.exec(string.substring(i, i + 2)); | |
return n ? (date.d = +n[0], i += n[0].length) : -1; | |
} | |
function d3_time_parseHour24(date, string, i) { | |
d3_time_numberRe.lastIndex = 0; | |
var n = d3_time_numberRe.exec(string.substring(i, i + 2)); | |
return n ? (date.H = +n[0], i += n[0].length) : -1; | |
} | |
function d3_time_parseMinutes(date, string, i) { | |
d3_time_numberRe.lastIndex = 0; | |
var n = d3_time_numberRe.exec(string.substring(i, i + 2)); | |
return n ? (date.M = +n[0], i += n[0].length) : -1; | |
} | |
function d3_time_parseSeconds(date, string, i) { | |
d3_time_numberRe.lastIndex = 0; | |
var n = d3_time_numberRe.exec(string.substring(i, i + 2)); | |
return n ? (date.S = +n[0], i += n[0].length) : -1; | |
} | |
function d3_time_parseMilliseconds(date, string, i) { | |
d3_time_numberRe.lastIndex = 0; | |
var n = d3_time_numberRe.exec(string.substring(i, i + 3)); | |
return n ? (date.L = +n[0], i += n[0].length) : -1; | |
} | |
var d3_time_numberRe = /^\s*\d+/; | |
function d3_time_parseAmPm(date, string, i) { | |
var n = d3_time_amPmLookup.get(string.substring(i, i += 2).toLowerCase()); | |
return n == null ? -1 : (date.p = n, i); | |
} | |
var d3_time_amPmLookup = d3.map({ | |
am: 0, | |
pm: 1 | |
}); | |
function d3_time_zone(d) { | |
var z = d.getTimezoneOffset(), zs = z > 0 ? "-" : "+", zh = ~~(Math.abs(z) / 60), zm = Math.abs(z) % 60; | |
return zs + d3_time_formatPad(zh, "0", 2) + d3_time_formatPad(zm, "0", 2); | |
} | |
d3.time.format.utc = function(template) { | |
var local = d3.time.format(template); | |
function format(date) { | |
try { | |
d3_time = d3_time_utc; | |
var utc = new d3_time(); | |
utc._ = date; | |
return local(utc); | |
} finally { | |
d3_time = Date; | |
} | |
} | |
format.parse = function(string) { | |
try { | |
d3_time = d3_time_utc; | |
var date = local.parse(string); | |
return date && date._; | |
} finally { | |
d3_time = Date; | |
} | |
}; | |
format.toString = local.toString; | |
return format; | |
}; | |
var d3_time_formatIso = d3.time.format.utc("%Y-%m-%dT%H:%M:%S.%LZ"); | |
d3.time.format.iso = Date.prototype.toISOString && +new Date("2000-01-01T00:00:00.000Z") ? d3_time_formatIsoNative : d3_time_formatIso; | |
function d3_time_formatIsoNative(date) { | |
return date.toISOString(); | |
} | |
d3_time_formatIsoNative.parse = function(string) { | |
var date = new Date(string); | |
return isNaN(date) ? null : date; | |
}; | |
d3_time_formatIsoNative.toString = d3_time_formatIso.toString; | |
d3.time.second = d3_time_interval(function(date) { | |
return new d3_time(Math.floor(date / 1e3) * 1e3); | |
}, function(date, offset) { | |
date.setTime(date.getTime() + Math.floor(offset) * 1e3); | |
}, function(date) { | |
return date.getSeconds(); | |
}); | |
d3.time.seconds = d3.time.second.range; | |
d3.time.seconds.utc = d3.time.second.utc.range; | |
d3.time.minute = d3_time_interval(function(date) { | |
return new d3_time(Math.floor(date / 6e4) * 6e4); | |
}, function(date, offset) { | |
date.setTime(date.getTime() + Math.floor(offset) * 6e4); | |
}, function(date) { | |
return date.getMinutes(); | |
}); | |
d3.time.minutes = d3.time.minute.range; | |
d3.time.minutes.utc = d3.time.minute.utc.range; | |
d3.time.hour = d3_time_interval(function(date) { | |
var timezone = date.getTimezoneOffset() / 60; | |
return new d3_time((Math.floor(date / 36e5 - timezone) + timezone) * 36e5); | |
}, function(date, offset) { | |
date.setTime(date.getTime() + Math.floor(offset) * 36e5); | |
}, function(date) { | |
return date.getHours(); | |
}); | |
d3.time.hours = d3.time.hour.range; | |
d3.time.hours.utc = d3.time.hour.utc.range; | |
d3.time.month = d3_time_interval(function(date) { | |
date = d3.time.day(date); | |
date.setDate(1); | |
return date; | |
}, function(date, offset) { | |
date.setMonth(date.getMonth() + offset); | |
}, function(date) { | |
return date.getMonth(); | |
}); | |
d3.time.months = d3.time.month.range; | |
d3.time.months.utc = d3.time.month.utc.range; | |
function d3_time_scale(linear, methods, format) { | |
function scale(x) { | |
return linear(x); | |
} | |
scale.invert = function(x) { | |
return d3_time_scaleDate(linear.invert(x)); | |
}; | |
scale.domain = function(x) { | |
if (!arguments.length) return linear.domain().map(d3_time_scaleDate); | |
linear.domain(x); | |
return scale; | |
}; | |
scale.nice = function(m) { | |
return scale.domain(d3_scale_nice(scale.domain(), function() { | |
return m; | |
})); | |
}; | |
scale.ticks = function(m, k) { | |
var extent = d3_scaleExtent(scale.domain()); | |
if (typeof m !== "function") { | |
var span = extent[1] - extent[0], target = span / m, i = d3.bisect(d3_time_scaleSteps, target); | |
if (i == d3_time_scaleSteps.length) return methods.year(extent, m); | |
if (!i) return linear.ticks(m).map(d3_time_scaleDate); | |
if (Math.log(target / d3_time_scaleSteps[i - 1]) < Math.log(d3_time_scaleSteps[i] / target)) --i; | |
m = methods[i]; | |
k = m[1]; | |
m = m[0].range; | |
} | |
return m(extent[0], new Date(+extent[1] + 1), k); | |
}; | |
scale.tickFormat = function() { | |
return format; | |
}; | |
scale.copy = function() { | |
return d3_time_scale(linear.copy(), methods, format); | |
}; | |
return d3_scale_linearRebind(scale, linear); | |
} | |
function d3_time_scaleDate(t) { | |
return new Date(t); | |
} | |
function d3_time_scaleFormat(formats) { | |
return function(date) { | |
var i = formats.length - 1, f = formats[i]; | |
while (!f[1](date)) f = formats[--i]; | |
return f[0](date); | |
}; | |
} | |
function d3_time_scaleSetYear(y) { | |
var d = new Date(y, 0, 1); | |
d.setFullYear(y); | |
return d; | |
} | |
function d3_time_scaleGetYear(d) { | |
var y = d.getFullYear(), d0 = d3_time_scaleSetYear(y), d1 = d3_time_scaleSetYear(y + 1); | |
return y + (d - d0) / (d1 - d0); | |
} | |
var d3_time_scaleSteps = [ 1e3, 5e3, 15e3, 3e4, 6e4, 3e5, 9e5, 18e5, 36e5, 108e5, 216e5, 432e5, 864e5, 1728e5, 6048e5, 2592e6, 7776e6, 31536e6 ]; | |
var d3_time_scaleLocalMethods = [ [ d3.time.second, 1 ], [ d3.time.second, 5 ], [ d3.time.second, 15 ], [ d3.time.second, 30 ], [ d3.time.minute, 1 ], [ d3.time.minute, 5 ], [ d3.time.minute, 15 ], [ d3.time.minute, 30 ], [ d3.time.hour, 1 ], [ d3.time.hour, 3 ], [ d3.time.hour, 6 ], [ d3.time.hour, 12 ], [ d3.time.day, 1 ], [ d3.time.day, 2 ], [ d3.time.week, 1 ], [ d3.time.month, 1 ], [ d3.time.month, 3 ], [ d3.time.year, 1 ] ]; | |
var d3_time_scaleLocalFormats = [ [ d3.time.format("%Y"), d3_true ], [ d3.time.format("%B"), function(d) { | |
return d.getMonth(); | |
} ], [ d3.time.format("%b %d"), function(d) { | |
return d.getDate() != 1; | |
} ], [ d3.time.format("%a %d"), function(d) { | |
return d.getDay() && d.getDate() != 1; | |
} ], [ d3.time.format("%I %p"), function(d) { | |
return d.getHours(); | |
} ], [ d3.time.format("%I:%M"), function(d) { | |
return d.getMinutes(); | |
} ], [ d3.time.format(":%S"), function(d) { | |
return d.getSeconds(); | |
} ], [ d3.time.format(".%L"), function(d) { | |
return d.getMilliseconds(); | |
} ] ]; | |
var d3_time_scaleLinear = d3.scale.linear(), d3_time_scaleLocalFormat = d3_time_scaleFormat(d3_time_scaleLocalFormats); | |
d3_time_scaleLocalMethods.year = function(extent, m) { | |
return d3_time_scaleLinear.domain(extent.map(d3_time_scaleGetYear)).ticks(m).map(d3_time_scaleSetYear); | |
}; | |
d3.time.scale = function() { | |
return d3_time_scale(d3.scale.linear(), d3_time_scaleLocalMethods, d3_time_scaleLocalFormat); | |
}; | |
var d3_time_scaleUTCMethods = d3_time_scaleLocalMethods.map(function(m) { | |
return [ m[0].utc, m[1] ]; | |
}); | |
var d3_time_scaleUTCFormats = [ [ d3.time.format.utc("%Y"), d3_true ], [ d3.time.format.utc("%B"), function(d) { | |
return d.getUTCMonth(); | |
} ], [ d3.time.format.utc("%b %d"), function(d) { | |
return d.getUTCDate() != 1; | |
} ], [ d3.time.format.utc("%a %d"), function(d) { | |
return d.getUTCDay() && d.getUTCDate() != 1; | |
} ], [ d3.time.format.utc("%I %p"), function(d) { | |
return d.getUTCHours(); | |
} ], [ d3.time.format.utc("%I:%M"), function(d) { | |
return d.getUTCMinutes(); | |
} ], [ d3.time.format.utc(":%S"), function(d) { | |
return d.getUTCSeconds(); | |
} ], [ d3.time.format.utc(".%L"), function(d) { | |
return d.getUTCMilliseconds(); | |
} ] ]; | |
var d3_time_scaleUTCFormat = d3_time_scaleFormat(d3_time_scaleUTCFormats); | |
function d3_time_scaleUTCSetYear(y) { | |
var d = new Date(Date.UTC(y, 0, 1)); | |
d.setUTCFullYear(y); | |
return d; | |
} | |
function d3_time_scaleUTCGetYear(d) { | |
var y = d.getUTCFullYear(), d0 = d3_time_scaleUTCSetYear(y), d1 = d3_time_scaleUTCSetYear(y + 1); | |
return y + (d - d0) / (d1 - d0); | |
} | |
d3_time_scaleUTCMethods.year = function(extent, m) { | |
return d3_time_scaleLinear.domain(extent.map(d3_time_scaleUTCGetYear)).ticks(m).map(d3_time_scaleUTCSetYear); | |
}; | |
d3.time.scale.utc = function() { | |
return d3_time_scale(d3.scale.linear(), d3_time_scaleUTCMethods, d3_time_scaleUTCFormat); | |
}; | |
d3.text = function() { | |
return d3.xhr.apply(d3, arguments).response(d3_text); | |
}; | |
function d3_text(request) { | |
return request.responseText; | |
} | |
d3.json = function(url, callback) { | |
return d3.xhr(url, "application/json", callback).response(d3_json); | |
}; | |
function d3_json(request) { | |
return JSON.parse(request.responseText); | |
} | |
d3.html = function(url, callback) { | |
return d3.xhr(url, "text/html", callback).response(d3_html); | |
}; | |
function d3_html(request) { | |
var range = d3_document.createRange(); | |
range.selectNode(d3_document.body); | |
return range.createContextualFragment(request.responseText); | |
} | |
d3.xml = function() { | |
return d3.xhr.apply(d3, arguments).response(d3_xml); | |
}; | |
function d3_xml(request) { | |
return request.responseXML; | |
} | |
return d3; | |
}(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<meta charset="utf-8"> | |
<title>Flattened Icosahedron World</title> | |
<style> | |
@import url(maps.css); | |
body { | |
background: #fff; | |
} | |
#map { | |
width: 960px; | |
height: 400px; | |
margin: 0 auto; | |
position: relative; | |
top: 40px; | |
} | |
#heading { | |
position: absolute; | |
top: -15px; | |
right: -40px; | |
width: 420px; | |
} | |
#heading h1 { | |
font-size: 2.5em; | |
margin: 0; | |
} | |
h2 { | |
clear: left; | |
} | |
.author a, .meta a { | |
color: #000; | |
} | |
.author, .meta { | |
color: #666; | |
font-style: italic; | |
font-size: small; | |
} | |
.background { | |
stroke: none; | |
fill: #ccf; | |
} | |
.outline { | |
stroke: #000; | |
stroke-width: 1px; | |
fill: none; | |
} | |
.graticule { | |
stroke: #000; | |
stroke-width: .25px; | |
stroke-opacity: .5; | |
fill: none; | |
} | |
.land { | |
stroke: #000; | |
stroke-width: .5px; | |
fill: #9f9; | |
} | |
.boundary { | |
stroke: #000; | |
stroke-width: .5px; | |
stroke-opacity: .7; | |
fill: none; | |
} | |
.face { | |
stroke: #000; | |
stroke-width: .5px; | |
stroke-dasharray: 8,3; | |
fill: none; | |
} | |
</style> | |
<div id="map"> | |
<div id="heading"> | |
<h1>Mapping on a flattened icosahedron</h1> | |
<p class="author">inspired by <a href="http://www.jasondavies.com/">Jason Davies</a> | |
</div> | |
</div> | |
<div class="wrapper"> | |
<h2>Icosahedron</h2> | |
<p>Let's map on an <a href="http://en.wikipedia.org/wiki/Icosahedron">icosahedron</a>. | |
<p>Each polyhedral face uses the <a href="http://mathworld.wolfram.com/GnomonicProjection.html">gnomonic projection</a> for ease of implementation. | |
<h2>Technical Notes</h2> | |
<p>The maps above were rendered using a custom version of <a href="http://d3js.org">D3</a>, modified to support clipping against arbitrary spherical polygons. | |
<p>This was necessary because unlike the <a href="../gnomonic-butterfly">octahedron</a>, the icosahedron cannot be unfolded exactly along a whole meridian. | |
<p>The <a href="https://github.com/d3/d3-plugins/tree/master/geo/polyhedron">polyhedral plugin</a> automatically generates an outline in geographic coordinates, which can be passed directly to D3 as a clip polygon. | |
<h2>Further Reading</h2> | |
<ul> | |
<li><a href="http://www.progonos.com/furuti/MapProj/Normal/ProjPoly/projPoly3.html">Icosahedral, dodecahedral and other maps</a>, Carlos A. Furuti. | |
<li><a href="http://www.win.tue.nl/~vanwijk/myriahedral/">Myriahedral projections</a>, Jarke J. van Wijk. | |
<li><a href="http://en.wikipedia.org/wiki/Icosahedron">Icosahedron</a>, Wikipedia. | |
</ul> | |
</div> | |
<script src="d3.js"></script> | |
<script src="topojson.min.js"></script> | |
<script src="d3.geo.projection.min.js"></script> | |
<script src="d3.geo.polyhedron.js"></script> | |
<script> | |
var rotate = [99.8, -241, -85], | |
rotation = d3.geo.rotation(rotate), | |
ε = 1e-6, | |
π = Math.PI, | |
radians = π / 180, | |
degrees = 180 / π, | |
θ = Math.atan(.5) * degrees, | |
width = 900, | |
height = 400; | |
// construction seems inspired by http://en.wikipedia.org/wiki/Icosahedron#Spherical_Coordinates | |
var vertices = [ | |
[0, 90], | |
[0, -90] | |
].concat(d3.range(10).map(function(i) { | |
return [i * 36, i & 1 ? θ : -θ]; | |
})); | |
var polyhedron = [ | |
[ 0, 3, 11], | |
[ 0, 5, 3], | |
[ 0, 7, 5], | |
[ 0, 9, 7], | |
[ 0, 11, 9], // North | |
[ 2, 11, 3], | |
[ 3, 4, 2], | |
[ 4, 3, 5], | |
[ 5, 6, 4], | |
[ 6, 5, 7], | |
[ 7, 8, 6], | |
[ 8, 7, 9], | |
[ 9, 10, 8], | |
[10, 9, 11], | |
[11, 2, 10], // Equator | |
[ 1, 2, 4], | |
[ 1, 4, 6], | |
[ 1, 6, 8], | |
[ 1, 8, 10], | |
[ 1, 10, 2] // South | |
].map(function(d) { | |
return d.map(function(i) { return vertices[i]; }); | |
}); | |
// add centroid | |
polyhedron.forEach(function(face) { | |
face.centroid = d3.geo.centroid({type: "MultiPoint", coordinates: face}); | |
}); | |
var faces = polyhedron.map(function(face, i) { | |
var centroid = d3.geo.centroid({type: "MultiPoint", coordinates: face}); | |
if (Math.abs(Math.abs(centroid[1]) - 90) < ε) centroid[0] = 0; | |
var ring = face.map(function(d) { return [((d[0] + 180) % 360 - 180) * radians, d[1] * radians]; }); | |
return { | |
face: face, | |
polygon: [ring], | |
project: d3.geo.gnomonic().scale(1).translate([0, 0]).rotate([-centroid[0], -centroid[1]]) | |
}; | |
}); | |
// Connect each face to a parent face. | |
[ | |
// N | |
-1, // 0 | |
7, // 1 | |
9, // 2 | |
11, // 3 | |
13, // 4 | |
// Eq | |
0, // 5 | |
5, // 6 | |
6, // 7 | |
7, // 8 | |
8, // 9 | |
9, // 10 | |
10, // 11 | |
11, // 12 | |
12, // 13 | |
13, // 14 | |
// S | |
6, // 15 | |
8, // 16 | |
10, // 17 | |
12, // 18 | |
14, // 19 | |
].forEach(function(d, i) { | |
var node = faces[d]; | |
node && (node.children || (node.children = [])).push(faces[i]); | |
}); | |
var projection = d3.geo.polyhedron(faces[0], face, 0) | |
.translate([width / 2 , height / 2]) | |
.center([-155,0]) | |
.scale(100) | |
.rotate([0,0,0]) | |
.precision(1); | |
var mesh = {type: "MultiLineString", coordinates: projection.mesh.map(function(segment) { | |
return segment.map(rotation.invert); | |
}).filter(function(segment) { | |
// Don't show unwanted segment. | |
var d = d3.geo.distance.apply(null, segment); | |
return d > 1 || d < .6; | |
})}; | |
var path = d3.geo.path().projection(projection); | |
var svg = d3.select("#map").append("svg") | |
.attr("width", width) | |
.attr("height", height); | |
svg.append("path") | |
.datum({type: "Sphere"}) | |
.attr("class", "background") | |
.attr("d", path); | |
svg.append("path") | |
.datum(d3.geo.graticule()) | |
.attr("class", "graticule") | |
.attr("d", path); | |
svg.append("path") | |
.datum({type: "Sphere"}) | |
.attr("class", "outline") | |
.attr("d", path); | |
// svg.append("path") | |
// .datum(mesh) | |
// .attr("class", "face") | |
// .attr("d", path); | |
d3.json("world-50m.json", function(error, world) { | |
svg.insert("path", ".graticule") | |
.datum(topojson.feature(world, world.objects.land)) | |
.attr("class", "land") | |
.attr("d", path); | |
svg.insert("path", ".graticule") | |
.datum(topojson.mesh(world, world.objects.countries, function(a, b) { return a !== b; })) | |
.attr("class", "boundary") | |
.attr("d", path); | |
svg.selectAll("text") | |
.data(faces) | |
.enter() | |
.append("svg:text") | |
.text(function(d, i){ return i; }) | |
.attr("x", function(d){ | |
return (projection(d3.geo.centroid({type: "MultiPoint", coordinates: d.face})))[0]; | |
}) | |
.attr("y", function(d){ | |
return (projection(d3.geo.centroid({type: "MultiPoint", coordinates: d.face})))[1]; | |
}) | |
.attr("text-anchor","middle") | |
.attr("font-size","12pt") | |
.attr("font-weight", "bold"); | |
}); | |
function face(λ, φ) { | |
var point = [λ, φ], | |
face = null, | |
inside = 0; | |
for (var i = 0, n = faces.length; i < n; ++i) { | |
face = faces[i]; | |
if (d3.geo.pointInPolygon(point, face.polygon)) return face; | |
} | |
} | |
// Converts spherical coordinates (degrees) to 3D Cartesian. | |
function cartesian(coordinates) { | |
var λ = coordinates[0] * radians, | |
φ = coordinates[1] * radians, | |
cosφ = Math.cos(φ); | |
return [ | |
cosφ * Math.cos(λ), | |
cosφ * Math.sin(λ), | |
Math.sin(φ) | |
]; | |
} | |
// Converts 3D cartesian to spherical coordinates (degrees). | |
function spherical(cartesian) { | |
var m = Math.sqrt(cartesian[0] * cartesian[0] + cartesian[1] * cartesian[1] + cartesian[2] * cartesian[2]); | |
return [ | |
Math.atan2(cartesian[1], cartesian[0]) * degrees, | |
Math.asin(cartesian[2] / m) * degrees | |
]; | |
} | |
</script> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
.breadcrumbs { | |
font-size: small; | |
text-align: center; | |
width: 100%; | |
padding: 5px 0; | |
margin: 0; | |
font-style: italic; | |
border-bottom: solid #eee 1px; | |
color: #000; | |
} | |
.breadcrumbs a { | |
color: #669; | |
} | |
.breadcrumbs a:hover { | |
color: #000; | |
} | |
p.cite { | |
text-align: right; | |
font-size: small; | |
font-style: italic; | |
} | |
p.cite, p.cite a, p.caption, p.caption a { | |
color: #666; | |
} | |
p.caption { | |
text-align: center; | |
font-size: small; | |
font-style: italic; | |
width: 400px; | |
margin: 0 auto; | |
} | |
body { | |
margin-top: 0; | |
font-family: Georgia, serif; | |
text-align: center; | |
background: #fff; | |
} | |
p, li { | |
line-height: 1.5em; | |
} | |
h1, h2, h3 { | |
font-weight: 300; | |
} | |
h1 { | |
font-size: 2.5em; | |
} | |
canvas { | |
cursor: move; | |
} | |
.wrapper { | |
width: 600px; | |
margin: 1em auto; | |
text-align: left; | |
} | |
.center { | |
text-align: center; | |
} | |
.thumb { | |
width: 200px; | |
height: 220px; | |
text-align: center; | |
float: left; | |
} | |
.thumb img { | |
width: 200px; | |
height: 174px; | |
border: none; | |
} | |
.clear { | |
clear: both; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
topojson=function(){function merge(topology,arcs){var arcsByEnd={},fragmentByStart={},fragmentByEnd={};arcs.forEach(function(i){var e=ends(i);(arcsByEnd[e[0]]||(arcsByEnd[e[0]]=[])).push(i);(arcsByEnd[e[1]]||(arcsByEnd[e[1]]=[])).push(~i)});arcs.forEach(function(i){var e=ends(i),start=e[0],end=e[1],f,g;if(f=fragmentByEnd[start]){delete fragmentByEnd[f.end];f.push(i);f.end=end;if(g=fragmentByStart[end]){delete fragmentByStart[g.start];var fg=g===f?f:f.concat(g);fragmentByStart[fg.start=f.start]=fragmentByEnd[fg.end=g.end]=fg}else if(g=fragmentByEnd[end]){delete fragmentByStart[g.start];delete fragmentByEnd[g.end];var fg=f.concat(g.map(function(i){return~i}).reverse());fragmentByStart[fg.start=f.start]=fragmentByEnd[fg.end=g.start]=fg}else{fragmentByStart[f.start]=fragmentByEnd[f.end]=f}}else if(f=fragmentByStart[end]){delete fragmentByStart[f.start];f.unshift(i);f.start=start;if(g=fragmentByEnd[start]){delete fragmentByEnd[g.end];var gf=g===f?f:g.concat(f);fragmentByStart[gf.start=g.start]=fragmentByEnd[gf.end=f.end]=gf}else if(g=fragmentByStart[start]){delete fragmentByStart[g.start];delete fragmentByEnd[g.end];var gf=g.map(function(i){return~i}).reverse().concat(f);fragmentByStart[gf.start=g.end]=fragmentByEnd[gf.end=f.end]=gf}else{fragmentByStart[f.start]=fragmentByEnd[f.end]=f}}else if(f=fragmentByStart[start]){delete fragmentByStart[f.start];f.unshift(~i);f.start=end;if(g=fragmentByEnd[end]){delete fragmentByEnd[g.end];var gf=g===f?f:g.concat(f);fragmentByStart[gf.start=g.start]=fragmentByEnd[gf.end=f.end]=gf}else if(g=fragmentByStart[end]){delete fragmentByStart[g.start];delete fragmentByEnd[g.end];var gf=g.map(function(i){return~i}).reverse().concat(f);fragmentByStart[gf.start=g.end]=fragmentByEnd[gf.end=f.end]=gf}else{fragmentByStart[f.start]=fragmentByEnd[f.end]=f}}else if(f=fragmentByEnd[end]){delete fragmentByEnd[f.end];f.push(~i);f.end=start;if(g=fragmentByEnd[start]){delete fragmentByStart[g.start];var fg=g===f?f:f.concat(g);fragmentByStart[fg.start=f.start]=fragmentByEnd[fg.end=g.end]=fg}else if(g=fragmentByStart[start]){delete fragmentByStart[g.start];delete fragmentByEnd[g.end];var fg=f.concat(g.map(function(i){return~i}).reverse());fragmentByStart[fg.start=f.start]=fragmentByEnd[fg.end=g.start]=fg}else{fragmentByStart[f.start]=fragmentByEnd[f.end]=f}}else{f=[i];fragmentByStart[f.start=start]=fragmentByEnd[f.end=end]=f}});function ends(i){var arc=topology.arcs[i],p0=arc[0],p1=[0,0];arc.forEach(function(dp){p1[0]+=dp[0],p1[1]+=dp[1]});return[p0,p1]}var fragments=[];for(var k in fragmentByEnd)fragments.push(fragmentByEnd[k]);return fragments}function mesh(topology,o,filter){var arcs=[];if(arguments.length>1){var geomsByArc=[],geom;function arc(i){if(i<0)i=~i;(geomsByArc[i]||(geomsByArc[i]=[])).push(geom)}function line(arcs){arcs.forEach(arc)}function polygon(arcs){arcs.forEach(line)}function geometry(o){if(o.type==="GeometryCollection")o.geometries.forEach(geometry);else if(o.type in geometryType){geom=o;geometryType[o.type](o.arcs)}}var geometryType={LineString:line,MultiLineString:polygon,Polygon:polygon,MultiPolygon:function(arcs){arcs.forEach(polygon)}};geometry(o);geomsByArc.forEach(arguments.length<3?function(geoms,i){arcs.push(i)}:function(geoms,i){if(filter(geoms[0],geoms[geoms.length-1]))arcs.push(i)})}else{for(var i=0,n=topology.arcs.length;i<n;++i)arcs.push(i)}return object(topology,{type:"MultiLineString",arcs:merge(topology,arcs)})}function featureOrCollection(topology,o){return o.type==="GeometryCollection"?{type:"FeatureCollection",features:o.geometries.map(function(o){return feature(topology,o)})}:feature(topology,o)}function feature(topology,o){var f={type:"Feature",id:o.id,properties:o.properties||{},geometry:object(topology,o)};if(o.id==null)delete f.id;return f}function object(topology,o){var tf=topology.transform,kx=tf.scale[0],ky=tf.scale[1],dx=tf.translate[0],dy=tf.translate[1],arcs=topology.arcs;function arc(i,points){if(points.length)points.pop();for(var a=arcs[i<0?~i:i],k=0,n=a.length,x=0,y=0,p;k<n;++k)points.push([(x+=(p=a[k])[0])*kx+dx,(y+=p[1])*ky+dy]);if(i<0)reverse(points,n)}function point(coordinates){return[coordinates[0]*kx+dx,coordinates[1]*ky+dy]}function line(arcs){var points=[];for(var i=0,n=arcs.length;i<n;++i)arc(arcs[i],points);if(points.length<2)points.push(points[0]);return points}function ring(arcs){var points=line(arcs);while(points.length<4)points.push(points[0]);return points}function polygon(arcs){return arcs.map(ring)}function geometry(o){var t=o.type;return t==="GeometryCollection"?{type:t,geometries:o.geometries.map(geometry)}:t in geometryType?{type:t,coordinates:geometryType[t](o)}:null}var geometryType={Point:function(o){return point(o.coordinates)},MultiPoint:function(o){return o.coordinates.map(point)},LineString:function(o){return line(o.arcs)},MultiLineString:function(o){return o.arcs.map(line)},Polygon:function(o){return polygon(o.arcs)},MultiPolygon:function(o){return o.arcs.map(polygon)}};return geometry(o)}function reverse(array,n){var t,j=array.length,i=j-n;while(i<--j)t=array[i],array[i++]=array[j],array[j]=t}function bisect(a,x){var lo=0,hi=a.length;while(lo<hi){var mid=lo+hi>>>1;if(a[mid]<x)lo=mid+1;else hi=mid}return lo}function neighbors(objects){var objectsByArc=[],neighbors=objects.map(function(){return[]});function line(arcs,i){arcs.forEach(function(a){if(a<0)a=~a;var o=objectsByArc[a]||(objectsByArc[a]=[]);if(!o[i])o.forEach(function(j){var n,k;k=bisect(n=neighbors[i],j);if(n[k]!==j)n.splice(k,0,j);k=bisect(n=neighbors[j],i);if(n[k]!==i)n.splice(k,0,i)}),o[i]=i})}function polygon(arcs,i){arcs.forEach(function(arc){line(arc,i)})}function geometry(o,i){if(o.type==="GeometryCollection")o.geometries.forEach(function(o){geometry(o,i)});else if(o.type in geometryType)geometryType[o.type](o.arcs,i)}var geometryType={LineString:line,MultiLineString:polygon,Polygon:polygon,MultiPolygon:function(arcs,i){arcs.forEach(function(arc){polygon(arc,i)})}};objects.forEach(geometry);return neighbors}return{version:"1.1.2",mesh:mesh,feature:featureOrCollection,neighbors:neighbors}}(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{"type":"Topology","transform":{"scale":[0.0036000360003600037,0.0016879348480984822],"translate":[-180,-85.19218750000003]},"objects":{"land":{"type":"MultiPolygon","arcs":[[[0]],[[1]],[[2]],[[3]],[[4]],[[5]],[[6]],[[7]],[[8]],[[9]],[[10]],[[11]],[[12]],[[13]],[[14]],[[15]],[[16]],[[17]],[[18]],[[19]],[[20]],[[21]],[[22]],[[23]],[[24]],[[25]],[[26]],[[27]],[[28]],[[29]],[[30]],[[31]],[[32]],[[33]],[[34]],[[35]],[[36]],[[37]],[[38]],[[39]],[[40]],[[41]],[[42]],[[43]],[[44]],[[45,46]],[[47]],[[48]],[[49]],[[50]],[[51]],[[52]],[[53]],[[54]],[[55]],[[56]],[[57]],[[58]],[[59]],[[60]],[[61,62,63,64]],[[65]],[[66]],[[67]],[[68]],[[69]],[[70]],[[71]],[[72]],[[73]],[[74]],[[75]],[[76]],[[77]],[[78]],[[79]],[[80]],[[81]],[[82]],[[83]],[[84]],[[85]],[[86]],[[87]],[[88]],[[89]],[[90]],[[91]],[[92,93,94,95,96,97,98]],[[99]],[[100]],[[101]],[[102]],[[103]],[[104]],[[105]],[[106]],[[107]],[[108]],[[109]],[[110,111,112,113]],[[114]],[[115]],[[116]],[[117,118,119,120,121,122,123]],[[124]],[[125]],[[126]],[[127]],[[128]],[[129]],[[130]],[[131]],[[132]],[[133]],[[134]],[[135]],[[136]],[[137]],[[138]],[[139]],[[140]],[[141]],[[142]],[[143,144]],[[145]],[[146]],[[147]],[[148]],[[149]],[[150]],[[151]],[[152]],[[153,154]],[[155]],[[156]],[[157,158]],[[159,160]],[[161]],[[162]],[[163]],[[164]],[[165]],[[166]],[[167]],[[168]],[[169]],[[170]],[[171]],[[172]],[[173]],[[174]],[[175]],[[176]],[[177]],[[178]],[[179]],[[180]],[[181]],[[182]],[[183]],[[184]],[[185]],[[186]],[[187]],[[188]],[[189]],[[190]],[[191]],[[192]],[[193]],[[194]],[[195]],[[196,197,198,199]],[[200]],[[201]],[[202]],[[203]],[[204]],[[205]],[[206]],[[207]],[[208]],[[209]],[[210]],[[211]],[[212]],[[213]],[[214]],[[215]],[[216]],[[217]],[[218]],[[219]],[[220]],[[221]],[[222]],[[223]],[[224]],[[225]],[[226]],[[227]],[[228]],[[229]],[[230]],[[231]],[[232]],[[233]],[[234]],[[235]],[[236]],[[237]],[[238]],[[239]],[[240]],[[241]],[[242]],[[243]],[[244]],[[245]],[[246]],[[247]],[[248]],[[249]],[[250]],[[251]],[[252]],[[253]],[[254]],[[255]],[[256]],[[257]],[[258]],[[259]],[[260]],[[261]],[[262]],[[263]],[[264]],[[265]],[[266]],[[267]],[[268]],[[269]],[[270]],[[271]],[[272]],[[273]],[[274]],[[275]],[[276]],[[277]],[[278]],[[279]],[[280]],[[281]],[[282]],[[283]],[[284]],[[285]],[[286]],[[287]],[[288]],[[289]],[[290]],[[291]],[[292]],[[293]],[[294]],[[295]],[[296]],[[297]],[[298]],[[299]],[[300]],[[301]],[[302]],[[303]],[[304]],[[305]],[[306]],[[307]],[[308]],[[309]],[[310]],[[311]],[[312]],[[313]],[[314]],[[315]],[[316]],[[317]],[[318]],[[319]],[[320]],[[321]],[[322]],[[323,324]],[[325]],[[326]],[[327]],[[328]],[[329]],[[330]],[[331]],[[332]],[[333]],[[334]],[[335]],[[336]],[[337]],[[338]],[[339]],[[340]],[[341]],[[342]],[[343]],[[344]],[[345]],[[346]],[[347]],[[348]],[[349]],[[350]],[[351]],[[352]],[[353]],[[354]],[[355]],[[356]],[[357]],[[358]],[[359]],[[360]],[[361]],[[362]],[[363]],[[364]],[[365]],[[366]],[[367]],[[368]],[[369]],[[370]],[[371]],[[372]],[[373]],[[374]],[[375]],[[376]],[[377]],[[378]],[[379]],[[380]],[[381]],[[382]],[[383]],[[384]],[[385]],[[386]],[[387]],[[388]],[[389]],[[390]],[[391]],[[392]],[[393]],[[394]],[[395]],[[396]],[[397]],[[398]],[[399]],[[400]],[[401]],[[402]],[[403]],[[404]],[[405]],[[406]],[[407]],[[408]],[[409]],[[410]],[[411]],[[412]],[[413]],[[414]],[[415]],[[416]],[[417]],[[418]],[[419]],[[420]],[[421]],[[422]],[[423]],[[424]],[[425]],[[426]],[[427]],[[428]],[[429]],[[430]],[[431]],[[432]],[[433]],[[434]],[[435]],[[436]],[[437]],[[438]],[[439]],[[440]],[[441]],[[442]],[[443]],[[444]],[[445]],[[446]],[[447]],[[448]],[[449]],[[450]],[[451]],[[452]],[[453]],[[454]],[[455]],[[456]],[[457]],[[458]],[[459]],[[460]],[[461]],[[462]],[[463]],[[464]],[[465]],[[466]],[[467]],[[468]],[[469]],[[470]],[[471]],[[472]],[[473]],[[474]],[[475]],[[476]],[[477]],[[478]],[[479]],[[480]],[[481]],[[482]],[[483]],[[484]],[[485]],[[486]],[[487]],[[488]],[[489]],[[490]],[[491]],[[492]],[[493]],[[494]],[[495]],[[496]],[[497]],[[498]],[[499]],[[500]],[[501]],[[502]],[[503]],[[504]],[[505]],[[506]],[[507]],[[508]],[[509]],[[510]],[[511]],[[512]],[[513]],[[514]],[[515]],[[516]],[[517]],[[518]],[[519]],[[520]],[[521]],[[522]],[[523]],[[524]],[[525]],[[526]],[[527]],[[528]],[[529]],[[530]],[[531]],[[532]],[[533]],[[534]],[[535]],[[536]],[[537]],[[538]],[[539]],[[540]],[[541]],[[542]],[[543]],[[544]],[[545]],[[546]],[[547]],[[548]],[[549]],[[550]],[[551]],[[552]],[[553]],[[554]],[[555]],[[556]],[[557]],[[558]],[[559]],[[560]],[[561]],[[562]],[[563]],[[564]],[[565]],[[566]],[[567]],[[568]],[[569]],[[570]],[[571]],[[572]],[[573]],[[574]],[[575]],[[576]],[[577]],[[578]],[[579]],[[580]],[[581]],[[582]],[[583]],[[584]],[[585]],[[586]],[[587]],[[588]],[[589]],[[590]],[[591]],[[592]],[[593]],[[594]],[[595]],[[596]],[[597]],[[598]],[[599]],[[600]],[[601]],[[602]],[[603]],[[604]],[[605]],[[606]],[[607]],[[608]],[[609]],[[610]],[[611]],[[612]],[[613]],[[614]],[[615]],[[616]],[[617]],[[618]],[[619]],[[620]],[[621]],[[622]],[[623,624,625]],[[626]],[[627]],[[628]],[[629]],[[630]],[[631]],[[632]],[[633]],[[634]],[[635]],[[636]],[[637]],[[638]],[[639]],[[640]],[[641]],[[642]],[[643]],[[644]],[[645]],[[646]],[[647]],[[648]],[[649]],[[650]],[[651]],[[652]],[[653]],[[654]],[[655]],[[656]],[[657]],[[658]],[[659]],[[660]],[[661]],[[662]],[[663]],[[664]],[[665]],[[666]],[[667]],[[668]],[[669]],[[670]],[[671]],[[672]],[[673]],[[674]],[[675]],[[676]],[[677]],[[678]],[[679]],[[680]],[[681]],[[682]],[[683]],[[684]],[[685]],[[686]],[[687]],[[688]],[[689]],[[690]],[[691]],[[692]],[[693]],[[694]],[[695]],[[696]],[[697]],[[698]],[[699]],[[700]],[[701]],[[702]],[[703]],[[704]],[[705]],[[706]],[[707]],[[708]],[[709]],[[710]],[[711]],[[712]],[[713]],[[714]],[[715]],[[716]],[[717]],[[718]],[[719]],[[720]],[[721]],[[722]],[[723]],[[724]],[[725]],[[726]],[[727]],[[728]],[[729]],[[730]],[[731]],[[732]],[[733]],[[734]],[[735]],[[736]],[[737]],[[738]],[[739]],[[740]],[[741]],[[742]],[[743]],[[744]],[[745]],[[746]],[[747]],[[748]],[[749]],[[750]],[[751]],[[752]],[[753]],[[754]],[[755]],[[756]],[[757]],[[758]],[[759]],[[760]],[[761]],[[762]],[[763]],[[764]],[[765]],[[766]],[[767]],[[768]],[[769]],[[770]],[[771]],[[772]],[[773]],[[774]],[[775]],[[776]],[[777]],[[778]],[[779]],[[780]],[[781]],[[782]],[[783]],[[784]],[[785]],[[786]],[[787]],[[788]],[[789]],[[790]],[[791]],[[792]],[[793]],[[794]],[[795]],[[796]],[[797]],[[798]],[[799]],[[800]],[[801]],[[802]],[[803]],[[804]],[[805]],[[806]],[[807]],[[808]],[[809]],[[810]],[[811]],[[812]],[[813]],[[814]],[[815]],[[816]],[[817]],[[818]],[[819]],[[820]],[[821]],[[822]],[[823]],[[824]],[[825]],[[826]],[[827]],[[828]],[[829]],[[830]],[[831]],[[832]],[[833]],[[834]],[[835]],[[836]],[[837]],[[838]],[[839]],[[840]],[[841]],[[842]],[[843]],[[844]],[[845]],[[846]],[[847]],[[848]],[[849]],[[850]],[[851]],[[852]],[[853]],[[854]],[[855]],[[856]],[[857]],[[858]],[[859]],[[860]],[[861]],[[862]],[[863]],[[864]],[[865]],[[866]],[[867]],[[868]],[[869]],[[870]],[[871]],[[872]],[[873]],[[874]],[[875]],[[876]],[[877]],[[878]],[[879]],[[880]],[[881]],[[882]],[[883]],[[884]],[[885]],[[886]],[[887]],[[888]],[[889]],[[890]],[[891]],[[892]],[[893]],[[894]],[[895]],[[896]],[[897]],[[898]],[[899]],[[900]],[[901]],[[902]],[[903]],[[904]],[[905]],[[906]],[[907]],[[908]],[[909]],[[910]],[[911]],[[912]],[[913]],[[914]],[[915]],[[916]],[[917]],[[918]],[[919]],[[920]],[[921]],[[922]],[[923]],[[924]],[[925]],[[926]],[[927]],[[928]],[[929]],[[930]],[[931]],[[932]],[[933]],[[934]],[[935]],[[936]],[[937]],[[938]],[[939]],[[940]],[[941]],[[942]],[[943]],[[944]],[[945]],[[946]],[[947]],[[948]],[[949]],[[950]],[[951]],[[952]],[[953]],[[954]],[[955]],[[956]],[[957]],[[958]],[[959]],[[960]],[[961]],[[962]],[[963]],[[964]],[[965]],[[966]],[[967]],[[968]],[[969]],[[970]],[[971]],[[972]],[[973]],[[974]],[[975,976]],[[977]],[[978]],[[979]],[[980]],[[981]],[[982]],[[983]],[[984]],[[985]],[[986]],[[987]],[[988]],[[989]],[[990]],[[991]],[[992]],[[993]],[[994]],[[995]],[[996]],[[997]],[[998]],[[999]],[[1000]],[[1001]],[[1002]],[[1003]],[[1004]],[[1005]],[[1006]],[[1007]],[[1008]],[[1009]],[[1010]],[[1011]],[[1012]],[[1013]],[[1014]],[[1015]],[[1016]],[[1017]],[[1018]],[[1019]],[[1020]],[[1021]],[[1022]],[[1023]],[[1024]],[[1025]],[[1026]],[[1027]],[[1028]],[[1029]],[[1030]],[[1031]],[[1032]],[[1033]],[[1034]],[[1035]],[[1036]],[[1037]],[[1038]],[[1039]],[[1040]],[[1041]],[[1042]],[[1043]],[[1044]],[[1045]],[[1046]],[[1047]],[[1048]],[[1049]],[[1050]],[[1051]],[[1052]],[[1053]],[[1054]],[[1055]],[[1056]],[[1057]],[[1058]],[[1059]],[[1060]],[[1061]],[[1062]],[[1063]],[[1064]],[[1065]],[[1066]],[[1067]],[[1068]],[[1069]],[[1070]],[[1071]],[[1072]],[[1073]],[[1074]],[[1075]],[[1076]],[[1077]],[[1078]],[[1079]],[[1080]],[[1081]],[[1082]],[[1083]],[[1084]],[[1085]],[[1086]],[[1087]],[[1088]],[[1089]],[[1090]],[[1091]],[[1092]],[[1093]],[[1094]],[[1095]],[[1096]],[[1097]],[[1098]],[[1099]],[[1100]],[[1101]],[[1102]],[[1103]],[[1104]],[[1105]],[[1106]],[[1107]],[[1108]],[[1109]],[[1110]],[[1111]],[[1112,1113,1114]],[[1115]],[[1116]],[[1117]],[[1118]],[[1119]],[[1120]],[[1121]],[[1122]],[[1123]],[[1124]],[[1125]],[[1126]],[[1127]],[[1128]],[[1129]],[[1130]],[[1131]],[[1132]],[[1133]],[[1134]],[[1135]],[[1136]],[[1137]],[[1138]],[[1139]],[[1140]],[[1141]],[[1142]],[[1143]],[[1144]],[[1145]],[[1146]],[[1147]],[[1148]],[[1149]],[[1150]],[[1151]],[[1152]],[[1153]],[[1154]],[[1155]],[[1156]],[[1157]],[[1158]],[[1159]],[[1160]],[[1161]],[[1162]],[[1163]],[[1164]],[[1165]],[[1166]],[[1167]],[[1168]],[[1169]],[[1170]],[[1171]],[[1172]],[[1173]],[[1174]],[[1175]],[[1176]],[[1177]],[[1178]],[[1179]],[[1180]],[[1181]],[[1182]],[[1183]],[[1184]],[[1185]],[[1186]],[[1187]],[[1188]],[[1189]],[[1190]],[[1191]],[[1192]],[[1193]],[[1194]],[[1195]],[[1196]],[[1197]],[[1198]],[[1199]],[[1200]],[[1201]],[[1202]],[[1203]],[[1204]],[[1205]],[[1206]],[[1207]],[[1208]],[[1209]],[[1210]],[[1211]],[[1212]],[[1213]],[[1214]],[[1215]],[[1216]],[[1217]],[[1218]],[[1219]],[[1220]],[[1221]],[[1222]],[[1223]],[[1224]],[[1225]],[[1226]],[[1227]],[[1228]],[[1229]],[[1230]],[[1231]],[[1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265]],[[1266]],[[1267]],[[1268]],[[1269]],[[1270]],[[1271]],[[1272]],[[1273]],[[1274]],[[1275]],[[1276]],[[1277]],[[1278]],[[1279]],[[1280]],[[1281]],[[1282]],[[1283]],[[1284]],[[1285]],[[1286]],[[1287]],[[1288]],[[1289]],[[1290]],[[1291]],[[1292]],[[1293]],[[1294]],[[1295]],[[1296]],[[1297]],[[1298]],[[1299]],[[1300]],[[1301]],[[1302]],[[1303]],[[1304]],[[1305]],[[1306]],[[1307]],[[1308]],[[1309]],[[1310]],[[1311]],[[1312]],[[1313]],[[1314]],[[1315]],[[1316]],[[1317]],[[1318]],[[1319]],[[1320]],[[1321]],[[1322]],[[1323]],[[1324]],[[1325]],[[1326]],[[1327]],[[1328]],[[1329]],[[1330]],[[1331]],[[1332]],[[1333]],[[1334]],[[1335]],[[1336]],[[1337]],[[1338]],[[1339]],[[1340]],[[1341]],[[1342]],[[1343]],[[1344]],[[1345]],[[1346]],[[1347]],[[1348]],[[1349]],[[1350]],[[1351]],[[1352]],[[1353]],[[1354]],[[1355]],[[1356]],[[1357]],[[1358]],[[1359]],[[1360]],[[1361]],[[1362]],[[1363]],[[1364]],[[1365]],[[1366]],[[1367]],[[1368]],[[1369]],[[1370]],[[1371]],[[1372]],[[1373]],[[1374]],[[1375]],[[1376]],[[1377]],[[1378]],[[1379]],[[1380]],[[1381]],[[1382]],[[1383]],[[1384]],[[1385]],[[1386]],[[1387]],[[1388]],[[1389]],[[1390]],[[1391]],[[1392]],[[1393]],[[1394]],[[1395]],[[1396]],[[1397]],[[1398]],[[1399]],[[1400]],[[1401]],[[1402]],[[1403]],[[1404]],[[1405]],[[1406]],[[1407]],[[1408]],[[1409]],[[1410]],[[1411]],[[1412]],[[1413]],[[1414]],[[1415]],[[1416]],[[1417]],[[1418]],[[1419]],[[1420]],[[1421]],[[1422]],[[1423]],[[1424]],[[1425]],[[1426]],[[1427]],[[1428]],[[1429]],[[1430]],[[1431]],[[1432]],[[1433]],[[1434]],[[1435]],[[1436]],[[1437]],[[1438]],[[1439]],[[1440]],[[1441]],[[1442]],[[1443]],[[1444]],[[1445]],[[1446,1447,1448,1449,1450,1451,1452,1453,1454,1455,1456,1457,1458,1459,1460,1461,1462,1463,1464,1465,1466,1467,1468,1469,1470,1471,1472,1473,1474,1475,1476,1477,1478,1479,1480,1481,1482,1483,1484,1485,1486,1487,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,1515,1516,1517,1518,1519,1520,1521,1522,1523,1524,1525,1526,1527,1528,1529,1530,1531,1532,1533,1534,1535,1536,1537,1538,1539,1540,1541,1542,1543,1544,1545,1546,1547,1548,1549,1550,1551,1552,1553,1554,1555,1556,1557,1558,1559,1560,1561,1562,1563,1564,1565,1566,1567,1568,1569,1570,1571],[1572,1573,1574,1575,1576]],[[1577]],[[1578]],[[1579]],[[1580]],[[1581]],[[1582]],[[1583]],[[1584]],[[1585]],[[1586]],[[1587]],[[1588]],[[1589]],[[1590]],[[1591]],[[1592]],[[1593]],[[1594]],[[1595]],[[1596]],[[1597]],[[1598]],[[1599]],[[1600]],[[1601]],[[1602]],[[1603]],[[1604]],[[1605]],[[1606]],[[1607]],[[1608]],[[1609]],[[1610]],[[1611]],[[1612]],[[1613]],[[1614]],[[1615]]]},"countries":{"type":"GeometryCollection","geometries":[{"type":"Polygon","arcs":[[179]],"id":533},{"type":"Polygon","arcs":[[1616,1617,1618,1619,1620,1621]],"id":4},{"type":"MultiPolygon","arcs":[[[1622,1623,1495,1624]],[[1497,1625,1626]]],"id":24},{"type":"Polygon","arcs":[[1111]],"id":660},{"type":"Polygon","arcs":[[1627,1628,1629,1536,1630]],"id":8},{"type":"MultiPolygon","arcs":[[[1376]],[[979]],[[980]]],"id":248},{"type":"Polygon","arcs":[[1631,1632]],"id":20},{"type":"MultiPolygon","arcs":[[[348]],[[346]],[[344]],[[1613]],[[1478,1633,1634,1476,1635],[1636]]],"id":784},{"type":"MultiPolygon","arcs":[[[377]],[[1637,143]],[[378]],[[1638,1639,1640,1248,1641,1642]]],"id":32},{"type":"MultiPolygon","arcs":[[[1643]],[[1644,1645,1646,1647,1648],[1649]]],"id":51},{"type":"Polygon","arcs":[[419]],"id":16},{"type":"MultiPolygon","arcs":[[[262]],[[270]],[[266]],[[268]],[[141]],[[280]],[[286]],[[53]],[[289]],[[281]],[[138]],[[139]],[[233]],[[140]],[[261]],[[267]],[[235]],[[255]],[[269]],[[253]],[[256]],[[263]],[[251]],[[265]],[[264]],[[237]],[[252]],[[231]],[[254]],[[257]],[[260]],[[259]],[[258]],[[51]],[[283]],[[236]],[[52]],[[317]],[[313]],[[59]],[[311]],[[312]],[[314]],[[284]],[[244]],[[285]],[[243]],[[58]],[[273]],[[308]],[[275]],[[56]],[[307]],[[271]],[[272]],[[282]],[[315]],[[246]],[[276]],[[279]],[[274]],[[305]],[[57]],[[278]],[[316]],[[297]],[[142]],[[1650]],[[306]],[[320]],[[232]],[[321]],[[239]],[[277]],[[234]],[[241]],[[60]],[[242]],[[249]],[[247]],[[248]],[[319]],[[245]],[[240]],[[318]],[[238]],[[250]],[[298]],[[293]],[[55]],[[299]],[[296]],[[54]],[[304]],[[310]],[[292]],[[1444]],[[291]],[[302]],[[309]],[[300]],[[303]],[[301]],[[294]],[[295]],[[288]],[[290]],[[287]]],"id":10},{"type":"Polygon","arcs":[[1651]],"id":36},{"type":"MultiPolygon","arcs":[[[870]],[[10]],[[871]]],"id":260},{"type":"MultiPolygon","arcs":[[[1117]],[[1115]]],"id":28},{"type":"MultiPolygon","arcs":[[[405]],[[489]],[[491]],[[490]],[[99]],[[496]],[[492]],[[494]],[[495]],[[493]],[[499]],[[498]],[[497]],[[500]],[[501]],[[488]],[[502]],[[503]],[[504]],[[505]],[[487]],[[471]],[[472]],[[473]],[[478]],[[477]],[[467]],[[469]],[[468]],[[486]],[[485]],[[479]],[[480]],[[482]],[[483]],[[484]],[[481]],[[470]],[[6]],[[474]],[[475]],[[476]]],"id":36},{"type":"Polygon","arcs":[[1652,1653,1654,1655,1656,1657,1658,1659,1660]],"id":40},{"type":"MultiPolygon","arcs":[[[1661,1662,-1646]],[[-1650]],[[1573,1663,-1649,1664,1665],[-1644]]],"id":31},{"type":"Polygon","arcs":[[1666,1667,1668]],"id":108},{"type":"Polygon","arcs":[[1669,1670,1671,1672,1548,1673,1674]],"id":56},{"type":"Polygon","arcs":[[1675,1503,1676,1677,1678]],"id":204},{"type":"Polygon","arcs":[[1679,-1678,1680,1681,1682,1683]],"id":854},{"type":"MultiPolygon","arcs":[[[824]],[[823]],[[825]],[[826]],[[828]],[[827]],[[1684,1466,1685]]],"id":50},{"type":"Polygon","arcs":[[1533,1686,1687,1688,1689,1690]],"id":100},{"type":"Polygon","arcs":[[352]],"id":48},{"type":"MultiPolygon","arcs":[[[1080]],[[1125]],[[1122]],[[1081]],[[1078]],[[1084]],[[1083]],[[1079]],[[1073]],[[1085]],[[206]],[[1088]],[[1082]],[[1094]],[[1077]]],"id":44},{"type":"Polygon","arcs":[[1691,1692,1693,1539,1694]],"id":70},{"type":"Polygon","arcs":[[1695]],"id":652},{"type":"Polygon","arcs":[[1696,1697,1698,1699,1700]],"id":112},{"type":"MultiPolygon","arcs":[[[1097]],[[1096]],[[1701,1702,1235]]],"id":84},{"type":"Polygon","arcs":[[1055]],"id":60},{"type":"Polygon","arcs":[[1703,-1643,1704,1705,1706]],"id":68},{"type":"MultiPolygon","arcs":[[[946]],[[945]],[[947]],[[944]],[[1170]],[[1169]],[[1168]],[[1171]],[[1163]],[[155]],[[1174]],[[1175]],[[1172]],[[1176]],[[1177]],[[1173]],[[1707,1708,1246,1709,-1640,1710,-1707,1711,1712,1713,1714]]],"id":76},{"type":"Polygon","arcs":[[1109]],"id":52},{"type":"MultiPolygon","arcs":[[[121,1715]],[[1716,1717,120]]],"id":96},{"type":"Polygon","arcs":[[1718,1719]],"id":64},{"type":"Polygon","arcs":[[1720,1721,1722]],"id":72},{"type":"Polygon","arcs":[[1723,1724,1725,1726,1727,1728]],"id":140},{"type":"MultiPolygon","arcs":[[[191]],[[400]],[[402]],[[395]],[[394]],[[393]],[[399]],[[72]],[[89]],[[396]],[[1353]],[[397]],[[398]],[[1043]],[[1042]],[[1232,1729]],[[1034]],[[1349]],[[1351]],[[1041]],[[1045]],[[71]],[[1044]],[[1046]],[[1348]],[[152]],[[1347]],[[1156]],[[1350]],[[1297]],[[1153]],[[1157]],[[1151]],[[1158]],[[1266]],[[88]],[[86]],[[1159]],[[1304]],[[1155]],[[1154]],[[87]],[[1152]],[[1730,1263]],[[1365]],[[1298]],[[1302]],[[1299]],[[1306]],[[1300]],[[1366]],[[1301]],[[1367]],[[1303]],[[1305]],[[1371]],[[1319]],[[1314]],[[1321]],[[1334]],[[1329]],[[1270]],[[1317]],[[1312]],[[1320]],[[1269]],[[1268]],[[1316]],[[1325]],[[1280]],[[1333]],[[1331]],[[1326]],[[1363]],[[1318]],[[1361]],[[1362]],[[1267]],[[1364]],[[1332]],[[1281]],[[1315]],[[1360]],[[1313]],[[1359]],[[1354]],[[1355]],[[1311]],[[1327]],[[1310]],[[1328]],[[1358]],[[1357]],[[1160]],[[1322]],[[1324]],[[1323]],[[1292]],[[1330]],[[1356]],[[1731,1261,1732,1265]],[[1307]],[[1293]],[[1278]],[[1282]],[[1230]],[[1279]],[[1309]],[[1291]],[[1294]],[[1308]],[[1342]],[[1346]],[[1275]],[[1341]],[[1344]],[[1296]],[[1277]],[[1400]],[[1335]],[[1337]],[[1283]],[[1336]],[[1290]],[[1340]],[[1345]],[[1286]],[[1289]],[[1274]],[[1271]],[[1272]],[[1339]],[[1343]],[[1288]],[[1338]],[[1276]],[[1287]],[[1284]],[[1273]],[[1285]],[[1231]]],"id":124},{"type":"Polygon","arcs":[[-1659,1733,-1657,1734,1735,1736]],"id":756},{"type":"MultiPolygon","arcs":[[[178]],[[384]],[[334]],[[382]],[[339]],[[383]],[[389]],[[381]],[[338]],[[-1638,144]],[[390]],[[387]],[[385]],[[337]],[[386]],[[340]],[[69]],[[336]],[[376]],[[373]],[[392]],[[335]],[[375]],[[70]],[[391]],[[388]],[[374]],[[67]],[[1594]],[[1185]],[[-1642,1249,1737,-1705]]],"id":152},{"type":"MultiPolygon","arcs":[[[132]],[[773]],[[1224]],[[1223]],[[1222]],[[761]],[[772]],[[1221]],[[770]],[[771]],[[769]],[[768]],[[1738,1453,1739,1455,1740,1741,1742,1459,1743,1744,1745,1746,-1720,1747,1748,1749,1750,1751,1752,1753,1754,1755,1756,-1617,1757,1758,1759,1760,1761,1762]]],"id":156},{"type":"MultiPolygon","arcs":[[[1506,1763]],[[-1683,1764,1508,1765,1766,1767]]],"id":384},{"type":"Polygon","arcs":[[-1728,1768,1769,1770,1501,1771,1772]],"id":120},{"type":"Polygon","arcs":[[1773,1774,1775,-1668,1776,1777,-1625,1496,-1627,1778,-1726]],"id":180},{"type":"Polygon","arcs":[[-1779,-1626,1498,1779,-1769,-1727]],"id":178},{"type":"Polygon","arcs":[[1580]],"id":184},{"type":"MultiPolygon","arcs":[[[1166]],[[1780,-1713,1781,1782,1252,1783,1241]]],"id":170},{"type":"MultiPolygon","arcs":[[[927]],[[926]],[[929]]],"id":174},{"type":"MultiPolygon","arcs":[[[920]],[[924]],[[925]],[[919]],[[922]],[[923]],[[914]],[[913]]],"id":132},{"type":"Polygon","arcs":[[1239,1784,1254,1785]],"id":188},{"type":"MultiPolygon","arcs":[[[1091]],[[1074]],[[1086]],[[1075]],[[1076]],[[1093]],[[145]]],"id":192},{"type":"Polygon","arcs":[[1123]],"id":531},{"type":"MultiPolygon","arcs":[[[1100]],[[1786]],[[1787]]],"id":136},{"type":"Polygon","arcs":[[1788,46]],"id":-99},{"type":"Polygon","arcs":[[-1789,45]],"id":196},{"type":"Polygon","arcs":[[1789,1790,-1661,1791]],"id":203},{"type":"MultiPolygon","arcs":[[[1559,1792,1793]],[[993]],[[985]],[[1228]],[[1555,1794,1795,-1792,-1660,-1737,1796,1797,-1671,1798,1551,1799,1800,1801]],[[995]]],"id":276},{"type":"Polygon","arcs":[[1802,1803,1804,1487]],"id":262},{"type":"Polygon","arcs":[[1118]],"id":212},{"type":"MultiPolygon","arcs":[[[988]],[[989]],[[986]],[[990]],[[991]],[[984]],[[49]],[[987]],[[992]],[[48]],[[994]],[[-1801,1805,1553,1806]]],"id":208},{"type":"Polygon","arcs":[[1807,153]],"id":214},{"type":"Polygon","arcs":[[1808,1809,1810,1811,1812,1813,1814,1520]],"id":12},{"type":"MultiPolygon","arcs":[[[1162]],[[1182]],[[1179]],[[1178]],[[1181]],[[1184]],[[1183]],[[1165]],[[1815,1251,-1783]]],"id":218},{"type":"Polygon","arcs":[[1816,1817,1484,1818,1819,1523]],"id":818},{"type":"MultiPolygon","arcs":[[[350]],[[215]],[[1486,-1805,1820,1821]]],"id":232},{"type":"MultiPolygon","arcs":[[[918]],[[910]],[[915]],[[906]],[[908]],[[921]],[[907]],[[1003]],[[1004]],[[50]],[[1002]],[[1822,-1632,1823,1544,1824,1546]]],"id":724},{"type":"MultiPolygon","arcs":[[[32]],[[669]],[[668]],[[1825,1826,1568]]],"id":233},{"type":"Polygon","arcs":[[-1804,1827,1828,1829,1830,1831,-1821]],"id":231},{"type":"MultiPolygon","arcs":[[[1377]],[[1370]],[[1368]],[[978]],[[1369]],[[981]],[[1378]],[[1832,1570,1833,1834]]],"id":246},{"type":"MultiPolygon","arcs":[[[1605]],[[1593]],[[1591]],[[429]],[[1592]],[[172]],[[356]],[[171]],[[173]],[[357]],[[7]],[[355]],[[416]],[[1]],[[325]],[[1835,1836]],[[1410]],[[1837]],[[0]],[[1411]],[[1604]]],"id":242},{"type":"MultiPolygon","arcs":[[[379]],[[213]],[[380]],[[68]],[[341]],[[65]]],"id":238},{"type":"MultiPolygon","arcs":[[[934]],[[928]],[[-1709,1838,1245]],[[1104]],[[1116]],[[1120]],[[1119]],[[149]],[[996]],[[1839,-1797,-1736,1840,1841,1842,1843,1844,-1824,-1633,-1823,1547,-1673]]],"id":250},{"type":"MultiPolygon","arcs":[[[965]],[[964]],[[966]],[[967]],[[969]]],"id":234},{"type":"MultiPolygon","arcs":[[[457]],[[458]],[[1601]],[[1602]],[[428]]],"id":583},{"type":"Polygon","arcs":[[-1780,1499,1845,-1770]],"id":266},{"type":"MultiPolygon","arcs":[[[997]],[[960]],[[1846,158]],[[952]],[[954]],[[955]],[[953]],[[951]],[[977]],[[971]],[[974]],[[972]],[[973]],[[970]],[[156]],[[962]],[[959]],[[963]],[[961]],[[968]],[[957]],[[956]],[[958]]],"id":826},{"type":"Polygon","arcs":[[-1665,-1648,1847,1529,1848]],"id":268},{"type":"Polygon","arcs":[[186]],"id":831},{"type":"Polygon","arcs":[[1849,1505,-1764,1507,-1765,-1682]],"id":288},{"type":"Polygon","arcs":[[1850,-1767,1851,1852,1511,1853,1854]],"id":324},{"type":"Polygon","arcs":[[1514,1855]],"id":270},{"type":"MultiPolygon","arcs":[[[905]],[[902]],[[911]],[[916]],[[912]],[[917]],[[1512,1856,-1854]]],"id":624},{"type":"MultiPolygon","arcs":[[[1500,-1771,-1846]],[[940]]],"id":226},{"type":"MultiPolygon","arcs":[[[43]],[[874]],[[1026]],[[873]],[[880]],[[885]],[[875]],[[888]],[[881]],[[877]],[[884]],[[892]],[[876]],[[879]],[[878]],[[1441]],[[887]],[[889]],[[1413]],[[883]],[[891]],[[886]],[[882]],[[1021]],[[890]],[[1025]],[[1020]],[[1023]],[[893]],[[1022]],[[897]],[[44]],[[895]],[[896]],[[894]],[[1024]],[[899]],[[898]],[[900]],[[1535,-1630,1857,-1688,1858]]],"id":300},{"type":"Polygon","arcs":[[1859,1113,1860]],"id":308},{"type":"MultiPolygon","arcs":[[[1033]],[[1029]],[[1028]],[[151]],[[1032]],[[13]],[[1030]],[[1031]],[[1407]],[[1406]],[[1401]],[[1408]],[[1405]],[[1404]],[[1403]],[[1402]],[[1409]]],"id":304},{"type":"Polygon","arcs":[[-1702,1236,1861,1862,1258,1863]],"id":320},{"type":"Polygon","arcs":[[426]],"id":316},{"type":"Polygon","arcs":[[1864,-1715,1865,1243]],"id":328},{"type":"MultiPolygon","arcs":[[[208]],[[1225]],[[-1740,1866,1867]]],"id":344},{"type":"Polygon","arcs":[[869]],"id":334},{"type":"MultiPolygon","arcs":[[[1868,1256,1869,-1862,1237]],[[230]],[[1412]]],"id":340},{"type":"MultiPolygon","arcs":[[[1019]],[[183]],[[-1694,1870,1538]],[[184]],[[185]],[[1017]],[[1012]],[[1016]],[[1015]],[[1014]],[[1018]],[[1013]],[[1871,-1695,1540,1872,1873]]],"id":191},{"type":"MultiPolygon","arcs":[[[181]],[[-1808,154]],[[1440]]],"id":332},{"type":"Polygon","arcs":[[1874,1875,1876,-1874,1877,-1654,1878]],"id":348},{"type":"MultiPolygon","arcs":[[[612]],[[613]],[[611]],[[27]],[[92,1879,1880,1881,95,1882,1883,1884]],[[620]],[[1212]],[[618]],[[617]],[[29]],[[615]],[[616]],[[563]],[[1213]],[[619]],[[614]],[[607]],[[26]],[[603]],[[28]],[[30]],[[605]],[[609]],[[608]],[[23]],[[604]],[[602]],[[371]],[[606]],[[1211]],[[404]],[[621]],[[1206]],[[654]],[[219]],[[1205]],[[579]],[[115]],[[1209]],[[601]],[[622]],[[581]],[[578]],[[580]],[[656]],[[1210]],[[587]],[[586]],[[585]],[[564]],[[588]],[[583]],[[584]],[[582]],[[627]],[[1208]],[[628]],[[25]],[[1207]],[[653]],[[652]],[[24]],[[657]],[[651]],[[658]],[[562]],[[659]],[[589]],[[592]],[[590]],[[594]],[[565]],[[591]],[[560]],[[629]],[[31]],[[220]],[[577]],[[593]],[[630]],[[561]],[[660]],[[566]],[[567]],[[559]],[[575]],[[568]],[[595]],[[1885,1886,112,1887]],[[649]],[[576]],[[574]],[[650]],[[569]],[[661]],[[648]],[[570]],[[572]],[[647]],[[640]],[[573]],[[2]],[[642]],[[643]],[[646]],[[638]],[[641]],[[639]],[[644]],[[645]],[[636]],[[655]],[[637]],[[114]],[[635]],[[9]],[[662]],[[571]],[[600]],[[663]],[[631]],[[634]],[[633]],[[626]],[[599]],[[598]],[[597]],[[624,1888,1889]],[[632]],[[117,1890,1891]],[[596]],[[116]],[[664]]],"id":360},{"type":"Polygon","arcs":[[950]],"id":833},{"type":"MultiPolygon","arcs":[[[793]],[[794]],[[796]],[[797]],[[1597]],[[795]],[[798]],[[799]],[[1596]],[[800]],[[801]],[[802]],[[803]],[[1892,1893,1894,1895,1896,1897,1898,-1748,-1719,-1747,1899,-1686,1467,1900,1901,1902]]],"id":356},{"type":"MultiPolygon","arcs":[[[1903]],[[1904]],[[229]]],"id":-99},{"type":"Polygon","arcs":[[1373]],"id":86},{"type":"MultiPolygon","arcs":[[[1905,976]],[[157,-1847]]],"id":372},{"type":"MultiPolygon","arcs":[[[347]],[[-1645,-1664,1574,1906,1907,1908,1909,1910,1470,1911,1912,-1662]]],"id":364},{"type":"Polygon","arcs":[[-1912,1471,1913,1914,1915,1916,1917]],"id":368},{"type":"Polygon","arcs":[[161]],"id":352},{"type":"Polygon","arcs":[[1918,1919,1920,1483,-1818,1921,1525,1922,1923]],"id":376},{"type":"MultiPolygon","arcs":[[[166]],[[150]],[[1000]],[[165]],[[1001]],[[148]],[[999]],[[1924,1542,-1841,-1735,-1656],[1925]]],"id":380},{"type":"Polygon","arcs":[[76]],"id":388},{"type":"Polygon","arcs":[[187]],"id":832},{"type":"Polygon","arcs":[[1926,1482,-1921,1927,-1919,1928,-1916]],"id":400},{"type":"MultiPolygon","arcs":[[[734]],[[733]],[[735]],[[1442]],[[736]],[[737]],[[739]],[[738]],[[740]],[[741]],[[1218]],[[744]],[[743]],[[742]],[[750]],[[753]],[[754]],[[755]],[[130]],[[759]],[[758]],[[756]],[[129]],[[372]],[[752]],[[757]],[[751]],[[745]],[[746]],[[128]],[[747]],[[749]],[[748]],[[127]]],"id":392},{"type":"Polygon","arcs":[[-1902,1929,-1756]],"id":-99},{"type":"MultiPolygon","arcs":[[[136]],[[137]],[[211]],[[-1760,1930,1931,1932,1576,1933]]],"id":398},{"type":"MultiPolygon","arcs":[[[931]],[[1934,1490,1935,1936,1937,-1830]]],"id":404},{"type":"Polygon","arcs":[[-1759,1938,1939,-1931],[1940],[1941],[1942]],"id":417},{"type":"MultiPolygon","arcs":[[[1227]],[[780]],[[1461,1943,1944,1945]]],"id":116},{"type":"MultiPolygon","arcs":[[[1589]],[[1590]],[[1587]],[[1583]],[[1586]],[[1588]],[[1585]],[[1584]],[[1422]],[[1609]],[[1421]],[[1420]],[[1438]],[[1419]],[[1418]],[[408]],[[1417]],[[1416]],[[417]]],"id":296},{"type":"MultiPolygon","arcs":[[[201]],[[1102]]],"id":659},{"type":"MultiPolygon","arcs":[[[765]],[[221]],[[766]],[[764]],[[1372]],[[763]],[[762]],[[1219]],[[1443]],[[767]],[[1451,1946]]],"id":410},{"type":"Polygon","arcs":[[1947,-1628,1948,1949]],"id":-99},{"type":"MultiPolygon","arcs":[[[354]],[[1950,-1914,1472]]],"id":414},{"type":"Polygon","arcs":[[1951,-1945,1952,1953,-1745]],"id":418},{"type":"Polygon","arcs":[[-1923,1526,1954]],"id":422},{"type":"Polygon","arcs":[[-1766,1509,1955,-1852]],"id":430},{"type":"Polygon","arcs":[[-1820,1956,1957,1958,-1810,1959,1522]],"id":434},{"type":"Polygon","arcs":[[1103]],"id":662},{"type":"Polygon","arcs":[[-1734,-1658]],"id":438},{"type":"MultiPolygon","arcs":[[[830]],[[829]],[[133]]],"id":144},{"type":"Polygon","arcs":[[1960]],"id":426},{"type":"MultiPolygon","arcs":[[[1961,1562,1962]],[[-1700,1963,1964,1965,1566,1966]]],"id":440},{"type":"Polygon","arcs":[[-1798,-1840,-1672]],"id":442},{"type":"Polygon","arcs":[[1967,-1701,-1967,1567,-1827]],"id":428},{"type":"Polygon","arcs":[[1968,1969,-1742,1970]],"id":446},{"type":"Polygon","arcs":[[196,1971,1972,1973]],"id":663},{"type":"Polygon","arcs":[[-1815,1974,1975,1976,1977,1978]],"id":504},{"type":"Polygon","arcs":[[1979]],"id":492},{"type":"Polygon","arcs":[[1980,1981]],"id":498},{"type":"MultiPolygon","arcs":[[[936]],[[935]],[[134]]],"id":450},{"type":"MultiPolygon","arcs":[[[1598]],[[1599]]],"id":462},{"type":"MultiPolygon","arcs":[[[1098]],[[1187]],[[1101]],[[1612]],[[1186]],[[1189]],[[1193]],[[1188]],[[1196]],[[1194]],[[1192]],[[1048]],[[1195]],[[1190]],[[1191]],[[1234,-1703,-1864,1259,1982]]],"id":484},{"type":"MultiPolygon","arcs":[[[1415]],[[1424]],[[1425]],[[1423]],[[1603]]],"id":584},{"type":"Polygon","arcs":[[-1689,-1858,-1629,-1948,1983]],"id":807},{"type":"Polygon","arcs":[[1984,-1684,-1768,-1851,1985,1986,-1812]],"id":466},{"type":"MultiPolygon","arcs":[[[1011]],[[164]]],"id":470},{"type":"MultiPolygon","arcs":[[[806]],[[805]],[[804]],[[807]],[[810]],[[809]],[[808]],[[811]],[[812]],[[813]],[[814]],[[817]],[[818]],[[815]],[[819]],[[822]],[[820]],[[821]],[[-1954,1987,1465,-1685,-1900,-1746]]],"id":104},{"type":"Polygon","arcs":[[1988,-1949,-1631,1537,-1871,-1693]],"id":499},{"type":"Polygon","arcs":[[-1762,1989]],"id":496},{"type":"MultiPolygon","arcs":[[[190]],[[427]],[[425]],[[189]],[[424]],[[188]]],"id":580},{"type":"Polygon","arcs":[[1990,1991,1992,1993,1994,1995,1996,1492],[1997],[1998]],"id":508},{"type":"MultiPolygon","arcs":[[[903]],[[1999,1516,2000,-1813,-1987]]],"id":478},{"type":"Polygon","arcs":[[1108]],"id":500},{"type":"Polygon","arcs":[[933]],"id":480},{"type":"MultiPolygon","arcs":[[[-1999]],[[-1998]],[[-1996,2001,2002]]],"id":454},{"type":"MultiPolygon","arcs":[[[665]],[[784]],[[218]],[[-1890,2003,623]],[[785]],[[786]],[[1463,2004]],[[-1891,118,2005,-1717,-1716,122,2006]],[[666]]],"id":458},{"type":"Polygon","arcs":[[2007,-1723,2008,1494,-1624]],"id":516},{"type":"MultiPolygon","arcs":[[[438]],[[435]],[[437]],[[436]],[[8]],[[439]]],"id":540},{"type":"Polygon","arcs":[[2009,2010,-1679,-1680,-1985,-1811,-1959]],"id":562},{"type":"Polygon","arcs":[[2011]],"id":574},{"type":"MultiPolygon","arcs":[[[943]],[[2012,-1772,1502,-1676,-2011]]],"id":566},{"type":"Polygon","arcs":[[1238,-1786,1255,-1869]],"id":558},{"type":"Polygon","arcs":[[420]],"id":570},{"type":"MultiPolygon","arcs":[[[1106]],[[2013]],[[2014]],[[-1674,1549]],[[1027]],[[998]],[[169]],[[1550,-1799,2015,-1675]],[[170]],[[168]],[[167]],[[1229]]],"id":528},{"type":"MultiPolygon","arcs":[[[1398]],[[1380]],[[1381]],[[1382]],[[1397]],[[1399]],[[1383]],[[1384]],[[1392]],[[1391]],[[1396]],[[1395]],[[1393]],[[1379]],[[1387]],[[1394]],[[1385]],[[1389]],[[1390]],[[1386]],[[2016,-1835,2017,1446]],[[1388]],[[831]],[[685]],[[33]],[[672]],[[684]],[[673]],[[147]],[[676]],[[683]],[[146]]],"id":578},{"type":"Polygon","arcs":[[-1899,-1749]],"id":524},{"type":"Polygon","arcs":[[1414]],"id":520},{"type":"MultiPolygon","arcs":[[[464]],[[465]],[[466]],[[461]],[[1197]],[[463]],[[462]],[[460]],[[107]],[[459]],[[106]],[[1582]],[[1581]]],"id":554},{"type":"MultiPolygon","arcs":[[[345]],[[1479,2018,2019,-1634]],[[-1637]],[[-1636,1477]]],"id":512},{"type":"Polygon","arcs":[[-1930,-1901,1468,2020,-1910,-1618,-1757]],"id":586},{"type":"MultiPolygon","arcs":[[[1180]],[[1164]],[[326]],[[1099]],[[-1784,1253,-1785,1240]]],"id":591},{"type":"Polygon","arcs":[[1610]],"id":612},{"type":"Polygon","arcs":[[-1712,-1706,-1738,1250,-1816,-1782]],"id":604},{"type":"MultiPolygon","arcs":[[[518]],[[370]],[[519]],[[1201]],[[1200]],[[507]],[[506]],[[516]],[[517]],[[1202]],[[108]],[[520]],[[1199]],[[515]],[[521]],[[508]],[[1198]],[[512]],[[17]],[[513]],[[514]],[[15]],[[509]],[[18]],[[1203]],[[1204]],[[16]],[[511]],[[510]],[[526]],[[19]],[[529]],[[525]],[[524]],[[528]],[[527]],[[20]],[[523]],[[522]],[[530]],[[531]],[[532]],[[109]],[[533]],[[534]],[[535]],[[536]],[[537]]],"id":608},{"type":"MultiPolygon","arcs":[[[1600]],[[423]]],"id":585},{"type":"MultiPolygon","arcs":[[[556]],[[555]],[[554]],[[549]],[[551]],[[550]],[[553]],[[558]],[[552]],[[557]],[[538]],[[21]],[[539]],[[543]],[[540]],[[91]],[[369]],[[544]],[[545]],[[546]],[[2021,2022,2023,110,2024]],[[22]],[[548]],[[541]],[[542]],[[547]]],"id":598},{"type":"Polygon","arcs":[[2025,-1964,-1699,2026,2027,-1790,-1796,2028,1557,2029,-1793,1560]],"id":616},{"type":"MultiPolygon","arcs":[[[2030]],[[200]],[[77]]],"id":630},{"type":"MultiPolygon","arcs":[[[1220]],[[2031,1450,-1947,1452,-1739]]],"id":408},{"type":"MultiPolygon","arcs":[[[904]],[[182]],[[1010]],[[1009]],[[1008]],[[1007]],[[1006]],[[1005]],[[1545,-1825]]],"id":620},{"type":"Polygon","arcs":[[-1711,-1639,-1704]],"id":600},{"type":"MultiPolygon","arcs":[[[-1817,1524,-1922]],[[-1920,-1928]]],"id":275},{"type":"MultiPolygon","arcs":[[[1430]],[[1428]],[[1431]],[[1429]],[[1432]],[[1427]],[[412]],[[175]],[[407]],[[1434]],[[1435]],[[174]],[[1437]],[[1433]],[[1436]],[[411]],[[410]],[[409]],[[414]],[[1374]],[[413]]],"id":258},{"type":"Polygon","arcs":[[2032,1474]],"id":634},{"type":"Polygon","arcs":[[2033,1532,-1691,2034,-1876,2035,-1981]],"id":642},{"type":"MultiPolygon","arcs":[[[1579]],[[1577]],[[1578]],[[731]],[[732]],[[727]],[[212]],[[726]],[[725]],[[724]],[[722]],[[327]],[[721]],[[720]],[[723]],[[126]],[[718]],[[730]],[[729]],[[-1965,-2026,1561,-1962,2036,1564,2037]],[[719]],[[728]],[[717]],[[670]],[[1214]],[[671]],[[2038]],[[37]],[[223]],[[1217]],[[716]],[[38]],[[224]],[[715]],[[686]],[[1445]],[[714]],[[2039]],[[691]],[[692]],[[688]],[[709]],[[125]],[[39]],[[690]],[[689]],[[104]],[[710]],[[694]],[[693]],[[713]],[[42]],[[695]],[[41]],[[696]],[[697]],[[105]],[[711]],[[222]],[[103]],[[698]],[[1215]],[[708]],[[699]],[[712]],[[124]],[[700]],[[701]],[[707]],[[-2032,-1763,-1990,-1761,-1934,1572,-1666,-1849,1530,2040,-1697,-1968,-1826,1569,-1833,-2017,2041,2042,2043]],[[705]],[[706]],[[102]],[[702]],[[1216]],[[40]],[[675]],[[333]],[[101]],[[674]],[[225]],[[332]],[[331]],[[12]],[[329]],[[35]],[[34]],[[36]],[[703]],[[330]],[[678]],[[680]],[[679]],[[11]],[[704]],[[100]],[[328]],[[677]],[[681]],[[682]]],"id":643},{"type":"Polygon","arcs":[[2044,-1669,-1776,2045]],"id":646},{"type":"Polygon","arcs":[[-2001,1517,2046,-1975,-1814]],"id":732},{"type":"MultiPolygon","arcs":[[[349]],[[216]],[[217]],[[-1951,1473,-2033,1475,-1635,-2020,2047,1481,-1927,-1915]]],"id":682},{"type":"Polygon","arcs":[[1485,-1822,-1832,2048,-1724,2049,-1957,-1819]],"id":729},{"type":"Polygon","arcs":[[-1831,-1938,2050,-1774,-1725,-2049]],"id":728},{"type":"Polygon","arcs":[[-1986,-1855,-1857,1513,-1856,1515,-2000]],"id":686},{"type":"Polygon","arcs":[[783]],"id":702},{"type":"MultiPolygon","arcs":[[[342]],[[66]]],"id":239},{"type":"MultiPolygon","arcs":[[[937]],[[1595]]],"id":654},{"type":"MultiPolygon","arcs":[[[440]],[[442]],[[441]],[[444]],[[445]],[[14]],[[447]],[[446]],[[1375]],[[450]],[[451]],[[452]],[[448]],[[443]],[[449]],[[454]],[[455]],[[453]],[[367]],[[456]],[[368]]],"id":90},{"type":"MultiPolygon","arcs":[[[909]],[[-1956,1510,-1853]]],"id":694},{"type":"Polygon","arcs":[[-1870,1257,-1863]],"id":222},{"type":"Polygon","arcs":[[-1926]],"id":674},{"type":"Polygon","arcs":[[2051,-1828,-1803,1488]],"id":-99},{"type":"Polygon","arcs":[[-1935,-1829,-2052,1489]],"id":706},{"type":"MultiPolygon","arcs":[[[1295]],[[1352]]],"id":666},{"type":"Polygon","arcs":[[-2035,-1690,-1984,-1950,-1989,-1692,-1872,-1877]],"id":688},{"type":"MultiPolygon","arcs":[[[941]],[[942]]],"id":678},{"type":"Polygon","arcs":[[-1839,-1708,-1865,1244]],"id":740},{"type":"Polygon","arcs":[[2052,-1879,-1653,-1791,-2028]],"id":703},{"type":"Polygon","arcs":[[-1873,1541,-1925,-1655,-1878]],"id":705},{"type":"MultiPolygon","arcs":[[[983]],[[47]],[[982]],[[226]],[[227]],[[1571,-2018,-1834]]],"id":752},{"type":"Polygon","arcs":[[-1992,2053]],"id":748},{"type":"Polygon","arcs":[[198,2054,-1973,2055]],"id":534},{"type":"Polygon","arcs":[[939]],"id":690},{"type":"Polygon","arcs":[[-1917,-1929,-1924,-1955,1527,2056]],"id":760},{"type":"MultiPolygon","arcs":[[[1127]],[[1124]],[[1126]]],"id":796},{"type":"Polygon","arcs":[[-2050,-1729,-1773,-2013,-2010,-1958]],"id":148},{"type":"Polygon","arcs":[[-1677,1504,-1850,-1681]],"id":768},{"type":"MultiPolygon","arcs":[[[787]],[[816]],[[790]],[[791]],[[792]],[[789]],[[788]],[[781]],[[782]],[[-1953,-1944,1462,-2005,1464,-1988]]],"id":764},{"type":"MultiPolygon","arcs":[[[-1941]],[[2057]],[[-1939,-1758,-1622,2058]]],"id":762},{"type":"MultiPolygon","arcs":[[[135]],[[-1620,-1907,1575,-1933,2059]]],"id":795},{"type":"MultiPolygon","arcs":[[[2060,-1881,2061]],[[-1884,2062,97,2063]],[[610]]],"id":626},{"type":"MultiPolygon","arcs":[[[422]],[[210]],[[406]]],"id":776},{"type":"MultiPolygon","arcs":[[[1105]],[[1107]]],"id":780},{"type":"MultiPolygon","arcs":[[[949]],[[948]],[[-1960,-1809,1521]]],"id":788},{"type":"MultiPolygon","arcs":[[[901]],[[-1848,-1647,-1663,-1913,-1918,-2057,1528]],[[1534,-1859,-1687]]],"id":792},{"type":"MultiPolygon","arcs":[[[760]],[[131]]],"id":158},{"type":"MultiPolygon","arcs":[[[930]],[[932]],[[938]],[[-1936,1491,-1997,-2003,2064,-1777,-1667,-2045,2065]]],"id":834},{"type":"Polygon","arcs":[[-2066,-2046,-1775,-2051,-1937]],"id":800},{"type":"MultiPolygon","arcs":[[[667]],[[1531,-2034,-1982,-2036,-1875,-2053,-2027,-1698,-2041]]],"id":804},{"type":"Polygon","arcs":[[1247,-1641,-1710]],"id":858},{"type":"MultiPolygon","arcs":[[[832]],[[838]],[[834]],[[833]],[[836]],[[835]],[[837]],[[1614]],[[1089]],[[3]],[[207]],[[4]],[[5]],[[1095]],[[1087]],[[1092]],[[1067]],[[1065]],[[1090]],[[192]],[[1064]],[[1066]],[[1071]],[[1068]],[[193]],[[1072]],[[1070]],[[194]],[[195]],[[1069]],[[1047]],[[177]],[[1051]],[[1049]],[[176]],[[1050]],[[209]],[[1063]],[[1059]],[[1062]],[[1060]],[[1061]],[[1053]],[[1054]],[[90]],[[1058]],[[1056]],[[1052]],[[1057]],[[401]],[[403]],[[228]],[[1035]],[[1036]],[[1040]],[[1038]],[[1039]],[[1037]],[[-1730,1233,-1983,1260,-1732]],[[839]],[[864]],[[863]],[[868]],[[867]],[[865]],[[163]],[[840]],[[866]],[[841]],[[861]],[[860]],[[862]],[[842]],[[854]],[[853]],[[843]],[[857]],[[859]],[[858]],[[855]],[[856]],[[849]],[[848]],[[75]],[[850]],[[852]],[[1146]],[[851]],[[1143]],[[846]],[[847]],[[1145]],[[1133]],[[80]],[[81]],[[1149]],[[1148]],[[1134]],[[1135]],[[1439]],[[1147]],[[1144]],[[82]],[[1129]],[[845]],[[83]],[[1132]],[[78]],[[85]],[[1150]],[[84]],[[79]],[[1131]],[[1128]],[[1138]],[[1140]],[[1139]],[[74]],[[1137]],[[1136]],[[1141]],[[1130]],[[844]],[[1142]],[[73]],[[1611]],[[-1733,1262,-1731,1264]]],"id":840},{"type":"MultiPolygon","arcs":[[[-1942]],[[-1943]],[[-1940,-2059,-1621,-2060,-1932],[-2058]]],"id":860},{"type":"Polygon","arcs":[[2066]],"id":336},{"type":"MultiPolygon","arcs":[[[2067]],[[2068]],[[1121]]],"id":670},{"type":"MultiPolygon","arcs":[[[1161]],[[1167]],[[180]],[[1110]],[[-1866,-1714,-1781,1242]]],"id":862},{"type":"MultiPolygon","arcs":[[[204]],[[202]],[[2069]]],"id":92},{"type":"MultiPolygon","arcs":[[[205]],[[203]],[[162]]],"id":850},{"type":"MultiPolygon","arcs":[[[778]],[[779]],[[1226]],[[776]],[[777]],[[775]],[[774]],[[1460,-1946,-1952,-1744]]],"id":704},{"type":"MultiPolygon","arcs":[[[432]],[[433]],[[434]],[[360]],[[358]],[[359]],[[365]],[[366]],[[363]],[[361]],[[364]],[[362]],[[430]],[[431]]],"id":548},{"type":"MultiPolygon","arcs":[[[1426]],[[421]]],"id":876},{"type":"MultiPolygon","arcs":[[[418]],[[415]]],"id":882},{"type":"MultiPolygon","arcs":[[[343]],[[351]],[[353]],[[214]],[[1480,-2048,-2019]]],"id":887},{"type":"MultiPolygon","arcs":[[[872]],[[-1993,-2054,-1991,1493,-2009,-1722,2070],[-1961]]],"id":710},{"type":"Polygon","arcs":[[-2002,-1995,2071,-2008,-1623,-1778,-2065]],"id":894},{"type":"Polygon","arcs":[[-2071,-1721,-2072,-1994]],"id":716}]}},"arcs":[[[99640,40414],[-12,33],[-7,41],[-10,30],[-29,7],[4,37],[8,15],[7,22],[5,25],[14,-16],[14,-10],[16,19],[17,1],[17,54],[26,34],[37,27],[37,19],[19,4],[18,11],[32,51],[21,26],[24,16],[22,9],[20,-8],[17,4],[42,37],[0,-10],[-42,-79],[-15,-40],[-13,-45],[-36,-48],[-15,-65],[1,-66],[36,69],[40,56],[12,11],[13,-1],[-1,-19],[-6,-19],[-5,-49],[11,-46],[-30,5],[-29,-4],[-35,-26],[-34,-11],[-13,-1],[-13,9],[-8,13],[-6,31],[-6,4],[-28,-1],[-40,-60],[-14,-51],[-16,-2],[-18,10],[-23,-39],[-26,-14]],[[99216,40303],[8,47],[8,15],[5,3],[9,3],[-4,-33],[-11,-25],[-15,-10]],[[85371,50921],[-9,6],[-6,25],[2,18],[8,12],[9,-9],[5,-33],[-9,-19]],[[27398,65063],[-4,4],[0,18],[-11,39],[0,10],[27,-38],[1,-11],[-4,-10],[-9,-12]],[[27542,65166],[2,8],[11,17],[4,-6],[0,-9],[-12,-10],[-5,0]],[[27593,65222],[11,25],[3,-2],[-7,-20],[-7,-3]],[[90666,27280],[-17,13],[-2,28],[-22,66],[-26,59],[-25,18],[-14,-19],[-23,-21],[-20,75],[-20,64],[-28,7],[-24,-1],[-19,28],[-39,44],[8,35],[10,36],[22,13],[-6,49],[-12,40],[-30,11],[-21,-7],[-12,-32],[-16,-55],[-64,-69],[-32,38],[-36,57],[18,-4],[36,2],[30,50],[13,32],[15,67],[-19,48],[-18,35],[-26,31],[-98,-105],[-21,-15],[-19,-21],[34,-17],[20,5],[21,-31],[-34,-44],[-26,-11],[-34,-27],[-63,-67],[-80,-140],[-35,-41],[-41,-32],[-56,38],[-31,8],[-40,58],[-67,38],[-63,77],[-44,39],[-31,8],[-43,-16],[-73,68],[-56,8],[-36,-69],[-29,5],[-18,9],[-59,114],[-56,56],[-107,29],[-66,78],[-49,151],[-94,171],[-25,63],[-12,62],[-1,49],[13,93],[17,91],[3,51],[-35,172],[-50,163],[-23,51],[-62,109],[-57,82],[-15,42],[-4,22],[27,-11],[12,34],[19,11],[14,-44],[17,-8],[0,74],[10,35],[-7,16],[-5,14],[-25,17],[-28,-25],[-21,-32],[-28,-27],[-11,-28],[-29,-1],[-12,-7],[-58,-55],[-36,-1],[-57,19],[18,75],[23,44],[19,51],[30,178],[-5,155],[-15,64],[-48,127],[-22,79],[-27,82],[-13,-48],[-8,-50],[-26,-72],[-13,-161],[-50,-246],[-35,-3],[-30,10],[-52,-28],[-35,-34],[-32,0],[-18,-11],[-23,9],[37,192],[31,-6],[35,8],[15,-3],[23,2],[18,88],[11,99],[-7,64],[-3,66],[7,75],[3,54],[43,179],[37,92],[42,74],[-5,69],[-14,88],[-4,67],[20,21],[19,42],[-22,192],[-14,57],[-22,57],[0,-74],[2,-72],[-30,-91],[-40,-66],[-26,-62],[-25,-140],[-32,-118],[-30,-44],[-27,-10],[-27,-18],[-42,-47],[-42,-39],[-30,-52],[-26,-27],[-86,-237],[-40,-79],[-8,-31],[-16,-27],[3,-38],[13,-25],[13,-105],[-8,-22],[-14,11],[-35,59],[-22,-21],[-18,-24],[-46,107],[-20,25],[-24,44],[-26,37],[-11,4],[-19,-8],[2,29],[13,24],[11,6],[21,-35],[24,-31],[14,-2],[6,12],[-23,122],[-15,106],[-7,32],[-19,108],[-9,32],[-40,76],[-43,90],[-11,107],[-16,69],[-20,44],[-31,38],[-85,15],[-35,110],[-21,137],[16,9],[19,1],[7,43],[-5,65],[-84,81],[-40,85],[-34,36],[-31,15],[-42,-3],[-53,2],[-126,135],[-30,4],[-90,-42],[-31,8],[-137,184],[-91,88],[-30,16],[-39,15],[-32,-21],[-22,-21],[-46,-22],[-182,15],[-156,-29],[-105,-19],[-67,-26],[-112,-109],[-133,-106],[-108,-50],[-99,-67],[-66,-20],[-84,-8],[-179,32],[-61,-24],[-97,-124],[-29,-30],[-55,-34],[-141,-159],[-65,-34],[-42,-11],[-36,-33],[-32,-68],[-45,-188],[-27,-89],[-61,-142],[-39,-47],[-40,6],[-44,-49],[-38,52],[-31,10],[-50,-4],[-174,-60],[-25,70],[-32,10],[-60,-3],[-90,21],[-164,-26],[-79,-29],[-31,-26],[-58,17],[-99,-24],[-35,-39],[-26,-36],[-51,-158],[-56,-52],[-47,-2],[-51,-12],[-105,-152],[-106,-148],[-36,-16],[-40,-25],[-52,-12],[-26,-13],[-122,38],[-77,4],[-97,23],[-83,72],[-64,42],[-73,160],[-44,59],[-80,72],[-23,-2],[-19,-20],[-33,51],[-1,65],[-9,56],[1,146],[5,171],[29,-38],[23,-37],[49,2],[44,64],[25,94],[21,106],[-3,113],[-15,199],[10,42],[15,17],[5,99],[4,304],[-11,114],[-68,232],[-45,202],[-32,91],[-28,147],[-23,204],[-7,103],[-7,190],[8,108],[-4,63],[-28,172],[-64,160],[-10,60],[0,62],[-15,73],[-51,147],[-52,127],[-9,62],[-10,256],[-19,117],[-89,296],[-104,255],[-29,104],[-13,35],[8,5],[11,-14],[13,-26],[7,-2],[6,21],[-1,49],[4,27],[9,-15],[11,-55],[33,-141],[10,-72],[42,-22],[13,19],[15,37],[5,100],[-21,45],[-20,19],[-32,74],[-21,119],[-33,110],[0,39],[15,28],[25,-15],[23,-63],[25,-59],[-4,-103],[-4,-28],[2,-24],[9,-22],[12,-18],[13,26],[11,60],[7,-8],[18,-136],[14,-38],[27,-42],[24,33],[11,28],[-4,97],[7,93],[-4,70],[-61,181],[-56,225],[-34,112],[-28,168],[-18,58],[-24,95],[-1,107],[2,72],[19,156],[18,81],[56,186],[3,81],[0,60],[8,93],[0,65],[-8,60],[-23,104],[31,181],[45,233],[18,34],[28,31],[5,-48],[-13,-161],[19,-84],[-6,-95],[18,17],[27,18],[21,49],[11,48],[51,189],[30,70],[41,52],[85,62],[81,83],[39,79],[49,68],[34,75],[32,51],[166,188],[28,35],[36,4],[44,-6],[40,10],[43,-43],[31,-5],[77,47],[41,41],[71,91],[31,26],[72,29],[82,38],[98,158],[70,-10],[63,-15],[51,47],[119,29],[66,40],[124,105],[33,36],[50,75],[44,93],[43,127],[27,113],[11,59],[26,92],[17,74],[14,35],[48,49],[71,139],[23,28],[4,44],[-15,25],[-19,16],[-13,147],[-12,102],[-1,71],[5,68],[28,105],[19,46],[28,52],[25,17],[21,46],[34,46],[15,45],[21,94],[19,71],[15,-3],[28,-165],[19,-87],[35,-103],[32,-152],[27,-69],[13,-45],[10,-21],[3,29],[-3,34],[13,115],[-6,82],[2,31],[6,13],[13,-9],[25,-45],[13,-17],[9,4],[-1,74],[13,46],[-5,32],[-22,-2],[-9,40],[-18,46],[-21,32],[-24,76],[-8,29],[10,14],[15,-2],[13,33],[5,43],[-11,70],[12,27],[22,-8],[36,-112],[16,11],[13,45],[23,13],[24,-8],[15,-32],[32,-33],[42,4],[22,-8],[45,5],[22,-9],[-4,17],[-25,21],[-27,4],[-32,-2],[-14,21],[-5,57],[8,41],[5,18],[21,-8],[19,2],[2,55],[7,49],[11,40],[0,38],[-12,-10],[-28,-88],[-14,72],[-20,54],[4,79],[12,78],[18,11],[16,-12],[23,46],[13,35],[-3,28],[3,23],[16,-7],[62,-71],[12,-37],[13,15],[4,40],[-1,40],[-14,-6],[-32,4],[-7,23],[3,18],[-15,47],[21,31],[17,1],[13,21],[0,28],[4,12],[10,-16],[32,-8],[31,-37],[15,-7],[6,19],[2,42],[-39,43],[-1,41],[-17,48],[0,47],[24,39],[5,38],[15,16],[27,0],[19,33],[21,11],[6,72],[-1,49],[9,13],[21,-21],[-6,-57],[0,-54],[-6,-30],[8,3],[5,12],[9,36],[22,-15],[6,-38],[3,-38],[11,-12],[15,58],[21,15],[-1,73],[8,52],[2,40],[13,19],[3,42],[-10,28],[-6,53],[18,11],[18,-26],[13,-66],[8,-30],[11,16],[7,44],[22,26],[22,-36],[24,-48],[31,42],[28,80],[-5,48],[4,50],[35,27],[29,-20],[25,-53],[54,-40],[46,-58],[20,-37],[40,-60],[25,-61],[34,-110],[82,-134],[5,-24],[-11,-45],[-10,-57],[-12,-97],[-3,-143],[12,10],[12,51],[13,-11],[14,-32],[2,31],[-9,19],[-15,66],[0,35],[12,28],[19,34],[20,22],[13,19],[2,24],[18,24],[28,8],[16,-4],[118,-61],[29,-61],[3,-75],[11,-27],[7,47],[-2,103],[10,21],[31,-16],[22,-21],[30,-67],[6,-34],[13,-21],[4,31],[-6,45],[-4,51],[6,44],[36,3],[23,10],[-11,17],[-15,6],[-25,41],[-17,44],[27,42],[-1,11],[-25,-1],[-34,41],[-29,58],[22,106],[45,103],[25,35],[2,35],[12,65],[8,54],[2,42],[11,45],[28,42],[37,15],[18,17],[18,39],[16,47],[-34,93],[3,51],[6,61],[42,44],[22,115],[15,18],[33,-4],[13,11],[-2,92],[3,36],[14,14],[18,-12],[11,-40],[25,-37],[9,20],[-4,40],[-3,52],[23,12],[19,3],[1,42],[-3,34],[8,15],[48,7],[13,34],[7,31],[6,-17],[8,-67],[27,-40],[80,-1],[45,28],[19,-17],[30,-12],[32,32],[20,24],[33,-32],[11,-33],[8,70],[20,25],[20,15],[26,-12],[10,4],[-23,52],[1,48],[-1,70],[4,65],[8,46],[-55,93],[-55,14],[-40,-19],[-17,15],[-36,75],[-34,27],[-2,19],[41,53],[16,-9],[24,-50],[14,-18],[12,4],[7,39],[11,21],[20,-12],[62,-85],[34,-82],[18,22],[31,46],[29,-10],[17,-27],[25,-100],[20,-50],[48,-13],[24,-19],[25,-33],[33,3],[70,-13],[65,-64],[27,-40],[32,-10],[18,-16],[34,-5],[53,45],[24,-41],[11,-29],[48,-54],[53,-16],[37,54],[55,41],[38,62],[28,29],[27,51],[10,-3],[-22,-47],[-2,-27],[17,-11],[-2,-14],[-23,-36],[-29,-58],[1,-34],[11,-19],[13,8],[18,29],[23,16],[19,-23],[7,-83],[14,-54],[30,-8],[19,1],[19,76],[-10,65],[-12,13],[6,25],[48,107],[27,-4],[19,-104],[31,-55],[32,4],[17,-14],[14,-63],[-114,-258],[-5,-28],[15,-47],[6,-55],[-37,-131],[-14,-6],[-13,35],[-19,23],[-18,-16],[-18,-10],[-66,-73],[0,-188],[17,-111],[-10,-74],[-19,-130],[-22,-48],[-17,-31],[-57,-176],[-18,-43],[-19,-60],[6,-58],[7,-40],[22,-46],[83,-94],[38,-65],[66,-79],[15,-55],[9,-44],[47,-51],[34,-30],[10,8],[7,10],[8,1],[9,-6],[-2,-40],[-3,-21],[3,-28],[24,-35],[38,1],[22,8],[25,-37],[22,-24],[36,-50],[63,-60],[49,-39],[58,-144],[44,-83],[49,-60],[72,-43],[33,7],[54,-49],[53,-23],[28,-68],[9,-51],[3,-40],[26,-95],[54,-31],[69,-95],[57,-41],[14,-25],[25,-29],[48,-2],[84,48],[38,48],[51,76],[23,132],[14,105],[71,218],[20,109],[18,143],[15,90],[-5,98],[16,177],[36,243],[13,82],[-7,121],[-22,227],[10,78],[10,110],[-16,79],[-16,54],[-2,77],[17,144],[15,77],[16,98],[-9,187],[34,65],[13,33],[26,0],[12,-15],[3,38],[-10,34],[-4,41],[-8,20],[-16,7],[-13,22],[-19,23],[3,83],[33,161],[18,61],[11,-25],[14,-21],[2,46],[-5,47],[25,157],[27,213],[8,193],[44,37],[23,49],[13,56],[25,0],[17,-24],[-11,-43],[-4,-32],[47,-81],[16,-62],[7,-58],[9,-55],[4,-75],[0,-118],[6,-112],[17,-35],[15,-23],[22,-3],[31,-18],[-7,-72],[-14,-56],[-1,-33],[3,-46],[22,-34],[18,-22],[10,-60],[31,-83],[-1,-57],[16,-71],[16,-141],[4,-124],[16,-83],[-10,-176],[11,-73],[15,-59],[18,-119],[13,-110],[19,-31],[38,-36],[41,40],[28,55],[31,14],[43,28],[31,-73],[17,-82],[74,-107],[42,-70],[32,-39],[30,-51],[-3,-51],[-7,-40],[7,-63],[4,-73],[-6,-89],[22,-133],[7,-106],[23,-104],[-2,-107],[-4,-40],[-3,-60],[18,-75],[17,-55],[24,-60],[33,-91],[23,-18],[20,-1],[-3,-94],[41,-184],[22,-151],[-15,-202],[-14,-118],[3,-57],[53,-141],[30,-26],[-6,-67],[-4,-103],[24,-81],[27,-60],[30,-36],[29,-28],[38,-29],[48,-12],[25,-45],[13,-36],[39,-12],[17,6],[22,15],[14,-25],[11,-32],[21,-88],[44,-87],[30,-15],[18,-44],[24,-12],[22,-5],[30,-34],[49,-78],[45,-13],[20,-22],[44,-85],[17,-46],[18,-67],[-22,-7],[-21,14],[-13,-66],[29,-92],[35,-65],[41,-69],[40,-97],[10,-74],[11,-29],[13,-105],[35,-61],[2,-110],[18,-153],[19,-139],[14,-42],[17,-66],[18,8],[14,22],[28,-66],[15,-30],[8,18],[-17,126],[11,73],[10,10],[16,2],[18,-60],[26,-63],[47,-57],[38,-54],[11,2],[-4,42],[1,60],[15,10],[14,-30],[25,-94],[5,-193],[0,-162],[17,-167],[24,-44],[16,-41],[28,-56],[18,-52],[23,-25],[74,-111],[20,-12],[32,-3],[40,-50],[19,-46],[43,-174],[20,-61],[43,-61],[19,-19],[29,-42],[10,-60],[3,-35],[17,-64],[25,-77],[38,-43],[34,-94],[2,-152],[18,-75],[12,-32],[27,-31],[11,-25],[-23,-201],[22,-402],[-12,-126],[22,-124],[52,-216],[12,-76],[7,-90],[34,-114],[-2,-173],[13,-83],[-3,-107],[-40,-116],[-31,-143],[-1,-122],[-20,-234],[-14,-63],[-10,-98],[-43,-237],[-2,-93],[6,-110],[-7,-107],[-11,-72],[-10,-134],[-44,-208],[-63,-154],[-4,-117],[-8,-51],[-13,-65],[-39,-70],[-23,-30],[-9,-42],[-22,0],[0,-12],[15,-13],[-7,-22],[-58,-37],[-40,-48],[-40,-117],[-17,-61],[-21,-59],[-13,-27],[-6,-30],[-8,-73],[-21,-14],[-18,-21],[8,-71],[-9,-80],[-3,-54],[-10,-35],[-11,13],[-10,-6],[-12,-19],[19,-6],[11,-8],[-39,-79],[-36,-80],[-10,-53],[-15,-66],[-14,-149],[-11,-84],[8,-60],[-2,-12],[-8,-4],[-5,8],[-17,-21],[-4,-21],[7,-25],[4,-9],[-2,-12],[-6,-13],[-16,0],[-19,-22],[-53,-219],[-23,-58],[-27,-90],[-10,-81],[-8,-89],[-10,-149],[-9,-106],[-21,-102],[-7,-72],[-3,-140],[10,-105],[-7,-56],[0,-54],[-8,-50],[-34,-12],[-28,-41],[-40,-66],[-23,-25],[-51,-18],[-99,8],[-189,-25],[-37,-15],[-70,-46],[-68,-72],[-66,-97],[-149,-264],[-117,-28],[-22,0],[-18,7],[-21,-16],[0,-33],[19,-34],[14,-32],[25,44],[11,-12],[4,-82],[1,-51],[-8,-28],[-15,-20]],[[99431,39651],[-30,5],[-21,21],[-38,23],[-49,20],[-21,16],[-17,25],[-16,65],[-3,32],[3,30],[15,11],[12,15],[1,20],[6,14],[7,5],[3,10],[-5,33],[-1,30],[29,54],[31,47],[56,43],[34,-4],[52,33],[17,15],[16,-9],[9,-26],[0,-26],[8,-11],[8,-2],[21,-50],[31,-43],[19,-33],[1,-28],[-6,-30],[8,-53],[4,-56],[14,-88],[-20,-16],[-30,-2],[-7,-16],[-11,9],[-25,-7],[-25,-29],[-23,-39],[-27,0],[-30,-8]],[[96325,37215],[-56,65],[-14,10],[-15,-4],[-8,14],[-6,21],[-35,25],[-32,39],[-9,26],[-5,33],[-8,19],[-45,29],[-31,32],[-22,45],[-34,32],[-54,65],[-27,20],[-24,33],[-65,117],[-23,22],[-20,53],[-55,124],[-27,51],[-29,45],[-22,53],[-17,64],[-40,90],[-5,39],[2,39],[-10,26],[-16,15],[-8,27],[1,36],[5,19],[40,-62],[31,-38],[34,16],[42,-58],[108,-178],[37,-38],[23,-14],[16,-29],[16,-41],[20,-29],[9,-27],[2,-36],[8,-23],[37,-59],[22,-51],[32,-27],[13,-30],[17,-16],[18,-31],[30,-25],[68,-90],[53,-87],[26,-53],[29,-48],[36,-37],[34,-44],[17,-101],[-9,-37],[-20,-18],[-18,-1],[-17,-12]],[[85673,49942],[-41,14],[-12,49],[-52,48],[-10,29],[-34,138],[-10,26],[-31,47],[-14,35],[-5,47],[4,49],[-2,68],[1,68],[7,82],[-11,29],[-15,27],[-17,63],[-5,72],[1,42],[7,36],[10,32],[2,31],[-25,45],[-25,128],[-2,66],[32,128],[-1,62],[7,36],[3,39],[17,86],[28,72],[47,102],[18,22],[20,14],[2,-25],[-4,-22],[-34,-103],[-5,-23],[-1,-44],[17,-25],[18,-53],[3,-70],[1,-74],[-4,-75],[-7,-25],[-28,-75],[-65,-88],[-5,-22],[0,-24],[12,-30],[15,-22],[21,-13],[21,3],[10,27],[3,34],[11,64],[24,43],[17,7],[12,18],[-2,48],[1,46],[18,50],[57,69],[31,25],[42,8],[5,-27],[-5,-38],[8,-57],[-4,-154],[-10,-22],[-42,-54],[-47,-42],[-13,-18],[-12,-43],[1,-42],[38,-56],[59,-53],[13,-25],[8,-41],[2,-46],[14,-22],[20,-11],[13,-22],[11,-31],[-100,72],[-26,32],[-32,4],[-31,10],[-32,27],[-34,7],[-16,-20],[-7,-39],[-4,-44],[8,-55],[-1,-33],[-6,-59],[25,-177],[31,-140],[45,-146],[23,-50],[25,-46]],[[69131,21021],[-16,6],[-9,29],[2,30],[5,30],[11,30],[6,32],[-2,31],[-12,23],[6,41],[-12,31],[4,24],[20,16],[-9,14],[-10,4],[-7,18],[-6,23],[7,42],[12,40],[-2,46],[19,44],[17,48],[12,19],[15,3],[7,-13],[3,-27],[-6,-17],[14,-8],[4,-56],[-9,-23],[-1,-22],[-19,-48],[5,-38],[37,-16],[23,-4],[13,6],[62,78],[16,2],[-2,-60],[16,-27],[-20,-7],[-38,3],[-9,-34],[39,-44],[19,-6],[15,1],[29,10],[23,15],[36,37],[22,14],[41,1],[21,34],[10,11],[24,-2],[21,-13],[13,-31],[7,-39],[-5,-38],[-15,-36],[-26,-23],[6,-27],[-7,-13],[-13,-1],[-12,6],[-16,32],[-20,17],[-48,-2],[-22,-2],[-3,-24],[-12,-18],[-12,-11],[-16,5],[-3,-10],[9,-26],[21,-32],[36,-22],[21,-4],[3,42],[26,5],[23,-13],[16,-31],[-13,-10],[-12,-17],[-3,-21],[-23,-24],[-13,-2],[-44,11],[-26,27],[-6,18],[-16,7],[-18,-24],[-19,-5],[-37,20],[-35,32],[-22,12],[-33,8],[-19,-73],[-26,-31],[-33,-3]],[[67551,98280],[-51,9],[-67,29],[-67,35],[20,19],[63,24],[82,43],[139,9],[67,0],[67,10],[19,22],[13,42],[12,22],[15,19],[74,13],[63,0],[63,-17],[40,-15],[38,-28],[20,-23],[-6,-29],[3,-24],[18,-22],[-122,-66],[-125,-38],[-326,-33],[-52,-1]],[[66055,97928],[-113,21],[-17,11],[-14,21],[-19,80],[-1,24],[-7,16],[-28,29],[-20,14],[18,15],[124,-11],[266,-6],[136,-29],[40,-16],[39,-27],[-238,-15],[-32,-12],[1,-30],[-9,-27],[-25,-3],[-58,-44],[-43,-11]],[[42250,92211],[-29,8],[-9,11],[0,17],[19,47],[8,13],[37,15],[25,42],[-8,46],[10,64],[25,9],[64,-22],[41,-5],[73,-3],[99,8],[79,26],[144,73],[25,-1],[19,-26],[13,-13],[43,-20],[7,-12],[10,-35],[1,-16],[-2,-14],[-6,-10],[-13,-9],[25,-23],[7,-16],[2,-12],[-16,-24],[-110,-32],[-31,-15],[-38,-38],[-47,-33],[-16,0],[-18,34],[-74,25],[-139,-13],[-162,-31],[-58,-15]],[[94624,44589],[-47,20],[-44,44],[-89,5],[-41,12],[-14,17],[-13,22],[-21,53],[-17,62],[-2,36],[-2,70],[5,25],[17,25],[18,-2],[61,-95],[27,8],[80,-1],[47,-68],[28,-32],[16,-60],[19,-14],[12,-31],[7,-57],[-5,-9],[-24,-21],[-18,-9]],[[82560,55428],[3,53],[7,50],[26,103],[19,31],[31,81],[18,38],[42,77],[39,85],[13,6],[14,1],[12,10],[25,46],[63,151],[53,113],[54,143],[26,42],[7,15],[49,132],[16,19],[17,14],[12,18],[11,22],[17,58],[8,67],[-5,38],[-10,55],[13,76],[9,36],[35,154],[10,31],[14,-19],[2,-28],[-7,-65],[0,-33],[8,-33],[-10,-55],[25,-145],[19,-92],[1,-31],[-26,-55],[-15,-17],[-33,-14],[-15,-16],[-23,-45],[-15,-59],[-4,-31],[-7,-23],[-68,-40],[-31,-26],[-15,-20],[-7,-32],[5,-57],[-57,-203],[-18,-54],[-19,-45],[-24,-32],[-33,-20],[-27,-40],[-18,-70],[-22,-63],[-28,-46],[-30,-42],[-28,-30],[-30,-21],[-9,-27],[-6,-34],[-14,-16],[-15,-9],[-28,-34],[-26,-43]],[[83875,56659],[-4,16],[-1,13],[13,86],[-3,36],[-6,34],[4,68],[16,64],[8,70],[3,135],[12,188],[-1,22],[-9,26],[-35,20],[-14,20],[7,37],[13,26],[18,-1],[16,-24],[57,-50],[30,-41],[27,-52],[32,-30],[32,26],[31,-7],[26,-39],[-9,-25],[-1,-27],[57,59],[16,-4],[-1,-55],[-3,-47],[-7,-45],[-12,-53],[-17,-48],[-21,-34],[-26,-22],[-12,-19],[-4,-29],[1,-36],[-6,-33],[-27,-14],[-42,-64],[-90,-41],[-25,-28],[-16,-37],[-17,-33],[-10,-8]],[[84184,55835],[-20,3],[-13,29],[-22,126],[-26,30],[-30,23],[-15,20],[-14,23],[-42,125],[-3,77],[7,43],[13,39],[14,10],[35,2],[18,5],[40,57],[3,23],[0,94],[-4,66],[-10,64],[11,30],[14,29],[14,56],[3,40],[0,42],[4,30],[12,15],[54,45],[10,4],[71,-42],[14,-64],[1,-21],[-11,-70],[-9,-47],[-24,-73],[-18,-80],[-13,-119],[-8,-38],[-22,-75],[-7,-41],[0,-88],[-4,-33],[0,-32],[44,-147],[4,-24],[0,-26],[-8,-33],[-18,-57],[-10,-20],[-17,-14],[-18,-6]],[[84729,56415],[-27,37],[-33,23],[-9,20],[4,63],[-1,32],[-14,66],[16,144],[0,29],[-3,30],[-13,58],[-21,49],[-13,0],[-32,-35],[-16,12],[-9,134],[-13,131],[-9,33],[-7,35],[6,29],[13,-12],[17,-34],[21,-20],[10,-17],[7,-31],[20,-20],[22,8],[27,47],[30,-17],[18,-69],[9,-26],[5,-46],[-2,-108],[-7,-99],[6,-20],[14,-18],[12,-22],[10,-28],[7,-31],[2,-75],[18,-64],[2,-25],[-4,-26],[-29,5],[-3,-22],[1,-27],[-10,17],[-17,62],[-16,26],[5,-101],[5,-48],[1,-49]],[[84926,57017],[-17,43],[-13,6],[-55,-11],[-33,17],[-22,2],[-21,72],[-19,12],[-15,32],[-25,82],[-8,47],[18,47],[5,38],[-1,37],[-17,-6],[-14,13],[-17,45],[-7,26],[-13,22],[-20,52],[-30,20],[-11,14],[-24,44],[-16,54],[-17,95],[-9,98],[76,-26],[76,5],[86,23],[25,-27],[20,-48],[4,-35],[-2,-39],[9,-17],[16,-5],[20,-19],[15,-36],[-9,-33],[3,-48],[-16,-61],[2,-107],[9,-34],[1,-35],[-2,-36],[4,-29],[24,-99],[5,-33],[-8,-25],[-2,-25],[15,-2],[21,-41],[12,-54],[-3,-15]],[[83676,57710],[-23,11],[-10,10],[-3,29],[-7,21],[-9,13],[-24,51],[-11,39],[-1,41],[-6,38],[-12,34],[-16,27],[-6,25],[-2,30],[-1,76],[-24,95],[-8,23],[-21,24],[-18,30],[-8,30],[-7,49],[-5,7],[-14,-2],[-13,6],[3,36],[14,26],[19,3],[51,-14],[14,-11],[14,-5],[45,18],[18,-9],[12,-34],[15,-11],[12,-17],[23,30],[22,-34],[20,-65],[24,-45],[22,-34],[5,-25],[-14,-41],[-4,-53],[2,-56],[16,-117],[-5,-32],[-18,-46],[-12,-50],[1,-20],[-5,-17],[-1,-35],[-11,7],[-9,-6],[-9,-16],[-15,-34]],[[93254,46405],[-28,5],[-27,15],[-26,28],[-23,36],[-23,57],[-14,58],[7,69],[-9,61],[-44,44],[-10,14],[-19,62],[-19,26],[-25,54],[-6,23],[-11,68],[-3,41],[9,120],[-4,60],[12,-6],[13,-24],[15,-16],[35,-11],[27,-47],[25,-93],[4,-31],[8,-22],[26,-39],[14,-25],[26,-101],[15,-22],[17,-9],[16,-14],[27,-45],[24,-50],[17,-53],[12,-56],[9,-72],[-7,-56],[-5,-9],[-7,20],[-24,-20],[-11,-23],[-13,-17]],[[92469,47608],[-13,42],[-16,37],[-13,38],[-17,81],[0,41],[4,44],[1,43],[-8,89],[-19,82],[-68,193],[-21,51],[-24,45],[-16,11],[-31,11],[-14,9],[-26,32],[-24,37],[-60,109],[-31,31],[-17,38],[-94,123],[-27,29],[-34,0],[-28,25],[22,15],[5,41],[-5,42],[47,-68],[50,-60],[14,-48],[25,-3],[45,-40],[30,-36],[29,-41],[33,-59],[62,-47],[9,-17],[32,-77],[42,-66],[14,-36],[177,-310],[30,-87],[2,-59],[-6,-24],[-19,-50],[1,-59],[-6,-53],[-16,-54],[-21,-45]],[[88246,45488],[-11,15],[10,73],[41,196],[49,172],[20,45],[29,42],[31,33],[69,35],[62,-6],[9,-14],[27,-58],[18,-45],[7,-64],[-27,-110],[-29,-105],[-49,-83],[-21,-44],[-66,-78],[-87,13],[-31,2],[-51,-19]],[[86334,48186],[-63,64],[-60,74],[-26,27],[-69,62],[-11,21],[-8,28],[-30,38],[-60,6],[-23,-1],[-9,-6],[2,-20],[0,-42],[-15,-12],[-37,27],[-34,9],[-29,26],[-39,14],[-4,13],[3,19],[-1,18],[-9,7],[-18,-3],[-17,-18],[-14,-21],[-20,-57],[-11,-22],[-34,-9],[-14,5],[-13,14],[-39,104],[-13,23],[-14,18],[-14,9],[-13,-16],[-8,-32],[-3,-39],[-4,-22],[-17,-61],[-13,-37],[-5,6],[7,59],[0,33],[-9,35],[-5,35],[65,171],[24,40],[103,14],[61,-8],[34,4],[22,13],[19,-6],[4,-34],[12,-25],[16,2],[29,27],[26,40],[15,18],[16,3],[16,-3],[16,-9],[43,-36],[64,-65],[33,-10],[56,9],[21,-7],[53,-84],[15,-57],[4,-50],[9,-47],[13,-12],[15,-4],[20,-68],[4,-22],[-15,-170]],[[85190,48206],[-39,31],[-38,36],[-54,62],[-10,16],[-9,33],[-25,61],[-6,38],[-2,110],[6,25],[11,13],[36,-25],[24,27],[69,22],[71,-2],[14,-11],[46,-46],[10,-31],[9,-35],[9,-20],[10,-16],[18,-32],[5,-47],[-4,-96],[-21,-9],[-19,-14],[-40,-55],[-20,-11],[-21,-4],[-15,-14],[-15,-6]],[[83620,45178],[-15,4],[-56,47],[-64,28],[-64,-11],[-55,25],[-30,-19],[-29,-28],[-8,29],[-11,26],[-9,39],[0,45],[3,31],[8,28],[5,29],[3,32],[12,-15],[12,6],[38,34],[37,52],[34,19],[20,5],[16,-10],[17,4],[18,11],[28,-40],[11,-8],[38,-3],[34,-23],[30,-34],[44,-32],[27,-44],[20,-16],[15,-4],[13,6],[18,29],[20,12],[18,0],[32,7],[14,7],[15,16],[15,-10],[13,-15],[54,-75],[17,-3],[30,17],[10,20],[4,31],[9,27],[11,22],[14,17],[40,30],[28,28],[19,49],[-44,22],[9,35],[15,19],[20,-7],[17,-27],[7,-105],[-14,-15],[-8,-16],[-6,-21],[-26,-38],[10,-48],[-7,-20],[-10,-10],[-40,-21],[-24,-20],[-23,-26],[-15,-6],[-27,-2],[-37,5],[-26,-8],[-71,-69],[-28,-6],[-24,-17],[-8,27],[-10,20],[-24,5],[-24,-2],[-24,-60],[-38,12],[-15,-5],[-14,-13],[-14,-5]],[[83454,44373],[-12,18],[-39,12],[-30,25],[-26,46],[-15,49],[-19,44],[-33,29],[-58,85],[-37,8],[-15,-7],[-15,0],[-77,38],[-12,23],[-9,29],[-9,28],[-5,32],[10,28],[10,18],[43,34],[31,10],[35,-2],[53,10],[51,-16],[15,12],[25,35],[9,-12],[11,-32],[13,-26],[45,-52],[7,-21],[3,-36],[9,-27],[21,-4],[22,6],[16,-17],[15,-27],[21,-51],[19,-58],[23,-32],[14,-47],[-8,-42],[-30,-59],[-16,-12],[-21,-5],[-35,-34]],[[82516,45081],[-28,13],[-25,18],[-23,24],[-5,30],[1,36],[10,49],[-7,87],[5,39],[9,39],[15,15],[18,2],[31,35],[28,46],[16,-4],[37,-32],[22,-4],[37,5],[15,-20],[6,-45],[8,-16],[11,-11],[26,-77],[24,4],[21,-14],[38,46],[28,-1],[8,36],[-17,38],[-20,31],[-11,7],[-12,-2],[-11,5],[-45,69],[-14,37],[-8,45],[5,32],[31,29],[15,7],[55,-20],[9,-16],[14,-70],[11,-30],[14,-23],[13,2],[26,36],[16,13],[17,1],[17,-7],[16,-25],[6,-41],[6,-13],[10,50],[13,15],[14,7],[22,-3],[17,-23],[16,-71],[-1,-62],[6,-23],[11,-16],[8,-24],[-7,-25],[-7,-12],[-21,-11],[-9,5],[-9,16],[-10,6],[-23,-5],[-21,-14],[3,-23],[17,-10],[5,-10],[-1,-15],[-7,-3],[-22,20],[-15,-4],[-54,-27],[-14,1],[-9,25],[1,65],[-6,17],[-40,-79],[-12,-19],[-17,-9],[-16,3],[-59,-48],[-18,7],[-18,0],[-62,-52],[-33,-15],[-17,-1],[-17,5],[-15,-5],[-14,-21],[-28,-17]],[[82326,45181],[-24,14],[-14,-4],[-59,23],[-42,29],[-5,22],[3,27],[13,-9],[32,-5],[13,12],[0,80],[-5,103],[44,84],[24,34],[27,20],[68,-47],[11,-12],[9,-19],[4,-30],[-26,-135],[-35,-123],[13,-19],[7,-19],[-58,-26]],[[81984,45229],[-15,11],[13,36],[1,43],[-10,40],[-14,33],[-29,46],[-30,40],[-31,20],[-33,10],[-12,19],[-19,50],[-6,28],[-3,28],[2,28],[8,2],[32,-7],[59,-32],[30,-3],[16,7],[43,65],[11,-1],[41,-29],[30,-23],[28,-32],[40,-92],[3,-25],[-12,-25],[-28,-39],[-63,-60],[-10,-28],[-14,-56],[-3,-24],[-4,-13],[-7,-9],[-14,-8]],[[79629,48651],[-16,1],[-17,9],[-15,16],[-13,20],[-14,17],[-15,10],[-26,33],[-34,23],[-36,18],[-17,48],[-8,59],[9,89],[-9,25],[-13,21],[-15,64],[-6,75],[-22,29],[-30,17],[-13,15],[-58,-28],[-14,7],[-12,20],[-32,22],[1,42],[15,33],[35,33],[16,28],[3,37],[-6,27],[3,28],[11,28],[13,21],[34,29],[16,-50],[7,-41],[10,-30],[14,43],[-9,74],[27,16],[26,1],[19,-21],[13,-32],[5,-45],[10,-41],[13,-36],[10,-40],[13,-190],[43,-164],[126,-64],[-21,-27],[-10,-23],[-8,-28],[-18,-113],[1,-24],[11,-39],[3,-42]],[[56110,84792],[-6,19],[3,19],[46,71],[10,23],[-23,10],[-20,25],[-42,29],[-8,23],[10,2],[10,7],[11,19],[5,23],[-34,65],[18,10],[21,-2],[22,-19],[24,22],[11,4],[17,-8],[17,43],[40,14],[20,13],[20,-3],[20,-15],[18,5],[18,10],[40,-9],[92,-73],[8,-19],[-54,-9],[-13,-22],[-13,-16],[-15,-5],[-27,-31],[-35,-30],[-8,-18],[-64,4],[-35,-12],[-29,-33],[-11,-65],[-21,-50],[-21,-18],[-22,-3]],[[56264,96247],[-35,29],[12,9],[5,17],[-13,41],[66,42],[15,24],[-13,8],[-18,-2],[-48,12],[-14,0],[-40,-25],[-55,-16],[-55,-4],[-224,-32],[-34,11],[-15,63],[91,32],[14,54],[23,36],[26,24],[50,62],[12,4],[-123,49],[-48,32],[-53,63],[-17,51],[-71,43],[9,56],[-52,-4],[-41,39],[38,22],[190,24],[113,25],[43,-2],[38,-14],[83,3],[45,-100],[26,-106],[41,-8],[80,15],[70,7],[36,-8],[65,-31],[28,-22],[-24,-17],[-59,-19],[-10,-57],[59,-20],[98,-49],[56,-7],[98,20],[93,-38],[92,-46],[-215,-58],[-19,-16],[-29,-43],[-32,-36],[-29,-21],[-64,-36],[-35,-13],[-78,3],[-29,-14],[-27,-29],[-27,-21],[-69,-6]],[[66958,98114],[-91,10],[-124,35],[-105,-28],[-69,-9],[-85,44],[-11,9],[-5,31],[5,26],[23,57],[30,32],[15,10],[12,19],[34,12],[105,7],[39,-6],[12,-22],[57,2],[94,13],[137,22],[79,17],[70,-4],[70,-11],[18,-19],[17,-24],[-10,-38],[-22,-28],[-10,-39],[-86,-9],[-24,-9],[-23,-31],[-87,-18],[-65,-51]],[[62816,98131],[-22,22],[-10,34],[-15,17],[-92,-19],[-69,13],[-67,23],[-68,8],[61,24],[334,49],[131,12],[62,35],[92,23],[25,0],[127,-24],[95,6],[29,-2],[28,-8],[28,-16],[38,-36],[0,-50],[-17,-3],[-161,23],[-74,52],[-20,6],[-29,-14],[-25,-32],[-27,-8],[-31,-40],[-29,5],[-15,-4],[-37,-28],[-93,0],[-15,-12],[-30,-39],[-38,-11],[-66,-6]],[[63260,97915],[-29,18],[25,23],[70,36],[-23,16],[-70,4],[-55,-9],[-28,-25],[-26,-5],[-72,2],[-40,32],[-30,12],[-26,25],[211,86],[70,33],[67,17],[87,9],[27,10],[27,4],[17,-6],[44,-29],[129,4],[27,25],[2,58],[-13,33],[27,65],[74,26],[171,35],[43,2],[42,-10],[103,2],[32,-14],[149,-86],[38,-3],[31,-31],[-154,-50],[-52,-37],[-189,-8],[-121,-18],[-26,-15],[12,-28],[-58,-28],[-191,-5],[-24,-9],[-37,-32],[3,-6],[65,-8],[10,-6],[9,-14],[5,-21],[-9,-26],[-24,-5],[-26,4],[-60,20],[-7,-7],[-6,-15],[-19,-28],[-22,-9],[-61,22],[-20,-6],[-19,-14],[-24,-6],[-56,-4]],[[63518,91192],[-63,42],[-35,81],[-6,25],[-4,34],[1,33],[4,52],[7,50],[26,45],[60,54],[59,35],[31,8],[75,1],[214,-119],[48,-31],[27,-42],[5,-58],[-17,-23],[-16,-7],[-7,36],[-13,16],[-48,-43],[-22,-47],[-60,-68],[-123,-48],[-75,-21],[-68,-5]],[[66726,91757],[-53,17],[-29,-11],[-30,-1],[-24,6],[-25,9],[-16,10],[1,31],[-22,45],[-34,14],[-31,5],[-35,14],[-17,-7],[-22,-16],[-14,6],[-76,93],[-12,22],[-8,25],[-11,15],[-26,66],[13,31],[26,19],[18,5],[32,44],[59,19],[12,-3],[11,-14],[61,-45],[33,-30],[28,-36],[30,-31],[89,-53],[60,-50],[61,-36],[16,-17],[9,-29],[-1,-54],[-11,-40],[-31,-7],[-31,-16]],[[69455,93741],[-33,28],[2,25],[16,26],[9,32],[-6,80],[42,51],[56,19],[164,22],[23,-6],[33,-15],[25,-18],[33,-45],[26,-18],[40,-35],[12,-34],[-2,-31],[-75,-6],[-130,-26],[-59,-14],[-82,-28],[-22,-2],[-50,7],[-22,-12]],[[75677,97674],[-80,6],[-130,62],[-85,27],[-70,41],[-15,45],[44,30],[54,11],[91,1],[117,-4],[116,-29],[247,-32],[90,-22],[-56,-52],[-61,-20],[-63,-27],[-64,-20],[-67,-11],[-68,-6]],[[81328,94368],[-163,30],[-26,11],[-53,33],[-75,32],[-39,47],[19,9],[19,4],[67,-7],[19,15],[10,40],[1,24],[5,18],[22,13],[241,-41],[93,-23],[28,-24],[-10,-28],[-15,-21],[-11,-27],[-19,-19],[-59,-26],[-46,-55],[-8,-5]],[[89029,94264],[-27,1],[-63,50],[-23,106],[26,31],[29,12],[30,6],[123,4],[26,-5],[26,-13],[12,-20],[5,-25],[-14,-69],[-10,-31],[-140,-47]],[[56888,71168],[-15,9],[0,38],[-3,26],[-7,18],[-35,16],[-33,27],[-130,36],[-31,14],[-50,-7],[-18,1],[-13,13],[-9,23],[-4,71],[7,70],[10,19],[5,-21],[13,-10],[12,22],[0,32],[6,30],[9,-13],[7,-46],[16,-12],[19,-4],[26,0],[6,4],[16,34],[20,1],[9,-34],[-20,-16],[-5,-9],[4,-7],[16,-14],[21,5],[1,-27],[4,-22],[11,-13],[11,-2],[26,3],[25,9],[25,17],[26,9],[79,-9],[28,-37],[53,-4],[50,-20],[26,13],[45,12],[7,-13],[-6,-84],[3,-25],[13,-12],[12,6],[16,28],[37,21],[39,0],[33,56],[10,3],[-6,-27],[-5,-65],[-7,-38],[-3,-30],[-22,-15],[-33,-3],[-61,7],[-60,-11],[-113,-28],[-113,-15]],[[56806,72966],[-9,6],[-7,15],[-8,7],[-16,1],[-12,25],[-29,34],[-5,20],[-1,31],[-13,23],[-11,44],[-11,12],[-6,22],[-1,9],[-43,6],[-35,1],[-30,24],[-9,65],[-18,18],[-13,18],[-11,26],[-29,46],[-31,40],[-30,25],[-32,17],[-26,-20],[-15,5],[-3,14],[33,27],[44,51],[31,17],[15,2],[29,-45],[15,-64],[15,-22],[31,-26],[15,-3],[52,-46],[62,-10],[8,-13],[7,-36],[13,-28],[3,-21],[-7,-24],[9,-74],[16,-71],[23,-34],[29,-10],[28,1],[7,-14],[-3,-61],[-12,-24],[-9,-6]],[[59445,71245],[5,-11],[8,-34],[-32,-10],[-31,-4],[-18,5],[-17,-2],[-51,-97],[-28,-33],[-33,-20],[-33,-11],[-17,-2],[-15,-12],[-10,-22],[0,-22],[-5,-18],[-18,3],[-8,36],[-13,15],[-32,-8],[-16,1],[-52,34],[-16,13],[-10,29],[-27,104],[-4,77],[25,-20],[23,24],[23,39],[27,16],[16,-7]],[[59086,71308],[17,-7],[30,13],[13,57],[4,67],[50,-19],[52,-10],[42,-3],[41,10],[126,71],[36,43],[23,14],[38,35],[40,20],[-25,-41],[-145,-178],[-10,-53],[7,-37],[20,-45]],[[55040,84193],[17,53],[22,44],[-21,29],[-13,47],[-16,35],[13,40],[-7,65],[2,64],[19,32],[22,26],[34,61],[37,43],[51,20],[23,-18],[10,40],[17,9],[15,-9],[33,-38],[-23,-15],[-13,-41],[-19,-7],[-17,-14],[-7,-132],[33,-51],[-18,-7],[-17,-15],[-11,-22],[-12,-48],[-45,-27],[-17,-20],[-25,-45],[-13,-65],[-25,-27],[-29,-7]],[[53295,82921],[-34,84],[0,34],[-11,40],[-1,33],[-12,54],[-50,15],[-19,2],[-27,-10],[-6,4],[-33,73],[6,81],[-17,41],[-3,19],[1,20],[-14,17],[-18,9],[-8,46],[20,11],[48,-5],[15,3],[13,9],[39,75],[-1,17],[4,21],[42,8],[19,-29],[-3,-46],[2,-60],[26,-16],[10,-2],[10,44],[8,21],[10,12],[4,40],[-6,25],[-13,18],[48,50],[50,39],[29,2],[29,-9],[27,-14],[15,-11],[8,-19],[-18,-43],[-5,-24],[12,-79],[0,-60],[-7,-17],[-10,-11],[-28,-12],[-24,-17],[-22,-30],[-7,-42],[16,-31],[31,-17],[8,-59],[-26,-29],[-64,-29],[-7,-70],[2,-55],[-1,-40],[-5,-56],[-52,-25]],[[52900,83084],[-52,24],[-74,44],[-6,25],[-10,14],[-20,76],[1,94],[37,12],[81,44],[18,-7],[20,-23],[23,-1],[32,33],[6,-2],[12,-31],[14,-66],[23,-74],[-10,-31],[7,-39],[-7,-42],[-44,-47],[-51,-3]],[[50853,73755],[-48,40],[-28,10],[-8,14],[-7,60],[-12,19],[-19,8],[-16,-15],[-21,-31],[-12,31],[-17,6],[-7,18],[0,25],[115,143],[33,32],[71,36],[11,-5],[-9,-22],[0,-10],[9,-10],[-2,-17],[-9,-15],[-4,-28],[27,-19],[28,17],[15,-5],[15,-10],[3,-37],[-13,-42],[-18,-42],[-16,-47],[-13,-54],[-25,-31],[-23,-19]],[[16031,6392],[-159,36],[-22,24],[-5,36],[19,8],[35,5],[-9,17],[-22,29],[-2,25],[48,62],[23,17],[-90,59],[-11,13],[-12,4],[-44,-7],[-43,4],[15,23],[12,39],[38,33],[28,5],[28,-4],[132,-1],[130,-18],[131,-12],[215,-11],[46,-3],[49,-59],[19,-39],[11,-40],[-199,-99],[-9,-10],[-9,-51],[5,-12],[8,-8],[1,-20],[-17,-6],[-340,-39]],[[15560,6479],[-60,18],[-187,10],[-60,16],[-92,66],[-36,5],[-37,16],[-57,48],[-99,37],[-63,47],[2,39],[-9,27],[-12,12],[-12,6],[-36,10],[-35,-2],[-18,-12],[-29,-29],[-32,-5],[-25,6],[-5,6],[-1,76],[-27,11],[-23,30],[-4,41],[10,39],[35,46],[40,6],[40,-8],[41,10],[65,7],[74,-4],[74,-17],[25,-25],[33,-19],[33,-10],[31,-28],[18,-50],[16,-15],[49,-33],[17,-29],[-3,-14],[-93,-12],[-31,5],[-29,-9],[-9,-18],[1,-19],[16,-13],[34,-12],[34,1],[63,15],[28,-3],[32,-15],[32,-2],[84,47],[21,9],[21,-3],[115,-56],[24,-27],[-17,-16],[-14,-22],[6,-16],[55,-22],[23,-29],[14,-11],[-3,-25],[-8,-30],[1,-34],[-28,-18],[-13,0]],[[31592,3028],[-14,4],[-14,12],[-12,48],[-137,38],[-16,22],[-9,46],[-23,19],[-178,84],[-15,18],[-10,26],[33,10],[70,-18],[127,-5],[28,-8],[26,-16],[142,-2],[72,-7],[40,-68],[81,-19],[11,-39],[10,-70],[-110,-51],[-25,-8],[-51,-14],[-26,-2]],[[33914,12312],[-12,10],[9,37],[-14,6],[-14,0],[-42,-28],[-12,-1],[-25,33],[79,43],[-33,21],[-7,27],[5,37],[-29,-5],[-28,-14],[-13,-3],[-11,13],[4,27],[23,43],[18,47],[36,23],[21,17],[28,8],[12,17],[26,1],[15,-38],[-1,-23],[-12,-25],[-6,-62],[11,-8],[9,4],[9,8],[9,19],[33,29],[31,3],[-10,-29],[74,-51],[-6,-41],[14,-33],[-30,-10],[-24,-34],[21,-13],[12,-29],[-25,-7],[-54,17],[-28,-5],[3,28],[-9,10],[-33,-5],[-14,-58],[-10,-6]],[[32294,12061],[-8,15],[-10,10],[-56,14],[-26,21],[-23,14],[-25,7],[13,37],[15,31],[85,43],[-8,14],[-6,17],[67,21],[2,23],[-4,24],[21,17],[20,24],[14,8],[42,-4],[29,-34],[-12,-33],[26,-53],[-27,-62],[40,1],[28,22],[29,9],[25,-31],[-52,-23],[-50,-41],[-20,-22],[-22,-10],[-28,4],[-28,-4],[-25,-41],[-26,-18]],[[28813,8329],[-26,10],[-15,15],[-25,59],[3,30],[34,28],[35,18],[60,16],[229,38],[23,12],[19,27],[6,33],[8,25],[15,11],[16,0],[30,-24],[55,-96],[18,13],[16,26],[3,83],[16,6],[49,-23],[30,-24],[1,47],[21,14],[22,-5],[22,-10],[48,-34],[43,-52],[-40,-42],[-142,-77],[-83,-29],[-84,-23],[-380,-71],[-27,-1]],[[29208,8894],[-116,18],[-128,32],[-10,6],[-11,28],[-2,32],[14,40],[22,21],[95,24],[7,14],[14,40],[24,8],[11,-3],[42,8],[49,-15],[72,-64],[24,-33],[7,-20],[-6,-13],[-33,-15],[-25,-80],[-50,-28]],[[23079,7473],[-31,3],[-62,31],[-32,-1],[-64,-15],[-65,-5],[-93,0],[-68,5],[-64,34],[-67,10],[-75,1],[-79,39],[-66,16],[-95,39],[-25,16],[-25,8],[-45,-3],[-346,60],[-51,-1],[-33,-7],[-33,3],[-67,29],[-14,33],[7,29],[15,13],[30,14],[480,71],[50,20],[37,-3],[28,-61],[42,-63],[14,1],[14,7],[47,52],[86,-16],[48,24],[33,46],[97,54],[61,-11],[57,-23],[27,-55],[-23,-62],[2,-62],[68,3],[30,118],[64,21],[31,-70],[-30,-56],[15,-32],[18,-23],[32,0],[29,33],[13,25],[11,27],[19,60],[61,55],[135,9],[71,-36],[-48,-88],[-115,-51],[-74,-54],[25,-15],[25,-7],[23,2],[65,29],[160,50],[61,39],[22,-7],[0,-63],[21,-44],[-12,-95],[-69,-17],[-71,-9],[18,-42],[-4,-18],[-6,-13],[-178,17],[-31,-6],[-31,-12]],[[29285,6861],[-369,165],[-28,27],[-14,19],[-11,31],[-1,31],[9,25],[13,14],[33,17],[34,1],[75,-32],[10,4],[14,30],[40,0],[9,25],[-55,9],[-44,24],[-29,25],[-8,19],[99,35],[251,-44],[38,-15],[17,-19],[14,-27],[-36,-60],[-40,-78],[-7,-8],[-40,-19],[14,-21],[11,-10],[7,-25],[23,-34],[28,-22],[-23,-60],[-34,-27]],[[30883,10331],[-23,6],[-22,38],[-32,46],[-6,14],[-5,38],[1,37],[14,29],[73,100],[24,46],[21,51],[23,46],[44,83],[22,30],[111,86],[30,19],[33,-5],[8,-45],[-16,-22],[-53,-58],[-11,-82],[1,-29],[5,-8],[20,-10],[14,-12],[18,-24],[21,-15],[-45,-42],[-30,-22],[-21,-26],[-40,-26],[-17,-17],[26,-6],[38,-21],[10,-19],[-5,-14],[-29,-38],[-23,-12],[-21,11],[-21,4],[-15,-13],[-16,-60],[-19,-30],[-20,-15],[-12,6],[-12,0],[-19,-14],[-24,-5]],[[0,92530],[0,60],[0,54]],[[0,92644],[0,127]],[[0,92771],[0,39],[0,43]],[[0,92853],[43,8],[43,16],[40,3],[40,-10],[41,3],[40,15],[32,-2],[33,-10],[122,-21],[23,-7],[39,-28],[22,-10],[22,-16],[23,-28],[43,-30],[65,-35],[14,-11],[10,-26],[-7,-31],[-83,-58],[-67,-16],[-129,-16],[-175,-44],[-72,-13],[-25,3],[-63,29],[-74,12]],[[33501,19482],[-38,42],[-32,61],[-1,34],[32,63],[-10,27],[73,85],[13,26],[23,15],[23,5],[10,11],[-1,21],[-10,35],[1,59],[58,79],[-8,51],[18,1],[43,-35],[53,12],[22,-9],[13,-29],[-7,-27],[-17,4],[-15,-7],[3,-36],[10,-15],[56,-39],[10,-2],[-1,16],[-10,27],[-4,29],[9,24],[14,7],[64,12],[15,-11],[32,-68],[-30,-9],[-12,-30],[26,-12],[20,-19],[-11,-29],[-2,-14],[-46,-21],[-40,-13],[-19,-33],[-33,-25],[-96,-43],[11,-35],[1,-16],[-4,-45],[-133,54],[-18,-6],[36,-92],[-26,-17],[-26,11],[-24,-8],[-15,-66]],[[39976,17966],[-11,8],[-35,43],[-17,51],[-37,73],[-8,22],[-9,14],[-34,9],[-30,17],[-24,37],[-8,23],[-10,15],[-33,0],[-21,17],[-21,24],[-94,68],[-37,-7],[-17,20],[0,34],[20,21],[-82,7],[-29,13],[20,7],[114,1],[43,6],[3,-15],[38,-30],[36,-3],[27,-29],[22,19],[22,-2],[12,-10],[12,-3],[16,-1],[27,-48],[-11,-43],[29,9],[26,-36],[12,3],[5,14],[17,17],[11,-23],[14,-42],[18,-13],[15,-45],[12,-57],[11,-8],[19,0],[20,8],[-8,-49],[3,-44],[32,-31],[-19,-17],[-20,-25],[-41,-19]],[[29467,24776],[-20,9],[-35,-1],[-34,23],[-32,33],[-9,19],[3,27],[24,63],[22,119],[15,171],[-12,65],[1,26],[6,33],[2,33],[-1,33],[3,32],[24,65],[4,29],[0,32],[11,66],[-3,22],[-9,19],[7,16],[85,-48],[56,-12],[3,-50],[11,-39],[7,-71],[8,-15],[-4,-51],[-26,-22],[2,-46],[15,-43],[-22,-16],[-23,-9],[-6,-12],[-17,-10],[-20,-24],[6,-22],[26,-49],[29,-33],[16,-51],[21,-53],[-10,-34],[-19,-47],[-31,-32],[-27,-19],[3,-78],[-10,-33],[-21,-12],[-19,-3]],[[33192,19549],[-50,4],[-35,24],[-41,53],[55,66],[48,-3],[39,44],[32,22],[13,23],[14,17],[0,23],[-11,10],[-14,-1],[-14,-10],[-34,-12],[-23,26],[15,9],[17,0],[52,24],[10,10],[-16,35],[-31,21],[-26,35],[-4,13],[1,21],[-14,42],[15,2],[19,-27],[44,-37],[41,-11],[37,42],[25,13],[21,-9],[15,-25],[21,4],[61,25],[8,-8],[21,30],[19,-14],[14,-26],[-7,-31],[-17,-19],[-10,-27],[-13,-21],[-21,-20],[-16,-33],[-40,-75],[-57,-96],[-19,-8],[-40,-6],[-17,7],[-14,-3],[-12,-51],[-18,-40],[-9,-8],[-19,-4],[-8,-6],[-7,-14]],[[29249,20838],[-17,4],[-13,49],[-4,30],[1,39],[-16,52],[-1,20],[6,34],[14,17],[2,53],[6,16],[15,22],[2,9],[-1,8],[-5,0],[-61,-65],[-5,-19],[-3,-24],[-1,-87],[-10,-50],[-10,-9],[-28,-2],[-37,5],[-42,46],[-27,-13],[-6,56],[14,44],[51,-3],[8,79],[-16,19],[-18,32],[-10,29],[9,22],[30,32],[15,3],[15,-18],[36,14],[-2,50],[-32,22],[7,38],[41,37],[24,36],[2,42],[-10,42],[3,16],[20,35],[29,16],[13,-2],[26,-24],[24,-3],[5,-7],[5,-27],[15,-199],[2,-87],[-4,-87],[-11,-107],[2,-22],[12,-5],[4,-14],[-4,-56],[-7,-43],[-13,-36],[-7,-42],[-7,-10],[-30,-7]],[[29658,23894],[-33,16],[-13,35],[-7,29],[-7,50],[12,27],[24,38],[10,25],[4,29],[-2,27],[4,26],[14,9],[50,-29],[52,-43],[18,-30],[3,-24],[-22,-53],[-15,-44],[-24,-40],[-68,-48]],[[32716,79548],[-92,36],[-69,18],[-67,32],[-146,103],[-16,36],[-14,44],[-28,40],[-30,33],[-154,101],[-13,35],[31,23],[36,11],[31,-1],[104,-40],[130,-34],[56,-26],[64,-40],[62,-49],[140,-128],[24,-10],[63,-63],[23,-47],[11,-39],[-14,-20],[-15,-7],[-117,-8]],[[32990,77470],[-14,1],[-11,15],[-23,41],[-12,28],[-12,134],[4,70],[20,65],[29,44],[17,35],[72,206],[14,47],[17,40],[31,39],[40,67],[12,13],[23,7],[23,-4],[-7,-24],[2,-24],[26,-92],[0,-18],[-15,-73],[-27,-119],[-7,-65],[4,-19],[-11,-33],[-12,-26],[-47,-47],[-24,-11],[-22,-17],[-54,-59],[9,-5],[38,29],[20,-1],[-1,-21],[-32,-22],[-15,-17],[18,-16],[0,-10],[-22,-26],[-11,-28],[9,-26],[36,26],[14,0],[20,-6],[19,8],[11,13],[63,103],[3,13],[-68,-21],[-8,14],[45,62],[-4,33],[23,51],[20,31],[15,17],[22,16],[15,-24],[5,-45],[37,7],[37,-9],[26,-19],[5,-11],[0,-17],[-9,-30],[-15,-25],[30,-32],[-4,-14],[-48,-36],[-28,-37],[-25,-45],[-50,-52],[-80,-38],[-25,0],[-30,12],[-30,-3],[-29,-14],[-29,2],[-13,-8]],[[2868,87769],[-12,20],[-17,62],[-11,16],[-12,11],[-35,20],[-35,12],[-21,1],[-15,22],[-8,30],[-14,16],[-28,23],[-29,18],[-89,38],[-29,5],[-30,-4],[-32,-17],[-31,-27],[-31,-19],[-33,-4],[-32,11],[-29,26],[-15,18],[-8,31],[1,31],[4,30],[16,72],[27,15],[51,-52],[5,-14],[29,2],[40,-6],[45,-14],[45,5],[56,44],[33,12],[34,6],[37,-11],[35,-23],[14,-14],[11,-24],[7,-30],[11,-21],[67,-26],[42,-10],[10,-14],[9,-20],[36,-15],[37,6],[20,-6],[63,0],[77,-22],[-12,-57],[-25,-26],[-72,9],[-71,-9],[-29,-29],[-25,-38],[-3,-36],[-14,-17],[-15,-7]],[[3848,85878],[-11,6],[-21,24],[-22,12],[-79,17],[-100,71],[-42,15],[-44,51],[-39,66],[25,11],[26,5],[116,-10],[14,47],[15,12],[36,13],[35,26],[15,0],[16,-10],[32,15],[17,4],[14,-8],[26,-30],[13,-1],[43,9],[16,-7],[15,-12],[9,-20],[2,-34],[-7,-30],[2,-43],[-1,-18],[22,-25],[8,-32],[3,-36],[-49,-12],[-49,-1],[-43,-24],[-9,-18],[7,-26],[-11,-7]],[[4280,82703],[-42,1],[-22,7],[-12,25],[-11,50],[0,13],[5,24],[38,33],[12,17],[49,112],[14,15],[16,4],[41,-8],[36,33],[77,50],[17,6],[55,1],[16,-8],[11,-14],[10,-20],[27,-98],[12,-19],[17,-10],[24,-11],[15,-14],[12,-23],[2,-10],[-76,40],[-48,-58],[-15,-7],[-136,-3],[-27,-11],[-18,-19],[-31,-52],[-16,-21],[-16,-12],[-36,-13]],[[28554,60966],[-21,39],[-23,32],[-28,13],[-57,2],[-28,11],[-22,65],[-9,18],[-23,17],[-22,75],[-8,10],[-62,16],[-12,41],[4,37],[20,46],[10,13],[34,-2],[32,13],[14,20],[15,13],[117,-33],[27,0],[26,-6],[34,-21],[35,-11],[15,-1],[14,-7],[32,-51],[26,-27],[97,-63],[33,-107],[6,-34],[-25,-20],[-32,-7],[-30,-1],[-28,21],[-12,15],[-29,8],[7,14],[-13,7],[-16,-1],[-12,-42],[-14,-32],[-25,3],[-10,28],[-13,-13],[-11,-21],[-13,-77]],[[31416,61104],[-17,4],[-14,8],[-36,-1],[-15,17],[6,94],[1,42],[-9,35],[-10,22],[-7,26],[14,17],[12,25],[4,38],[12,9],[15,5],[69,-18],[173,-10],[10,-3],[6,-15],[9,-12],[8,2],[-6,24],[6,0],[53,-15],[34,-25],[35,-12],[3,-82],[-27,-33],[-18,-35],[-15,-42],[-38,-49],[-45,-15],[-31,-1],[-11,2],[-11,8],[-23,-8],[-29,21],[-24,-5],[-48,5],[-18,-18],[-18,-5]],[[7230,84107],[-15,2],[-7,6],[-5,10],[-1,9],[78,100],[-3,5],[-21,3],[-34,28],[-23,-18],[-5,1],[6,23],[15,29],[-3,8],[-8,7],[-19,4],[-31,1],[-22,-7],[-15,-14],[-1,-6],[31,1],[9,-7],[8,-14],[5,-16],[2,-19],[-7,-24],[-14,-31],[-22,5],[-44,69],[-20,100],[-38,77],[-2,18],[11,48],[38,67],[42,18],[29,28],[28,9],[18,-1],[24,-12],[10,-26],[-6,-12],[2,-6],[17,-16],[18,-54],[21,-47],[14,-20],[19,-12],[-19,37],[-12,45],[-5,90],[-6,24],[11,6],[30,-3],[-1,13],[-32,31],[-19,25],[-8,20],[1,17],[17,26],[10,7],[10,3],[21,-6],[9,-7],[26,-58],[12,-18],[10,0],[10,10],[9,19],[8,11],[10,4],[29,-8],[10,3],[4,14],[0,26],[7,9],[2,19],[-16,28],[18,8],[61,-21],[25,-23],[-13,-44],[2,-32],[12,4],[42,33],[23,10],[29,2],[23,-16],[4,-11],[-2,-14],[-18,-29],[1,-18],[19,-34],[49,-18],[6,-11],[0,-12],[-34,-56],[-12,-13],[-9,-3],[-61,10],[-55,18],[-23,3],[-8,-6],[-15,-17],[11,-5],[49,-4],[17,-25],[7,-19],[4,-20],[-10,-9],[-20,-6],[-25,0],[-31,-23],[-17,-26],[-62,-7],[-47,-35],[-17,-17],[-6,-21],[-17,-15],[-41,-15],[24,-13],[4,-12],[1,-15],[-4,-14],[-31,-61],[-60,-49]],[[7520,84829],[-15,2],[-90,39],[-21,14],[74,90],[39,35],[22,-2],[22,-11],[12,2],[1,40],[-21,29],[1,12],[46,21],[18,-3],[19,-11],[18,-16],[17,-24],[10,-5],[10,36],[8,1],[33,-30],[20,7],[13,-37],[12,-4],[10,5],[7,-3],[-2,-38],[-24,-40],[-12,-10],[-15,10],[-6,4],[-10,18],[-8,22],[-5,0],[-18,-26],[0,-13],[8,-19],[-1,-12],[-20,-6],[-20,3],[-24,-16],[-5,10],[-4,29],[-7,-3],[-12,-36],[-12,-23],[-22,-19],[-5,-9],[-17,-1],[-24,-12]],[[13399,83154],[-13,34],[-9,80],[-1,34],[24,51],[31,49],[6,146],[99,73],[9,-3],[32,-55],[35,-76],[8,-35],[1,-60],[-4,-47],[-10,-65],[-19,-66],[-29,-36],[-21,8],[-15,29],[-14,-2],[-15,6],[-8,24],[8,31],[-7,24],[-8,-21],[-13,-19],[-33,-25],[-23,-48],[-11,-31]],[[13296,82885],[-15,13],[-22,40],[-21,62],[-8,9],[-27,10],[-5,7],[-17,1],[-13,26],[2,33],[-11,35],[1,15],[-12,6],[-10,-9],[6,-34],[-6,-26],[-22,11],[-36,83],[-41,67],[-17,16],[5,19],[20,10],[17,-1],[3,12],[-34,64],[1,18],[12,33],[-15,13],[-43,-10],[-15,7],[-13,26],[-7,23],[-37,4],[-14,-3],[-24,34],[-12,22],[5,11],[22,19],[13,-3],[25,-20],[10,0],[25,28],[4,25],[18,20],[-3,21],[-10,37],[-23,10],[-46,-22],[-41,-33],[-16,13],[-3,21],[43,55],[19,31],[-4,18],[-14,24],[-1,59],[9,14],[53,-13],[48,1],[17,-24],[10,-26],[7,-24],[1,-23],[-1,-16],[-6,-17],[2,-6],[94,-56],[44,-59],[18,-31],[10,-27],[19,-66],[39,-76],[21,-23],[11,-23],[-6,-1],[-28,17],[-60,51],[-5,-2],[-5,-27],[-9,-25],[-14,-17],[11,-5],[48,11],[41,-50],[15,-9],[16,-36],[0,-14],[-9,-26],[-6,-11],[2,-8],[11,-3],[45,7],[8,-13],[-7,-104],[6,-38],[0,-17],[-5,-23],[0,-19],[4,-20],[1,-18],[-12,-47],[-12,-8],[-19,0]],[[12921,83916],[-33,7],[-8,12],[-5,19],[-2,47],[-9,68],[2,51],[-21,47],[-18,29],[-26,25],[-18,25],[5,20],[27,15],[44,-3],[95,-36],[18,-18],[10,19],[19,-1],[35,-17],[20,-26],[12,-30],[1,-17],[-3,-40],[2,-42],[-1,-21],[-5,-18],[-8,-14],[-8,-1],[-27,37],[-31,66],[-24,21],[-1,-7],[7,-19],[19,-36],[3,-22],[14,-26],[6,-20],[3,-26],[0,-23],[-4,-20],[-6,-12],[-9,-6],[-47,6],[-28,-13]],[[12588,83776],[-19,15],[-15,24],[-12,25],[-28,79],[-9,36],[0,27],[4,19],[9,12],[17,32],[-3,5],[-12,-7],[-25,-4],[-22,25],[-17,14],[3,45],[-4,13],[-34,-14],[-13,13],[-3,17],[1,26],[6,22],[32,57],[-3,10],[-15,2],[-21,20],[-9,63],[-22,36],[-14,-3],[-29,-102],[-15,-23],[-42,-14],[9,28],[4,26],[-15,77],[-1,29],[10,22],[30,9],[15,13],[13,21],[3,21],[23,54],[10,11],[29,-1],[60,-60],[18,-9],[26,-38],[24,-65],[17,-51],[15,-61],[26,-125],[12,-48],[3,-26],[3,-68],[-4,-14],[-7,-14],[-2,-19],[7,-52],[1,-79],[-7,-44],[-8,-7]],[[12634,84266],[-10,8],[-11,21],[-6,27],[-1,34],[12,22],[24,111],[0,37],[-30,51],[-18,41],[-9,58],[-17,154],[-7,49],[-11,41],[-14,33],[-10,35],[-8,40],[3,15],[24,-21],[29,-56],[15,-37],[70,-14],[52,3],[47,-88],[29,-72],[17,-50],[10,-49],[13,-46],[-1,-7],[-28,32],[-19,64],[-10,24],[-10,12],[-10,23],[-21,61],[0,17],[-9,16],[-11,7],[-12,-3],[-4,-6],[2,-42],[9,-47],[51,-102],[34,-58],[7,-19],[5,-53],[-15,-24],[18,-49],[-1,-10],[-4,-9],[-48,-22],[-45,-91],[-48,-53],[-23,-8]],[[12308,84489],[-61,16],[-24,52],[-22,83],[-84,98],[-23,20],[-30,58],[12,47],[4,27],[16,7],[23,21],[14,44],[21,-36],[28,-35],[1,33],[13,26],[28,-1],[13,6],[18,24],[26,13],[16,-15],[40,-57],[0,-14],[-8,-39],[-22,-11],[6,-16],[17,-12],[11,10],[42,55],[13,12],[8,1],[51,-16],[44,-27],[13,-21],[8,-37],[-12,-81],[-37,-13],[-17,1],[-18,12],[-30,-28],[25,-22],[75,-5],[23,-45],[6,-35],[-16,-64],[-43,18],[-37,37],[-77,53],[-19,2],[-12,-9],[-4,-32],[1,-69],[-20,-36]],[[14256,81450],[-15,39],[-1,66],[-4,53],[-5,25],[6,97],[-6,-7],[-18,-43],[-19,-3],[-34,49],[-17,39],[-3,41],[-22,44],[-3,15],[2,16],[19,43],[7,29],[7,60],[7,23],[18,-3],[31,-27],[33,-29],[30,-40],[22,-102],[13,-189],[-1,-61],[-19,-39],[-13,-67],[-15,-29]],[[13237,81983],[-48,3],[-43,40],[-20,29],[15,34],[10,1],[30,-7],[24,-12],[10,-1],[-2,8],[-66,64],[-49,29],[-14,33],[-1,25],[-4,14],[-38,89],[-8,34],[-5,50],[0,50],[10,82],[4,9],[16,0],[27,-11],[66,-7],[26,-35],[61,22],[11,-4],[12,-14],[12,-28],[14,-44],[3,-47],[-5,-17],[-11,-19],[-98,-75],[-2,-7],[2,-7],[9,-7],[19,1],[77,18],[5,13],[5,60],[11,31],[0,24],[-7,57],[1,22],[54,5],[33,21],[35,39],[8,-1],[-5,-70],[-5,-22],[-33,-86],[-19,-75],[-9,-75],[-2,-124],[-8,-42],[-15,-25],[-93,-45]],[[13549,81369],[-55,50],[-25,50],[-14,46],[-17,26],[-52,58],[-78,125],[-21,18],[-20,50],[-6,23],[1,16],[7,9],[24,5],[0,25],[-90,43],[-10,9],[-12,30],[7,4],[49,-5],[53,15],[33,11],[13,13],[27,18],[11,-1],[28,-21],[28,-54],[8,-50],[-3,-58],[-45,-22],[-23,18],[-11,-3],[-15,-18],[19,-7],[26,-29],[23,-37],[32,-6],[44,-26],[-33,-47],[-5,-26],[41,-74],[4,-19],[13,-4],[30,6],[4,-5],[0,-16],[-19,-43],[2,-8],[17,-7],[32,0],[8,-43],[-30,-39]],[[32571,77704],[-17,4],[-21,16],[-7,40],[-25,-6],[-7,5],[35,34],[-16,42],[-18,-3],[-11,20],[1,27],[16,14],[5,14],[-22,-13],[-17,-25],[-21,-9],[-22,-22],[33,-7],[-17,-17],[-17,-4],[-81,33],[-20,13],[-26,35],[-19,46],[11,2],[3,8],[-2,8],[-28,6],[-45,-2],[-25,13],[1,81],[-8,22],[-28,19],[-42,5],[-4,30],[13,46],[21,40],[16,38],[18,32],[46,63],[-1,-47],[4,-41],[-30,-81],[52,-81],[6,-18],[5,-21],[-4,-20],[-8,-18],[20,-9],[6,-15],[8,-8],[13,15],[15,48],[41,-12],[22,-22],[12,5],[12,-2],[23,-29],[44,-22],[46,3],[70,13],[8,6],[72,11],[72,5],[25,-13],[9,-11],[5,-15],[-41,-39],[-41,-46],[-58,-44],[-7,-22],[4,-40],[-1,-42],[11,-3],[7,-14],[-15,-13],[-59,-6]],[[29472,74507],[27,30],[1,12],[-7,8],[-14,-2],[-15,-31],[-24,-11],[-5,34],[8,27],[11,25],[24,39],[34,25],[17,21],[12,-19],[2,26],[10,15],[10,8],[24,0],[12,4],[10,8],[9,2],[27,-12],[25,4],[21,16],[22,5],[56,4],[57,11],[23,21],[47,59],[28,16],[-43,-68],[-23,-31],[-20,-38],[18,-4],[16,11],[14,23],[34,31],[29,13],[9,3],[13,-22],[28,18],[28,9],[-121,-98],[-25,-12],[-36,-29],[-33,-21],[-24,-7],[-120,-74],[-10,-1],[-10,7],[-99,-38],[-40,-4],[-37,-13]],[[91596,46738],[-27,7],[-15,17],[-32,81],[-28,27],[-30,0],[-41,-29],[-8,6],[-80,119],[-25,29],[-26,22],[-32,15],[-30,24],[-18,56],[2,74],[24,44],[37,-22],[14,0],[14,13],[16,-4],[17,-11],[60,16],[34,-23],[34,-29],[32,-7],[32,6],[43,34],[14,-4],[42,0],[36,45],[14,182],[9,63],[13,13],[9,-4],[13,-31],[-17,-39],[-8,-29],[-2,-73],[9,-71],[22,-56],[32,-7],[29,37],[32,7],[30,-36],[30,7],[14,23],[16,10],[16,4],[14,14],[20,61],[13,69],[19,54],[52,91],[15,11],[17,6],[37,-4],[27,32],[2,73],[-4,73],[-31,173],[-2,27],[4,31],[9,28],[31,0],[32,-10],[13,-26],[14,-21],[14,-12],[42,62],[22,-43],[28,-22],[30,-11],[-12,-89],[4,-41],[7,-41],[-1,-61],[-13,-54],[-26,-78],[-12,-15],[-13,-8],[-43,-6],[-8,-42],[3,-44],[23,-58],[18,-65],[-18,-60],[-30,-42],[-29,-22],[-47,13],[-50,-5],[-10,-23],[0,-38],[-7,-29],[-9,-26],[-25,-54],[-29,-48],[-38,-45],[-13,-11],[-35,-8],[-31,-26],[-13,-25],[-15,-21],[-33,-23],[-32,-44],[-12,-8],[-66,-8],[-95,-2],[-28,-5]],[[84721,44804],[-10,-59],[-34,-56],[-37,-91],[-29,-47],[-26,-55],[-23,-37],[-28,-13],[-42,-8],[-56,-66],[-32,-29],[-31,-2],[-28,22],[-11,24],[2,32],[10,28],[12,24],[7,29],[-33,38],[-2,29],[12,76],[9,78],[12,54],[46,96],[28,47]],[[84437,44918],[62,70]],[[84499,44988],[104,59]],[[84603,45047],[20,23],[17,33],[51,55]],[[84691,45158],[38,65]],[[84729,45223],[25,89],[17,36],[40,33],[16,10],[118,49],[28,3],[74,-1],[100,11],[24,7],[32,21],[31,27],[16,21],[18,16],[25,-20],[44,-14],[11,-13],[11,-18],[-50,-94],[-56,-78],[-34,-24],[-35,-16],[-27,-30],[-23,-47],[-29,-27],[-32,-9],[-28,-14],[-26,-28],[-35,-47],[-14,-5],[-15,1],[-29,-18],[-91,-68],[-55,-76]],[[84780,44900],[-59,-96]],[[90786,24629],[-37,11],[-42,55],[-38,-6],[-62,4],[-40,-21],[-9,61],[-8,21],[3,20],[32,12],[33,0],[-6,23],[-8,9],[-15,-6],[-41,20],[-29,-9],[-19,29],[-34,99],[-20,46],[-12,18],[-13,10],[-9,15],[-61,226],[-8,53],[-11,133],[48,-64],[18,-40],[9,-51],[16,62],[-3,20],[-43,75],[-6,22],[-2,26],[-10,-26],[-17,-4],[7,53],[-6,52],[-51,114],[-39,109],[-38,133],[-3,17],[-1,29],[-18,89],[-10,66],[-4,59],[17,117],[3,65],[27,-29],[63,-38],[32,-3],[18,15],[16,-2],[19,-34],[22,-19],[16,4],[13,-7],[12,-24],[30,-21],[14,-13],[11,-21],[13,-16],[81,-56],[57,-27],[71,13],[21,15],[21,23],[17,-21],[17,-32],[-3,34],[6,31],[17,24],[20,15],[32,-1],[31,6],[14,14],[14,2],[19,-17],[19,-10],[13,22],[21,53],[12,18],[55,-16],[15,0],[27,55],[17,-1],[51,-44],[22,-54],[-3,-100],[2,-35],[4,-35],[2,-69],[-6,-68],[-1,-54],[3,-54],[-3,-100],[8,-66],[-4,-46],[0,-21],[7,-20],[4,-22],[-3,-29],[3,-33],[-3,-27],[-11,4],[-4,21],[2,27],[-2,22],[-6,20],[-20,22],[6,14],[10,12],[-7,31],[-13,-26],[-8,-34],[5,-11],[-8,-9],[-17,-39],[-12,-53],[-5,-51],[1,-53],[-10,-42],[-14,-39],[-3,-51],[1,-94],[11,-85],[7,-117],[-10,-14],[-30,-8],[-14,-15],[-24,58],[-15,60],[11,24],[24,-14],[8,14],[2,16],[-2,15],[-30,33],[-33,16],[-11,-19],[4,-58],[-3,-13],[-24,-21],[-12,82],[-31,61],[1,-29],[13,-51],[-1,-23],[-5,-29],[-13,-10],[-5,-24],[0,-33],[-5,-53],[-20,-23],[-48,59],[-4,-20],[1,-17],[25,-34],[-12,-26],[-8,-30],[-14,-78],[-23,-66],[-11,-4]],[[76014,97872],[-181,55],[-222,46],[-31,26],[-55,15],[-71,12],[-31,53],[45,35],[58,35],[97,13],[92,20],[69,51],[43,50],[78,52],[-135,-13],[-51,7],[5,17],[28,37],[15,13],[49,19],[35,37],[81,26],[39,4],[38,-1],[70,12],[70,19],[66,10],[65,5],[63,14],[62,29],[27,49],[179,6],[28,-12],[22,-29],[26,-11],[31,-5],[79,-50],[15,-14],[10,-27],[36,-22],[18,-21],[183,-69],[80,-9],[36,-17],[10,-20],[-3,-39],[-31,0],[-22,-12],[-124,-15],[-30,-23],[-24,-46],[13,-10],[12,-13],[37,-80],[10,-12],[37,-11],[-33,-30],[-35,-19],[-366,-38],[-249,-15],[-83,-17],[-27,2],[-65,-30],[-127,-39],[-61,0]],[[77336,97148],[-36,5],[-63,15],[-42,-6],[-60,10],[-37,-1],[-85,25],[-88,39],[-17,18],[-18,12],[-105,11],[-23,7],[-153,-8],[-26,6],[-47,51],[-27,1],[-84,-30],[-31,2],[-64,20],[-38,25],[-6,7],[-4,31],[-38,16],[-46,52],[-27,56],[-128,29],[-77,7],[-58,-2],[-56,21],[93,81],[123,42],[53,32],[61,44],[25,66],[103,41],[27,14],[36,32],[12,5],[81,-39],[16,6],[15,19],[29,19],[100,3],[85,-8],[32,8],[39,-4],[195,29],[130,9],[24,-6],[64,-37],[31,-43],[-30,-11],[-28,-28],[-13,-36],[-37,-27],[-10,-45],[17,-8],[20,12],[41,42],[53,29],[58,-16],[23,6],[40,41],[-7,33],[16,20],[18,5],[75,-4],[119,-17],[21,-18],[29,-9],[17,-17],[53,-13],[26,-13],[35,-29],[32,-43],[-40,-23],[-22,-41],[-9,-9],[-7,-15],[-3,-36],[-6,-31],[-7,-14],[-5,-16],[5,-47],[-12,-36],[-40,-28],[-41,-1],[-61,18],[-18,0],[-17,-7],[76,-39],[56,-58],[65,-13],[18,-7],[23,-53],[8,-27],[-108,-64],[-28,-11],[-172,-10],[-113,-18]],[[77734,96656],[-96,11],[-30,15],[-29,22],[42,27],[30,56],[37,33],[94,62],[11,25],[18,53],[11,20],[15,19],[11,23],[2,34],[6,28],[37,44],[27,20],[29,6],[71,-8],[22,3],[-16,14],[-11,50],[2,17],[10,32],[18,16],[18,10],[11,43],[-5,16],[27,20],[13,28],[32,17],[65,13],[3,34],[10,23],[14,6],[33,6],[18,-1],[24,-34],[26,-29],[34,-6],[34,2],[-20,33],[1,36],[12,24],[16,10],[34,2],[107,-25],[70,-36],[16,-19],[-13,-10],[-31,-6],[-16,-11],[-27,-45],[-11,-42],[-83,-136],[-10,-24],[49,21],[44,46],[27,39],[30,24],[34,0],[35,9],[65,33],[66,14],[36,-1],[34,-15],[22,-36],[24,-29],[87,-22],[13,-7],[8,-24],[-7,-26],[50,-27],[69,12],[37,-7],[36,-14],[17,-23],[14,-28],[15,-40],[9,-43],[-8,-55],[-134,-87],[-25,-8],[-62,5],[-61,-8],[-161,-45],[-199,-2],[-57,-40],[-17,1],[-17,7],[-16,14],[-121,-12],[-136,-6],[-136,-2],[-45,-29],[-139,-56],[-127,-43],[-66,-11]],[[88638,94701],[-33,10],[-32,16],[-215,57],[-25,18],[-24,26],[-65,81],[-32,19],[-33,8],[-64,42],[-59,65],[-12,21],[-4,33],[10,24],[51,-11],[34,1],[-21,122],[15,115],[25,19],[97,-13],[-31,38],[-26,51],[16,27],[18,20],[42,16],[56,7],[17,12],[16,19],[31,21],[62,9],[107,41],[29,-2],[27,-21],[26,-31],[28,-16],[88,-40],[60,-36],[85,-74],[28,-11],[34,7],[32,-15],[30,-63],[14,-16],[15,-11],[15,-6],[45,-2],[20,13],[15,28],[-1,29],[-4,30],[0,40],[7,36],[10,22],[13,14],[74,44],[52,44],[71,-17],[72,-39],[127,-82],[59,-24],[71,-22],[72,-8],[35,5],[69,23],[35,2],[436,-165],[15,-13],[14,-19],[-94,-25],[-61,-43],[-21,-30],[24,-24],[20,-33],[-133,-99],[-53,-26],[-54,-8],[-110,23],[-64,-1],[-62,21],[-69,59],[-29,30],[-25,41],[-8,66],[10,57],[37,16],[32,36],[5,16],[-17,32],[-108,4],[-68,-17],[-61,-18],[18,-121],[13,-38],[18,-28],[98,-126],[22,-18],[65,-24],[55,-54],[-97,-61],[-43,-18],[-42,-10],[-26,5],[-26,12],[-28,30],[-24,30],[-31,24],[-66,-5],[-61,-21],[-61,-14],[-180,-25],[-55,-15],[-55,-5],[-71,28],[-70,41],[-22,0],[-20,-11],[-17,-25],[-9,-39],[-23,-52],[-29,-37],[-31,-16],[-32,-2]],[[89775,93850],[-98,14],[-70,5],[-68,0],[-60,17],[-147,18],[-115,46],[-120,34],[-25,3],[-75,-10],[-102,-44],[-28,-3],[-39,0],[-27,42],[65,13],[65,5],[63,16],[59,48],[29,38],[51,88],[28,32],[28,20],[30,7],[33,-3],[103,19],[70,6],[70,-11],[69,-26],[57,-29],[196,-139],[18,-28],[15,-37],[8,-126],[-11,-9],[-72,-6]],[[91402,94769],[-209,17],[-57,15],[-34,19],[-64,44],[-31,16],[-103,15],[-32,8],[-60,38],[-62,31],[-154,50],[10,57],[20,59],[24,51],[26,46],[28,14],[59,-42],[-1,-49],[14,-34],[73,-4],[107,44],[14,1],[260,-16],[22,-15],[2,-30],[-8,-16],[-4,-22],[32,-22],[84,-5],[53,21],[156,-11],[128,-15],[49,-33],[38,-17],[31,-21],[23,12],[22,21],[18,4],[18,-3],[-49,-126],[-18,-15],[-69,-31],[-137,-42],[-67,-13],[-152,-1]],[[98696,25819],[-24,22],[-5,23],[-6,51],[-5,19],[-31,15],[-41,-24],[-7,5],[-2,12],[0,74],[7,21],[-9,12],[-10,-4],[-3,-20],[6,-16],[-23,-21],[-25,0],[-7,8],[-2,14],[6,22],[8,20],[45,94],[47,125],[40,134],[11,69],[15,128],[-12,54],[-16,50],[-40,96],[-55,55],[-35,7],[-33,20],[-31,47],[-29,54],[-56,44],[-60,35],[-34,50],[-8,29],[-5,34],[0,32],[5,32],[6,25],[11,18],[63,64],[67,35],[12,0],[12,5],[17,22],[30,50],[8,33],[6,107],[10,105],[17,120],[26,74],[9,46],[-11,75],[10,28],[12,17],[13,9],[-23,71],[-26,107],[-6,33],[4,33],[7,32],[-17,8],[-10,31],[-24,104],[7,17],[14,-12],[20,-75],[4,39],[16,24],[16,12],[18,3],[-40,83],[-14,-3],[-18,-13],[-19,-9],[-18,8],[-17,18],[-8,36],[-11,67],[-7,25],[-53,139],[16,4],[43,-69],[8,22],[7,32],[-3,35],[-10,27],[-15,18],[-1,31],[12,29],[-1,20],[-24,41],[-10,5],[-5,-19],[7,-29],[-6,-3],[-61,75],[-18,60],[-15,67],[-2,-27],[2,-38],[24,-76],[39,-85],[7,-23],[-6,-29],[-14,-8],[-11,18],[-18,73],[-13,36],[-148,375],[19,50],[29,42],[7,18],[5,23],[-13,4],[-11,-11],[-13,-19],[-11,-22],[-15,-48],[-7,-11],[-17,33],[-7,21],[0,25],[-4,16],[-13,5],[-19,49],[-12,25],[20,49],[1,63],[-21,67],[-24,61],[-47,100],[-43,105],[47,13],[47,2],[-22,-63],[10,-36],[15,-31],[32,-94],[3,-27],[16,-27],[8,-21],[5,-28],[15,20],[11,30],[19,31],[-3,-50],[10,-11],[61,-34],[13,-29],[13,-9],[7,16],[9,9],[22,-18],[50,-51],[4,-17],[-2,-26],[2,-28],[7,-22],[17,-5],[22,33],[10,4],[15,-46],[6,-26],[-3,0],[10,-25],[12,-26],[22,-76],[-3,-27],[-6,-24],[20,-70],[-13,-4],[-40,11],[1,-14],[23,-51],[20,-73],[15,-43],[55,-136],[-8,-48],[1,-32],[-7,-27],[19,-72],[-12,-23],[-8,-73],[-8,-13],[1,-27],[22,-7],[13,-12],[12,-21],[7,26],[10,7],[26,-35],[55,-35],[15,-13],[8,-28],[5,-69],[11,-30],[21,-5],[23,9],[7,25],[-5,66],[-16,108],[0,34],[2,35],[-3,35],[-9,33],[-8,25],[-12,21],[4,33],[17,15],[10,-28],[9,-34],[42,-99],[26,7],[2,-41],[17,-42],[10,-49],[12,-146],[19,-138],[35,-60],[4,-29],[-21,15],[-7,-8],[2,-15],[20,-26],[23,-13],[14,2],[14,-10],[90,-89],[43,-35],[109,-57],[31,-5],[17,2],[33,20],[29,35],[25,53],[22,61],[23,29],[27,24],[14,21],[14,15],[73,-7],[25,-30],[32,-25],[16,-19],[-5,-39],[-19,-57],[-15,-63],[-13,-142],[-9,-145],[-13,-63],[-24,-49],[-27,-36],[-30,-16],[-12,-82],[-6,-96],[1,-24],[10,-19],[4,-28],[-16,-58],[-9,9],[-13,47],[-12,20],[-36,15],[-37,7],[-32,-4],[-31,-21],[-47,-41],[-14,-21],[-13,-27],[-21,-60],[-5,-73],[1,-38],[7,-29],[40,-41],[-39,-140],[-35,-147],[-20,-42],[-23,-38],[-21,-88],[-38,-76],[-25,-58],[-20,-60],[-17,-64],[-37,-90],[-16,-60],[-22,-49],[-40,-63],[-42,-55],[-67,-75],[-18,-24],[-20,-19]],[[96971,22845],[-37,11],[-36,20],[-19,8],[-38,-13],[-16,-14],[-30,14],[-23,-11],[-7,10],[-9,26],[5,33],[-6,25],[-15,17],[-10,19],[-12,14],[-31,6],[-49,-9],[-16,1],[-34,82],[-11,21],[-39,26],[-14,-4],[-21,-44],[-13,-7],[-74,-5],[-75,14],[-28,17],[-5,38],[57,104],[-17,-14],[-35,-42],[-22,6],[21,47],[2,20],[-4,24],[-30,-40],[-33,-5],[-4,37],[3,42],[7,12],[89,22],[33,14],[14,23],[-54,7],[-3,32],[7,25],[46,42],[-33,-10],[-38,3],[3,45],[9,35],[40,1],[-13,24],[-1,33],[11,2],[39,-45],[29,-16],[-12,34],[2,21],[7,10],[24,6],[-7,6],[-22,9],[-26,26],[-3,27],[1,31],[28,43],[17,-25],[20,7],[-15,20],[-9,30],[6,20],[60,80],[15,-77],[4,26],[1,24],[-7,21],[1,22],[7,18],[25,18],[34,59],[25,27],[20,-17],[13,-24],[-2,24],[-9,19],[-3,54],[45,84],[49,80],[48,84],[25,31],[54,34],[34,-14],[9,3],[51,60],[21,16],[19,-22],[12,-8],[-12,56],[10,25],[42,45],[54,46],[40,19],[30,31],[18,1],[-3,24],[3,22],[16,-1],[5,9],[-14,12],[44,45],[24,50],[13,11],[11,15],[14,34],[17,12],[15,-6],[11,-17],[-6,29],[-20,16],[22,24],[22,17],[21,-12],[21,-20],[-21,30],[-3,19],[25,22],[14,6],[19,-40],[-2,32],[4,28],[28,47],[36,77],[11,-27],[2,-32],[-2,-40],[8,14],[2,36],[-5,62],[45,116],[8,13],[10,8],[16,3],[-5,18],[-12,17],[12,59],[8,67],[10,64],[17,64],[18,105],[14,22],[38,8],[16,15],[28,38],[32,69],[18,56],[23,144],[13,150],[37,112],[54,81],[48,62],[19,12],[33,4],[32,-17],[-59,-14],[-6,-37],[-2,-37],[7,-33],[11,-30],[28,-27],[33,-17],[15,-62],[3,-74],[5,-64],[13,-55],[32,-3],[29,43],[31,36],[32,29],[49,67],[12,10],[32,12],[14,16],[15,4],[-14,-40],[-17,-13],[-3,-14],[10,-23],[-15,-32],[0,-41],[-18,-47],[28,19],[10,31],[-5,18],[12,34],[18,16],[-7,27],[0,20],[23,-7],[11,0],[9,9],[16,3],[4,-23],[21,3],[-8,-30],[-16,-33],[-4,-21],[-27,-34],[-18,-14],[28,-4],[40,46],[24,40],[-1,-50],[-19,-45],[-17,-29],[-19,-9],[-18,-23],[-9,-37],[1,-25],[5,-20],[19,-34],[-21,-64],[24,8],[13,-12],[18,-38],[-11,-42],[-8,-22],[-47,-91],[-20,-46],[-24,-29],[1,-49],[-14,-35],[-70,-120],[-12,-26],[-55,-191],[-35,-81],[-20,-27],[-21,-22],[-51,-38],[-23,-44],[-25,-36],[-26,-8],[1,-16],[17,-9],[13,-24],[-10,-26],[-19,-17],[-19,-5],[-10,-17],[46,12],[13,-14],[3,-29],[5,-27],[11,-35],[39,-22],[35,-10],[7,-16],[5,-56],[-6,-28],[-8,-18],[-12,-6],[-28,-4],[-29,13],[-19,34],[-54,-11],[-15,-7],[-7,6],[30,35],[-16,20],[-13,8],[-14,-12],[-9,-18],[-3,-31],[-10,-18],[-15,-5],[-21,26],[-21,36],[-30,37],[4,-23],[24,-56],[12,-36],[-28,-30],[-28,-23],[-25,-13],[-22,-21],[-27,-33],[-15,-12],[-39,0],[-21,-11],[-7,-43],[-15,-27],[-34,-6],[12,-8],[8,-14],[-23,-130],[-5,-54],[-4,-92],[-14,-86],[-41,1],[6,-15],[31,-24],[-6,-37],[-34,-66],[-14,-39],[-14,-93],[-20,-86],[-32,-98],[0,-18],[11,-24],[13,-22],[1,-30],[-4,-16],[-15,-5],[-13,-10],[-71,-27],[-24,-30],[-19,-54],[-22,-46],[-74,-103],[-44,-86],[-9,-25],[-12,-18],[-95,-41],[-68,-6]],[[84818,53788],[-17,20],[-13,74],[-2,30],[9,70],[1,64],[-10,21],[-12,-4],[-4,-9],[-27,-84],[-12,-21],[-17,-3],[-13,6],[-81,73],[-66,72],[-51,67],[-38,102],[-8,75],[0,80],[-17,116],[-2,40],[2,38],[16,71],[20,36],[12,26],[9,29],[6,38],[-2,38],[-7,24],[-32,84],[-27,51],[-57,46],[-13,26],[-14,19],[-16,8],[-16,0],[-16,-14],[-5,-31],[2,-27],[-2,-26],[-24,-153],[-30,33],[-29,39],[-7,27],[-4,33],[-5,21],[-6,20],[-14,-51],[-16,-40],[-20,-9],[-21,-1],[-7,17],[-7,97],[-22,31],[-27,-7],[-33,-53],[-6,-20],[-7,-46],[-36,-131],[-19,-101],[-21,-98],[-9,-32],[-13,-22],[-19,9],[-18,24],[-17,63],[6,74],[19,46],[15,51],[19,175],[1,63],[4,27],[31,79],[26,50],[13,10],[57,28],[23,24],[36,0],[30,13],[24,38],[2,40],[-2,41],[6,25],[9,21],[12,28],[15,20],[40,16],[14,17],[10,26],[16,52],[17,-12],[18,-21],[33,-16],[28,-43],[19,-68],[3,-33],[5,-111],[-7,-26],[-28,-52],[13,-5],[36,47],[19,18],[45,25],[11,17],[7,25],[16,67],[12,73],[9,30],[13,24],[13,4],[47,-50],[31,24],[8,75],[7,110],[6,29],[17,29],[21,-9],[28,-40],[27,-13],[9,32],[10,62],[10,0],[36,-21],[34,14],[10,75],[-7,80],[-27,233],[16,52],[14,1],[34,-62],[65,-84],[22,-51],[14,-63],[22,-35],[30,9],[-1,-90],[5,-26],[27,-76],[4,-64],[-16,-59],[-12,-29],[-22,-41],[0,-18],[9,-21],[31,-13],[23,-33],[4,-93],[22,-73],[-1,-32],[-9,-131],[3,-56],[16,-45],[14,-19],[8,-28],[6,-78],[-1,-131],[-2,-46],[-10,-42],[-30,-97],[-40,-77],[-22,5],[-6,-23],[13,-70],[-5,-149],[-9,-103],[-13,52],[-9,55],[-9,144],[-10,65],[-16,60],[-7,53],[-16,50],[-22,128],[-14,-7],[-23,-35],[-5,-24],[-3,-37],[-6,-32],[-27,-53],[-22,-62],[-17,-69],[-6,-62],[15,-49],[15,-20],[21,-44],[7,-20],[23,-143],[-1,-146],[-17,-64],[-42,-122],[-30,-39]],[[84460,57916],[-27,17],[-23,56],[4,68],[15,66],[-8,14],[-15,-5],[-17,-15],[-19,-5],[-30,9],[-62,72],[-26,6],[-6,33],[2,69],[-25,81],[-4,30],[-8,23],[-74,89],[-9,15],[-23,71],[-52,101],[-14,10],[-16,3],[-5,-26],[7,-39],[3,-34],[-1,-35],[2,-28],[25,-56],[3,-27],[17,-72],[2,-84],[-21,-35],[-24,39],[-1,32],[-4,29],[-25,77],[-8,16],[-48,76],[-37,83],[-82,88],[-9,5],[-15,-6],[-13,-11],[-40,-44],[-14,-31],[-1,-46],[-28,-37],[-39,-6],[-30,24],[-25,46],[-21,2],[-25,73],[-31,9],[-26,-56],[-5,113],[0,114],[7,33],[13,28],[65,120],[8,38],[-3,52],[-15,41],[-23,26],[-27,11],[-19,23],[-15,39],[-11,-69],[10,-101],[2,-66],[-9,-25],[-17,-1],[-16,8],[-11,24],[-9,68],[-23,45],[-9,64],[-10,10],[-21,-5],[-16,30],[-10,75],[-2,81],[-9,68],[-13,65],[-7,54],[-12,241],[-2,22],[-6,18],[-15,28],[-11,33],[-2,28],[3,118],[5,29],[11,14],[16,-23],[12,-29],[15,-14],[14,-18],[25,-70],[10,-11],[31,2],[18,9],[9,25],[5,31],[1,36],[-18,105],[-6,77],[0,69],[5,69],[24,114],[3,80],[-2,107],[4,63],[-1,36],[-14,58],[-4,61],[41,311],[13,60],[9,62],[4,82],[31,23],[29,34],[15,-3],[15,-8],[36,17],[13,1],[43,-31],[94,-111],[34,-27],[36,-21],[28,-6],[26,25],[10,26],[20,68],[20,9],[13,-25],[9,-33],[5,-49],[-6,-51],[-20,-46],[-12,-55],[-8,-182],[0,-55],[7,-52],[17,-84],[9,-23],[26,-30],[7,-23],[1,-40],[4,-36],[17,-13],[14,-18],[-5,-40],[-9,-40],[-12,-99],[-55,-230],[-3,-49],[-22,-99],[-45,-16],[-52,-48],[-28,-37],[-25,-48],[-10,-63],[8,-29],[5,-31],[0,-33],[-8,-28],[-25,-67],[-10,-55],[-11,-25],[-6,-30],[2,-34],[10,-30],[30,-129],[33,-124],[7,-14],[2,-17],[-19,-33],[1,-59],[5,-59],[29,-147],[4,-39],[10,-32],[14,-30],[17,-25],[46,-44],[18,-8],[19,-2],[4,29],[17,10],[-4,29],[-20,40],[0,21],[10,16],[13,9],[28,44],[29,34],[38,-2],[37,-20],[27,-20],[22,-37],[22,-64],[16,-71],[-1,-34],[-3,-34],[0,-34],[12,-23],[36,-1],[18,53],[3,59],[-13,23],[6,29],[11,22],[16,-20],[15,-37],[56,-40],[14,-1],[11,-7],[25,-28],[12,-22],[-14,-46],[-56,-11],[-16,-34],[17,-70],[26,-57],[17,-47],[15,-49],[0,-47],[-9,-48],[24,4],[23,-10],[32,-40],[10,-4],[10,6],[-1,-145],[-22,-133]],[[89195,48924],[22,-10],[140,-128],[41,-52],[14,-12],[14,0],[14,-6],[62,-72],[94,-71],[99,-69],[31,-14],[31,-6],[69,-24],[37,-21],[53,-85],[27,-26],[25,-47],[35,-51],[15,-13],[15,-6],[35,-2],[35,9],[15,-4],[14,-9],[13,-18],[6,-34],[22,-47],[31,-22],[29,-43],[27,-51],[19,-52],[22,-43],[34,-19],[35,-3],[120,-259],[6,-40],[1,-170],[-13,-133],[30,-41],[40,-15],[58,-29],[55,-42],[175,-180],[24,-15],[35,-6],[36,3],[13,-9],[26,-33],[14,-21],[24,-58],[21,-63],[9,-18],[11,-14],[6,-34],[9,-106],[-3,-66],[-9,-24],[-28,-12],[-99,-11],[-65,12],[-46,-67],[-2,-29],[4,-27],[40,-141],[23,-125],[20,-51],[29,-41],[26,-49],[24,-56],[50,-98],[27,-36],[31,-23],[53,-76],[7,-33],[16,-106],[6,-72],[1,-29],[4,-27],[46,-65],[11,-18],[20,-144],[16,-67],[27,-24],[31,1],[85,43],[12,2],[16,-10],[14,-24],[4,-65],[-13,-68],[-4,-66],[17,-54],[43,-42],[16,-11],[78,-14],[30,-11],[30,-18],[11,-16],[-8,-29],[-15,-14],[-18,-6],[-29,-21],[1,-37],[16,-39],[15,-47],[12,-17],[14,-11],[33,-16],[33,-23],[22,-22],[22,-16],[48,-10],[36,-29],[51,12],[-44,-48],[-15,-12],[-53,18],[-10,-19],[22,-51],[32,-35],[12,-20],[-9,-24],[-37,-46],[-16,-7],[-29,-4],[-50,20],[-35,26],[-9,35],[-10,21],[-31,50],[-23,27],[-28,9],[-30,-1],[-53,29],[-116,21],[-27,12],[-35,40],[-16,6],[-18,-13],[-44,-8],[-13,4],[-32,34],[-33,12],[-14,-10],[-14,-2],[-44,24],[-34,10],[-28,34],[-15,32],[-17,28],[-16,72],[-24,69],[-31,56],[-65,91],[-13,22],[-25,84],[1,55],[9,56],[-14,-19],[-16,2],[-44,37],[-18,44],[-30,120],[-19,62],[-44,112],[-13,66],[-18,58],[-12,21],[-9,25],[-9,32],[-12,22],[-62,50],[-11,16],[-12,8],[-46,5],[-26,8],[-50,41],[-26,12],[-31,8],[-30,15],[-15,15],[-10,26],[-6,60],[-25,-6],[-25,10],[-24,21],[-24,13],[-17,-18],[-5,-48],[-8,-3],[-14,10],[-7,-6],[-16,-22],[-12,-30],[-23,5],[-47,30],[-21,19],[-18,34],[-15,39],[-16,31],[-19,22],[24,-53],[56,-233],[-14,-5],[-14,6],[13,-45],[-15,-7],[-15,1],[-32,19],[-31,7],[-10,-10],[7,-17],[11,-49],[9,-52],[-46,-23],[-46,-15],[-52,-28],[-53,-2],[-27,16],[-28,9],[-26,-9],[-25,-20],[-21,3],[-14,37],[-6,28],[-8,24],[-20,-4],[-19,-13],[33,-2],[10,-30],[8,-38],[23,-33],[29,20],[61,-6],[60,-58],[14,-7],[13,-11],[31,-58],[24,-53],[19,-60],[4,-23],[-1,-63],[-6,-32],[-39,-44],[-41,-33],[-61,-66],[-59,-74],[-31,15],[-28,39],[-10,11],[-29,21],[-18,8],[-69,-17],[-70,-9],[-30,1],[-28,13],[-32,23],[-31,-10],[-21,-28],[-23,-4]],[[89203,45008],[-58,81]],[[89145,45089],[-39,66],[-34,75],[-23,70],[-25,64],[-108,190],[-27,62],[-6,17],[3,16],[12,33],[22,95],[-23,-59],[-27,-46],[-40,-3],[-39,-12],[-37,-28],[-37,-9],[-18,13],[-11,35],[-6,36],[-3,38],[-15,-61],[-31,-34],[-41,-71],[-12,15],[-7,27],[-3,28],[8,30],[6,31],[8,76],[19,45],[12,87],[8,30],[4,31],[-11,35],[-18,12],[-13,21],[-15,59],[-9,20],[-16,24],[-13,28],[14,21],[19,9],[15,-1],[27,-14],[13,0],[31,21],[-17,-6],[-18,0],[-57,38],[-35,40],[-33,79],[0,15],[23,14],[51,17],[-16,40],[-23,35],[-8,63],[-15,39],[-34,63],[-23,65],[-19,133],[-20,101],[5,36],[17,26],[-26,3],[-23,19],[12,49],[27,29],[-25,-8],[-23,-14],[-11,-2],[-11,4],[-6,20],[-1,27],[3,50],[-4,47],[-21,23],[-17,34],[-10,12],[-13,-1],[-12,23],[-10,33],[-126,144],[-8,40],[-11,-18],[-12,-8],[-14,23],[-16,16],[-16,-3],[-15,13],[-16,7],[-17,1],[-66,44],[-63,70],[-51,30],[-31,39],[-33,32],[-73,31],[-74,21],[-27,1],[-22,-7],[-22,1],[-122,152],[-21,69],[2,40],[6,33],[50,10],[-36,10],[-14,-5],[-29,-27],[-16,-2],[-22,18],[-21,23],[-35,-21],[-17,34],[-7,37],[-9,17],[-13,-2],[-17,-13],[-18,2],[-11,25],[-8,33],[-12,24],[-15,18],[-24,43],[-12,58],[1,101],[4,36],[24,59],[16,55],[-20,7],[-19,-26],[-8,-26],[-3,-32],[-2,-106],[-15,-31],[-22,3],[6,-62],[-9,-59],[-26,-69],[-2,-31],[4,-34],[-6,-34],[-42,-96],[-14,-5],[-32,1],[-32,-16],[-15,23],[-13,29],[-9,35],[-13,71],[-10,74],[32,91],[-11,81],[-21,70],[-55,98],[-57,92],[-26,18],[-43,9],[-13,9],[-13,34],[-10,40],[26,17],[46,47],[26,-2],[70,-25],[21,-24],[20,-13],[48,77],[38,102],[24,22],[20,7],[20,-10],[41,-35],[32,-17],[23,-3],[12,-31],[13,-15],[3,48],[12,55],[22,18],[12,3],[8,15],[-2,51],[-30,6],[17,44],[14,22],[5,21],[1,27],[-59,-52],[-62,-21],[-36,6],[-37,0],[-73,-34],[-27,1],[-65,14],[-36,17],[-27,-13],[-27,-1],[-28,39],[-23,50],[-12,35],[-16,25],[-7,34],[-17,129],[-2,92],[-27,2],[-28,9],[-121,88],[-15,-22],[-17,-11],[-17,-4],[-17,5],[-17,13],[1,24],[13,60],[12,21],[17,17],[11,32],[18,94],[1,32],[-2,33],[1,24],[11,13],[46,31],[95,46],[24,28],[20,44],[24,27],[10,27],[12,22],[74,59],[32,4],[32,-6],[65,-35],[61,-56],[53,-73],[57,-54],[70,-9],[35,6],[34,-8],[14,-15],[24,-45],[-7,-30],[-4,-62],[13,-60],[20,-60],[16,-63],[3,-31],[-6,-66],[-5,-33],[-20,-54],[-11,-59],[7,-74],[4,-73],[-1,-68],[4,-66],[10,-68],[47,-185],[27,-125],[9,70],[-2,78],[9,28],[14,15],[17,-16],[4,-31],[2,-69],[14,-135],[19,-6],[21,21],[3,-42],[-1,-76],[10,-60],[8,-24],[34,-49],[15,-10],[44,-11],[33,-4],[32,17],[21,46],[18,49],[65,113],[18,54],[18,83],[7,17],[63,90],[8,32],[9,61],[14,60],[10,30],[62,29],[64,16],[64,55],[27,47],[2,31],[-14,55],[-1,24],[15,23],[56,69],[66,71],[53,49],[29,-1],[27,-43],[28,-35],[150,-104],[24,-32],[21,-43],[30,-30],[33,-14],[31,-28],[28,-35],[64,-67],[86,-81],[21,-5],[80,4],[14,-15],[13,-22],[12,-5],[91,-15],[14,-15],[13,-22],[8,-58]],[[89096,48927],[99,-3]],[[83254,47098],[-44,49],[-27,53],[-24,57],[-4,66],[8,67],[12,72],[24,120],[-1,80],[8,66],[14,64],[5,59],[3,230],[-3,21],[-33,137],[-4,23],[0,37],[3,35],[1,32],[-7,24],[-14,22],[-16,10],[-34,-10],[-68,-37],[-20,33],[-15,50],[-10,70],[-5,73],[2,69],[10,66],[-8,47],[-12,50],[0,26],[7,23],[12,19],[15,11],[14,20],[37,68],[12,60],[1,73],[10,70],[19,65],[22,60],[7,62],[-11,98],[5,45],[-4,52],[0,52],[13,98],[42,199],[40,106],[16,28],[21,-49],[16,-58],[1,52],[-5,52],[-16,120],[-14,234],[4,22],[14,-4],[15,21],[7,37],[-15,87],[0,31],[28,122],[24,44],[10,28],[6,75],[12,28],[16,20],[20,51],[11,65],[7,5],[8,3],[12,-57],[14,-23],[28,-18],[24,21],[7,29],[9,24],[14,26],[12,29],[14,67],[18,61],[12,22],[15,13],[16,9],[16,1],[35,-39],[21,-7],[20,2],[14,-6],[10,-17],[9,-35],[11,-30],[10,-15],[12,-7],[76,12],[67,-34],[91,-8],[32,-20],[30,-26],[36,-46],[14,-10],[15,3],[19,43],[14,10],[15,1],[59,-8],[158,-53],[23,7],[96,102],[38,96],[34,27],[11,44],[7,52],[12,14],[29,15],[11,16],[21,64],[24,57],[11,17],[34,-9],[15,-25],[19,-84],[-3,-14],[-22,-41],[-7,-18],[-25,-118],[-17,-57],[-21,-52],[-53,-101],[-17,-48],[-14,-53],[-21,-58],[-24,-51],[-12,-15],[-29,-28],[-17,-10],[-32,-4],[-97,-41],[-31,-5],[-32,2],[-60,10],[-12,6],[-24,52],[-27,42],[-24,5],[-24,-5],[-175,-3],[-61,-7],[-61,-19],[-33,8],[-33,21],[-24,8],[-25,-3],[-115,-31],[-29,3],[-58,40],[-34,8],[-33,-10],[-31,-37],[-11,-24],[-32,-83],[-18,-60],[-14,-75],[-11,-77],[-7,-63],[0,-66],[5,-74],[9,-73],[10,-56],[39,-129],[8,-18],[44,-37],[25,-47],[25,-129],[17,-66],[17,-1],[19,4],[33,-8],[33,-17],[32,40],[17,75],[18,56],[43,106],[25,49],[15,16],[16,-7],[13,-28],[16,-22],[32,-12],[33,7],[34,35],[12,21],[11,27],[29,22],[69,0],[36,-8],[64,9],[-1,19],[-12,21],[-4,17],[12,11],[41,24],[42,17],[31,-12],[27,-34],[11,-35],[4,-42],[-10,-108],[-5,-26],[-22,-13],[-20,15],[-21,56],[-28,20],[-41,-17],[-14,-16],[-13,-22],[-23,-58],[-19,-66],[-41,-102],[-48,-89],[-23,-34],[-26,-23],[-83,-59],[-22,-44],[-17,-56],[-19,-20],[-22,-6],[-16,11],[-33,32],[-11,-26],[-2,-41],[16,-14],[27,-44],[20,-63],[13,-13],[29,-21],[12,-19],[22,-54],[34,-125],[12,-68],[19,-55],[58,-93],[3,-27],[-3,-31],[4,-28],[21,-53],[5,-35],[-23,-44],[-1,-64],[-14,-86],[-3,-28],[0,-27],[10,-24],[11,-19],[16,-11],[14,-16],[26,-67],[14,-18],[8,-24],[0,-36],[12,-22],[11,-38],[16,-9],[8,11],[6,16],[14,-6],[8,-26],[4,-34],[2,-37],[-1,-71],[-7,-26],[-15,1],[-27,30],[-1,-21],[2,-21],[-14,-7],[-16,3],[-40,-3],[-73,-44],[-26,-26],[-17,-47],[-1,-33],[6,-69],[-9,-24],[-34,-9],[-47,19],[-28,18],[-16,15],[-21,47],[-8,59],[16,177],[4,23],[7,20],[8,32],[2,38],[-22,46],[-34,18],[-29,38],[-111,216],[-6,21],[0,35],[4,34],[37,117],[4,23],[5,93],[-1,76],[-4,77],[-17,48],[-31,15],[-32,2],[-31,-15],[-30,-39],[-57,-81],[-22,-47],[-2,-61],[13,-60],[17,-55],[8,-60],[13,-213],[-1,-24],[-14,-62],[-6,-138],[6,-195],[10,-120],[-4,-65],[-26,-140],[-8,-77],[-1,-31],[31,-147],[7,-57],[4,-60],[-33,29],[-15,-1],[-16,-9],[-34,-10],[-35,-1],[-12,-11],[-25,-39],[-15,-16],[-13,-3]],[[81828,45276],[-35,17],[-21,21],[-12,34],[-17,20],[-33,-7],[-61,34],[-69,54],[-122,113],[-33,-1],[-32,-15],[-33,-28],[-35,-21],[-26,-8],[-26,6],[-65,27],[-66,18],[-168,11],[-47,26],[-79,13],[-63,22],[-62,31],[-158,154],[-51,36],[-159,74],[-24,5],[-58,-5],[-36,22],[-32,0],[-47,-24],[-15,-17],[-18,-36],[-33,2],[-32,7],[-84,34],[-31,21],[-30,32],[-28,40],[-14,15],[-72,42],[-60,14],[-122,19],[-27,13],[-22,15],[-12,33],[1,43],[9,37],[12,38],[8,35],[-89,75],[-71,41],[-30,8],[-31,-1],[-34,-8],[-34,4],[-16,12],[-17,4],[-16,-9],[-13,4],[-4,34],[9,28],[17,33],[10,6],[4,-51],[5,-10],[16,-12],[6,4],[27,65],[8,32],[13,87],[14,-16],[14,10],[8,14],[23,202],[19,59],[26,49],[12,11],[26,-30],[51,-11],[30,-20],[31,-2],[29,-10],[42,-36],[15,4],[14,11],[23,39],[9,61],[32,-31],[48,-12],[11,-18],[28,-68],[25,-36],[29,-19],[30,-2],[30,-9],[35,-25],[35,-12],[17,4],[16,14],[11,1],[10,-13],[25,-57],[27,-53],[6,-26],[18,-126],[20,-37],[29,-10],[33,0],[33,-6],[77,-29],[30,4],[27,30],[24,-20],[65,-35],[32,-8],[36,10],[37,2],[17,-10],[17,-15],[14,-6],[15,0],[26,30],[18,54],[14,69],[11,71],[7,31],[10,27],[14,17],[14,11],[38,-6],[8,-18],[42,-121],[8,-10],[45,-8],[12,4],[27,24],[16,3],[28,-30],[13,-26],[13,-19],[70,-19],[28,-52],[13,-7],[49,7],[34,-5],[29,-14],[13,-74],[11,-75],[7,-26],[28,-26],[12,-23],[-3,-76],[3,-71],[61,-62],[65,-36],[69,-4],[70,13],[35,15],[45,27],[9,-1],[87,-82],[8,-12],[9,-61],[0,-65],[-16,-153],[-1,-42],[1,-42],[18,-92],[9,-26],[31,-48],[1,-25],[-4,-25]],[[79063,46971],[-8,2],[-33,60],[-31,67],[-35,90],[-26,43],[-23,47],[-66,182],[-17,28],[-101,128],[-20,30],[-26,53],[-28,47],[-61,75],[-106,188],[-46,109],[-51,174],[-17,45],[-86,131],[-47,79],[-20,46],[-45,159],[-14,53],[-16,48],[-28,38],[-24,45],[-49,144],[-15,57],[-11,62],[2,124],[-103,377],[-26,117],[-23,163],[-6,16],[-56,146],[-19,46],[-24,44],[-20,51],[-38,167],[-15,46],[-20,34],[-73,63],[-27,35],[-22,50],[-13,63],[-14,135],[-35,205],[-38,274],[-26,123],[-30,96],[-9,22],[-133,174],[-22,25],[-24,16],[-34,11],[-27,45],[-10,80],[-6,108],[-7,64],[-7,37],[-56,76],[-21,60],[-18,67],[-17,51],[-61,177],[-21,47],[-26,32],[-76,35],[-23,29],[-37,101],[-22,51],[-67,113],[-114,236],[-23,59],[-18,61],[-14,66],[-48,183],[3,37],[8,38],[-1,32],[-6,31],[1,28],[15,17],[32,21],[34,-3],[31,-9],[30,-17],[29,-39],[51,-96],[30,-34],[33,-16],[67,-23],[34,-5],[63,32],[35,-3],[32,-23],[30,-14],[72,17],[14,-4],[13,-14],[11,-21],[33,-77],[56,-95],[16,-60],[9,-69],[6,-16],[63,-130],[7,-55],[-9,-76],[19,-60],[61,-56],[36,-42],[8,-25],[5,-30],[21,-45],[25,-29],[78,-76],[103,-160],[59,-76],[48,-115],[18,-56],[14,-59],[29,-87],[50,-107],[13,-33],[13,-47],[16,-44],[19,-41],[22,-31],[22,-10],[37,-77],[20,-25],[-3,61],[-17,53],[0,32],[3,29],[14,24],[16,7],[31,-22],[49,-92],[21,-54],[16,-74],[13,-77],[20,-38],[27,-13],[31,-6],[28,-23],[65,-106],[22,-50],[16,-59],[12,-69],[7,-73],[4,-17],[42,-88],[22,-37],[27,-18],[78,-20],[28,-30],[23,-51],[10,-51],[-17,-46],[-61,-69],[-66,-49],[64,17],[32,20],[30,32],[30,40],[46,56],[17,12],[21,-4],[18,-16],[28,-55],[26,-59],[20,-67],[12,-76],[-22,-39],[-33,-29],[-45,-73],[-4,-29],[9,-19],[-11,-53],[25,-33],[4,-29],[-22,-40],[2,-25],[26,-106],[13,-24],[40,-54],[60,-55],[34,-25],[38,-19],[17,0],[28,9],[6,-21],[12,-105],[6,-66],[9,-141],[11,-58],[-1,-72],[15,-60],[30,-39],[32,-32],[15,-31],[0,-46],[-5,-37],[-11,-29],[-33,-61],[-6,-26],[-5,-68],[6,-30],[13,-2],[10,16],[40,90],[11,16],[15,13],[15,8],[72,0],[31,-14],[27,-29],[25,-37],[88,-235],[40,-129],[3,-32],[1,-34],[-7,-26],[-37,-88],[-4,-24],[-12,-97],[2,-69],[13,-29],[9,-32],[0,-28],[-25,-143],[-2,-24],[15,-232],[1,-62],[-3,-80],[2,-128],[-19,-395],[-4,-23],[-15,-61],[-20,1],[-16,10],[-12,23],[-6,29],[-9,23],[-48,74],[-13,-13],[-49,-90],[-13,-14],[-16,11],[-25,28],[-81,95],[-5,-31],[-1,-41],[16,-104],[2,-45],[-15,-9]],[[82656,52937],[-19,-17],[-9,-34],[27,-52],[1,-34],[21,-31],[24,-48],[1,-16],[9,-22],[4,-26],[-17,-26],[-24,-5],[-17,24],[-16,31],[-4,-38],[-13,-22],[-45,6],[-32,0],[-32,-10],[16,-5],[14,-13],[50,-98],[11,-36],[-17,-72],[8,-30],[19,-17],[24,-35],[17,-4],[12,-20],[0,-36],[7,-32],[-19,-12],[19,-9],[17,-16],[-9,-17],[-7,-20],[7,-11],[23,-18],[10,-17],[6,-47],[22,-75],[41,-97],[9,-36],[0,-32],[-6,-28],[-24,-33],[-19,-43],[-2,-16],[-26,-20],[12,-15],[9,-20],[18,-60],[42,-97],[22,-37],[87,-133],[46,-57],[60,-133],[31,-30],[6,-37],[-26,-56],[-38,-29],[-62,-15],[-62,20],[-32,16],[-28,33],[-22,65],[-29,35],[12,-39],[7,-41],[-4,-44],[-11,-34],[-20,-26],[-21,-20],[-9,-14],[-53,-231],[-9,-62],[-16,-259],[0,-73],[24,-136],[2,-72],[5,-31],[-4,-25],[-11,-16],[-46,-42],[-32,-34],[-26,-50],[-21,-61],[-19,-44],[-25,-22],[-18,4],[-14,20],[-10,39],[-6,44],[-4,-32],[1,-32],[8,-33],[4,-35],[-5,-36],[-11,-29],[-29,-31],[-16,-27],[-2,-47],[-8,-26],[-11,-21],[-40,-47],[-9,-19],[-7,-24],[22,4],[19,-4],[2,-47],[6,-35],[-8,-77],[-30,-51],[15,-11],[14,-17],[30,-13],[10,-54],[-4,-66],[-6,-59],[-21,-17],[-14,11],[-14,-1],[-10,-18],[-2,-30],[19,15],[-1,-76],[-5,-75],[-7,-41],[-11,-34],[-18,-10],[-16,25],[-4,-29],[5,-25],[24,-60],[-15,-13],[-10,-20],[-5,-30],[-26,-68],[-11,-50],[-5,-54],[-12,-43],[-194,-184],[-156,-156],[-12,11],[-7,23],[-6,242],[-19,124],[-3,70],[-22,-63],[-14,7],[-15,16],[-11,20],[0,27],[11,77],[-14,-43],[-16,-32],[-16,4],[-14,16],[-5,25],[-7,4],[-35,-69],[-45,-36],[-25,0],[-20,21],[1,52],[-2,51],[-5,30],[-13,11],[-11,-4],[-32,-27],[-12,3],[-7,-13],[-85,185],[-18,-150],[-59,-80],[-44,-46],[-43,17],[-45,30],[-44,-36],[-47,-88],[-13,-13],[-14,0],[-10,11],[3,67],[1,67],[-4,148],[-4,29],[-13,41],[-18,29],[-11,-21],[-9,-30],[-36,2],[-35,23],[-30,-13],[-60,-59],[-32,-9],[-17,13],[-11,32],[6,29],[14,22],[-25,-18],[-21,-29],[-9,-19],[-10,9],[-26,67],[-54,-25],[-8,-8],[-13,-22],[-13,11],[-7,24],[-2,140],[-28,270],[-7,138],[-6,32],[-32,50],[1,71],[16,59],[4,69],[-5,76],[-10,73],[-12,55],[-18,48],[-24,53],[-30,40],[-63,45],[-33,-4],[-13,17],[-8,23],[3,45],[12,30],[15,8],[2,17],[-33,36],[-26,49],[-9,29],[-2,33],[0,74],[8,47],[4,26],[8,79],[18,24],[-3,14],[-8,11],[-11,26],[-9,30],[-20,50],[-36,61],[-6,105],[-5,155],[3,70],[11,131],[21,42],[16,11],[12,18],[-10,3],[-9,-7],[-15,-4],[12,117],[6,34],[25,66],[30,59],[12,68],[17,60],[70,62]],[[80452,51672],[18,-82],[7,-18],[40,-55],[33,-28],[36,-11],[37,-3],[15,4],[14,11],[14,-12],[76,-90],[30,-16],[31,7],[13,-9],[44,-69],[13,-8],[22,5],[-28,32],[-18,22],[-8,42],[4,45],[18,30],[12,32],[5,97],[8,49],[14,47],[5,45],[-16,34],[-4,59],[3,49],[10,33],[15,-22],[15,-20],[15,2],[11,8],[2,25],[-3,44],[1,81],[19,64],[31,45],[29,21],[108,36],[172,92],[51,36],[19,18],[15,26],[27,82],[50,129],[35,106],[74,155],[59,143],[8,27],[9,78],[1,37],[-2,37],[8,18],[12,10]],[[81681,53192],[34,-1]],[[81715,53191],[34,10],[35,31],[33,38],[28,44],[27,49],[27,39],[43,45],[15,-4],[0,-32],[-6,-37]],[[81951,53374],[32,0]],[[81983,53374],[65,20],[14,21],[26,47],[10,27],[7,59],[-32,36],[-12,45],[-1,49],[38,91],[13,22],[6,-32],[17,-9],[15,-1],[16,2],[22,46],[12,66],[39,93],[14,72],[8,75],[99,232],[12,36],[59,234],[7,8],[16,-23],[4,-74],[-2,-33],[-9,-48],[-6,-50],[7,1],[28,31],[29,81],[17,71],[14,31],[28,-17],[6,-13],[-2,-50],[3,-30],[11,-63],[24,-38],[33,-25],[31,-34],[10,-23],[6,-28],[7,-46],[0,-46],[-22,-45],[10,-73],[-2,-42],[-7,-36],[-33,-33],[88,33],[22,18],[30,48],[16,-41],[15,-72],[-12,-18],[-38,-26],[-2,-11],[13,-37],[16,3],[31,25],[29,40],[14,-1],[15,-8],[29,-25],[16,-21],[13,-26],[9,-55],[33,-20],[68,-76],[12,-7],[14,-2],[35,10],[13,-11],[9,-28],[3,-34],[-1,-37],[-4,-28],[-8,-23],[-25,-35],[-61,-46],[-66,-35],[-34,3],[-47,29],[-17,-3],[-17,-14],[-21,-95],[39,-95],[66,-98],[9,-25],[-2,-30],[-11,-18],[-14,-10],[-37,-16],[-38,-12],[-30,-17],[-31,-22],[-31,8],[-43,44],[-12,3],[-13,-23],[-13,-61]],[[82667,52960],[-11,-23]],[[65674,93895],[-56,10],[-53,19],[-135,7],[-75,21],[-76,36],[-66,-2],[-56,-19],[-74,-40],[-47,77],[20,36],[-101,92],[-22,41],[25,21],[31,13],[59,37],[59,30],[61,9],[10,5],[25,44],[27,37],[25,19],[28,34],[89,138],[21,10],[184,27],[16,9],[-53,27],[-54,-1],[-25,9],[-14,21],[-8,22],[21,17],[71,82],[84,61],[78,35],[-19,9],[-25,24],[-95,-6],[-37,33],[-12,19],[-3,20],[31,26],[32,15],[35,-4],[35,-13],[28,-16],[27,-25],[23,1],[85,87],[-13,20],[-5,30],[9,13],[41,14],[27,6],[59,-7],[85,-19],[7,9],[21,59],[21,30],[86,51],[-5,16],[-4,26],[100,34],[65,33],[63,47],[32,10],[32,1],[65,20],[121,23],[71,22],[23,49],[45,18],[90,7],[35,-3],[20,-21],[39,2],[15,11],[16,18],[-5,29],[-1,38],[34,24],[13,5],[102,10],[60,-5],[125,-29],[65,-7],[87,9],[52,-5],[154,43],[261,41],[68,28],[67,35],[34,7],[35,2],[31,11],[61,29],[30,7],[33,0],[30,20],[26,44],[29,35],[79,44],[134,61],[121,24],[75,26],[32,2],[102,-12],[130,-34],[59,-38],[49,-48],[10,-17],[9,-31],[-14,-28],[-9,-30],[11,-22],[-95,-73],[-93,-81],[-16,-17],[-111,-28],[-111,-45],[-66,-31],[-65,-21],[-66,-15],[-104,-38],[-184,-47],[-116,-38],[-127,-31],[-134,-40],[-134,-28],[-33,-3],[-96,-38],[-75,-17],[-272,-87],[-125,-64],[-36,-6],[-36,3],[-30,-20],[-28,-35],[-59,-35],[-30,-31],[-30,-25],[-18,-8],[-34,2],[-16,-2],[-55,-28],[-10,-22],[59,-15],[13,-24],[-17,-18],[-38,-22],[-22,-24],[-40,-24],[-27,-7],[-65,1],[-4,-30],[11,-19],[-6,-16],[-22,-16],[-21,2],[-99,47],[-16,-16],[-7,-32],[-3,-35],[-13,-27],[-17,-13],[-31,-13],[-109,21],[-9,-20],[17,-25],[23,-56],[5,-23],[-13,-36],[-49,-59],[-187,-68],[3,-24],[21,-45],[5,-28],[-8,-27],[-24,-21],[-28,-1],[-15,5],[-43,30],[-37,7],[-7,-14],[49,-41],[21,-52],[-23,-28],[-90,-63],[-47,-81],[-92,-37],[-57,-5]],[[65676,92276],[-82,56],[-7,-7],[-8,-17],[-40,19],[-10,-14],[-31,-6],[-25,15],[0,20],[-5,10],[-125,-15],[-52,0],[-51,7],[-61,38],[-11,-17],[-2,-20],[-23,8],[-51,30],[-37,12],[-133,30],[-94,35],[24,16],[40,8],[1,21],[-7,30],[-1,30],[23,21],[52,-10],[-7,34],[25,6],[47,-19],[18,12],[-75,42],[-82,59],[8,22],[-29,5],[-30,-1],[-25,35],[4,46],[22,32],[-13,6],[-127,-27],[-64,6],[-72,19],[-66,-28],[-67,-9],[-35,10],[-34,20],[-28,27],[-22,45],[-20,77],[-3,29],[4,64],[11,27],[28,54],[19,17],[43,25],[22,7],[51,-13],[51,-1],[22,14],[21,25],[15,33],[35,19],[10,10],[11,22],[12,32],[2,27],[10,27],[32,40],[-12,24],[5,17],[21,29],[-64,8],[-22,13],[-21,20],[6,18],[8,14],[64,49],[28,15],[31,8],[31,0],[33,-6],[32,8],[-34,33],[-3,23],[-13,55],[3,26],[14,21],[30,24],[43,9],[34,13],[33,19],[31,3],[63,-13],[31,3],[34,11],[97,42],[36,10],[38,-3],[50,-15],[55,-29],[130,-24],[97,-7],[59,-18],[22,-14],[-9,-37],[-17,-15],[-41,-48],[-6,-30],[7,-46],[-6,-34],[-13,-24],[-11,-10],[-73,0],[-27,-14],[-1,-27],[-5,-29],[-24,-43],[-48,-14],[-11,-16],[4,-28],[-17,-22],[1,-33],[9,-18],[2,-38],[33,-55],[-6,-23],[-26,-45],[-8,-54],[-21,-47],[48,-40],[21,-50],[19,-56],[57,-108],[62,-96],[114,-141],[122,-107],[48,-30],[116,-50],[20,-15],[19,-22],[-49,-40],[-51,-15],[-5,-18],[-28,-10],[-138,34],[-7,5],[-15,25],[-16,19],[-35,3],[-35,-12],[21,-22],[23,-7],[40,-42],[-17,-16],[-18,-2]],[[89465,77674],[-17,27],[-15,30],[-9,45],[-4,49],[-24,166],[10,144],[41,199],[7,65],[-6,62],[-9,61],[-6,116],[1,26],[14,67],[17,64],[20,55],[9,66],[-13,164],[-29,111],[-37,105],[-7,28],[-2,29],[32,131],[11,63],[13,139],[12,75],[9,77],[3,384],[-3,56],[-20,120],[-1,69],[9,86],[13,68],[17,64],[0,133],[-32,122],[-24,54],[-37,65],[-28,36],[-14,27],[14,9],[10,22],[-24,34],[-15,52],[-2,201],[6,51],[18,57],[16,59],[14,141],[5,146],[-9,59],[-4,119],[8,29],[31,40],[49,23],[11,-7],[38,-46],[14,-2],[15,5],[29,22],[16,53],[-21,30],[12,38],[35,13],[3,33],[-13,4],[11,47],[7,47],[-10,43],[-57,107],[-36,78],[60,-1],[18,15],[14,32],[7,35],[19,-14],[60,-149],[2,-33],[-5,-34],[-11,-43],[-4,-46],[7,-40],[-5,-10],[49,-181],[35,-114],[11,-47],[7,-49],[11,-101],[2,-156],[-3,-51],[-8,-50],[-8,-30],[-18,-21],[-8,-56],[-4,-157],[9,-83],[17,-57],[12,-61],[2,-67],[5,-29],[27,-37],[11,-29],[3,-41],[2,-61],[4,-13],[13,-18],[56,-439],[22,-132],[64,-230],[26,-138],[17,-66],[11,-70],[9,-72],[19,-77],[25,-77],[49,-68],[22,-38],[5,-31],[2,-106],[-11,22],[-14,81],[-24,47],[-35,55],[-35,49],[-44,82],[-21,24],[-23,17],[-41,19],[-24,2],[-98,-13],[-40,-16],[-37,-38],[-21,-56],[-16,-111],[-89,-397],[-21,-104],[-8,-111],[3,-87],[6,-32],[26,-87],[21,-50],[15,-22],[18,-14],[11,-18],[10,-23],[18,-59],[23,-132],[25,-92],[11,-30],[28,8],[18,-1],[18,-8],[10,-24],[15,-105],[11,-100],[1,-27],[-20,-77],[-5,-33],[-3,-35],[-5,-27],[-9,-25],[-3,115],[-14,81],[-5,70],[-19,49],[-65,20],[-61,7],[-9,9],[-14,30],[-15,24],[-16,3],[-16,-9],[-27,-34],[-21,-53],[-15,-57],[-13,-60],[-27,-159],[-16,-53],[-20,-49]],[[88929,75012],[-17,6],[-14,24],[-7,28],[-4,33],[7,70],[17,64],[7,65],[-14,92],[-9,19],[-36,53],[-17,52],[-4,65],[2,36],[9,79],[9,40],[16,14],[18,7],[28,29],[30,37],[29,42],[29,52],[15,57],[-25,69],[-5,42],[4,39],[26,21],[27,-16],[55,-57],[11,-6],[37,-3],[51,-12],[30,3],[14,8],[22,48],[10,60],[-4,78],[0,77],[14,63],[43,101],[12,59],[4,145],[16,64],[12,65],[6,139],[-17,133],[-18,65],[-20,62],[3,60],[16,55],[0,16],[4,15],[31,10],[14,12],[14,26],[16,16],[12,-16],[10,-26],[43,-67],[68,-119],[80,-181],[50,-88],[53,-80],[59,-82],[63,-71],[39,-33],[29,-53],[18,-9],[35,-3],[16,3],[26,-9],[106,-90],[32,-12],[33,-1],[23,7],[20,25],[64,109],[67,99],[8,-3],[0,-28],[-5,-30],[-30,-91],[-33,-123],[-7,-62],[11,-60],[20,-50],[17,-69],[19,-95],[26,-12],[14,-1],[27,28],[25,37],[22,4],[22,-6],[-30,-25],[-28,-31],[-24,-59],[-9,-11],[-28,4],[-16,-2],[-32,-25],[-29,-27],[-27,-34],[-30,-18],[-32,-5],[-49,-27],[-32,-2],[-59,24],[-29,-6],[-63,-55],[-58,-79],[-50,-89],[-42,-106],[-17,-56],[-10,-62],[-2,-41],[-4,-39],[-9,-28],[-12,-22],[-35,13],[-57,57],[-110,83],[-117,126],[-66,64],[-123,-19],[-117,-122],[-11,11],[-44,83],[-22,33],[-26,9],[-19,-1],[-19,-6],[-26,-43],[-10,-30],[-7,-35],[-2,-25],[3,-24],[25,-55],[31,-41],[13,-8],[30,3],[14,-4],[49,-82],[55,-77],[12,-26],[-20,-27],[-22,-13],[-26,4],[-25,10],[-44,32],[-18,-27],[-29,-57],[-16,-63],[-13,-28],[-32,-38],[-34,-19]],[[87692,70310],[-67,40],[-16,44],[-14,55],[-25,50],[-22,55],[-13,64],[2,104],[-10,63],[9,17],[37,38],[12,21],[21,50],[8,27],[1,42],[-17,22],[-44,-1],[-43,-13],[-31,18],[-41,51],[-12,11],[-43,3],[-31,-10],[-31,-18],[-32,-6],[-11,-9],[-37,-62],[-29,-39],[-26,-20],[-55,-5],[-28,-12],[-29,-21],[-8,2],[-30,-28],[-35,-25],[-19,-25],[-34,16],[-68,-44],[-33,-5],[-34,24],[-31,40],[-30,-17],[-21,-58],[-10,-116],[-12,-52],[-4,-62],[-15,10],[-91,112],[-6,4],[-74,-19],[-19,-10],[-23,-22],[-25,-11],[-23,17],[-22,26],[-21,-7],[-22,-19],[-8,169],[4,23],[14,29],[14,26],[36,9],[36,-9],[25,12],[22,34],[23,47],[26,39],[35,30],[34,36],[30,49],[28,53],[26,40],[28,33],[43,79],[57,89],[22,66],[13,19],[49,37],[65,28],[31,-2],[30,-58],[17,8],[16,15],[34,9],[34,-10],[34,0],[33,7],[65,19],[34,23],[33,30],[118,21],[82,49],[12,-3],[13,-12],[1,-37],[-10,-40],[10,-24],[16,-15],[76,-5],[22,-8],[32,27],[30,34],[31,45],[22,50],[-20,64],[-4,69],[17,74],[24,63],[30,39],[27,43],[54,125],[40,101],[14,124],[-8,146],[34,109],[33,19],[66,49],[34,15],[5,-22],[-1,-28],[-51,-92],[-30,-37],[-17,-12],[-16,-17],[-7,-32],[26,-54],[7,-39],[-2,-39],[1,-34],[30,-37],[34,-13],[14,1],[13,9],[39,92],[8,16],[111,67],[55,51],[30,13],[28,27],[64,103],[23,47],[21,53],[18,61],[13,65],[18,42],[101,97],[32,54],[11,25],[12,75],[9,78],[12,61],[16,57],[22,58],[25,54],[15,55],[21,133],[10,73],[7,26],[11,22],[9,29],[7,31],[3,31],[5,95],[-3,74],[-16,63],[-14,18],[-15,1],[-23,-6],[-19,26],[4,23],[20,4],[13,11],[9,22],[18,68],[11,73],[1,32],[-14,59],[-11,71],[0,38],[12,44],[17,36],[16,9],[17,2],[15,14],[14,20],[8,22],[13,60],[4,35],[-7,92],[8,25],[11,15],[16,-11],[15,-3],[19,4],[17,-10],[4,-24],[11,-155],[6,-21],[13,-16],[14,2],[13,24],[8,33],[17,6],[51,-34],[18,24],[11,38],[11,68],[-5,61],[-13,23],[-12,-4],[-11,-17],[-13,-9],[-75,-32],[1,68],[16,101],[9,33],[12,15],[32,-18],[15,-12],[34,-49],[11,-11],[52,30],[-10,-91],[-5,-92],[4,-152],[4,-69],[9,-66],[22,-48],[29,-34],[42,-108],[23,-132],[16,-65],[11,-67],[4,-31],[0,-31],[-3,-43],[4,-34],[-5,-108],[-19,-124],[-2,-64],[-16,-12],[-10,-30],[-9,-13],[-9,-11],[-14,-2],[-9,-12],[-4,-34],[-6,-31],[-12,-29],[-9,-32],[-8,-78],[-3,-79],[-11,-56],[-28,-14],[-32,1],[-40,-26],[-9,-15],[-32,-97],[-9,-57],[0,-61],[9,-75],[12,-74],[9,-137],[-10,-209],[-9,-66],[-20,-45],[-16,-21],[-13,-26],[-17,-68],[-29,-136],[-2,-34],[0,-35],[-8,-47],[-5,-45],[5,-53],[9,-49],[38,-126],[15,-38],[17,-34],[-65,-38],[-12,-17],[-39,-72],[-12,-68],[1,-76],[-7,-27],[-10,-24],[-12,-16],[-43,-34],[-28,-35],[-27,-54],[-11,-28],[-21,9],[-13,25],[12,31],[-3,37],[6,95],[-7,38],[22,29],[10,46],[24,37],[16,33],[3,26],[-15,29],[-15,21],[-22,0],[-21,-6],[-13,-28],[-5,-37],[1,-17],[-2,-15],[-32,-51],[4,-53],[10,-27],[12,-13],[-4,-18],[-15,-43],[-11,-4],[-20,60],[-25,33],[-31,-1],[-31,-12],[-25,-39],[-8,-34],[-5,-34],[2,-83],[-10,-70],[-19,-61],[-10,-22],[-23,-41],[-17,-6],[-12,19],[-9,28],[12,105],[-1,59],[28,30],[-23,41],[-28,17],[-39,-22],[-11,-25],[-8,-34],[-21,-43],[-24,-40],[-26,-68],[-18,-80],[-58,26],[-32,6],[-32,-2],[-57,10],[-63,-17],[-71,-32],[4,23],[59,49],[2,14],[-6,27],[-14,1],[-35,-9],[-18,4],[-8,29],[-12,12],[-7,-12],[2,-55],[-9,-8],[-11,15],[4,43],[-8,63],[-1,39],[12,34],[-12,14],[-14,-6],[-17,-16],[-14,-23],[-32,-115],[-12,-66],[23,-53],[63,-74],[10,-18],[1,-31],[-8,-34],[-17,-14],[-69,-25],[-59,-48],[-18,-49],[-54,-187],[-43,-128],[-62,-45]],[[86889,69875],[-31,14],[-14,-8],[19,83],[-30,10],[-30,-2],[0,54],[-18,31],[13,40],[0,32],[8,18],[3,26],[-1,22],[-18,7],[-12,16],[2,59],[-10,2],[-26,-10],[-54,-46],[-15,0],[23,33],[48,44],[21,25],[48,72],[29,34],[16,59],[5,37],[10,32],[9,51],[15,17],[27,44],[15,-5],[17,-53],[23,-42],[16,4],[30,21],[14,5],[34,-3],[30,26],[13,31],[4,39],[-11,65],[15,-7],[14,3],[33,41],[34,24],[35,7],[40,-24],[39,-37],[38,-25],[39,7],[0,-108],[5,-36],[11,-33],[-5,-47],[18,-16],[-53,-54],[-48,-72],[-20,-48],[-17,-52],[-11,-55],[-6,-59],[-16,24],[-46,95],[-29,27],[-47,14],[-15,-4],[-96,-89],[-13,-65],[-26,-99],[-12,-33],[-14,-9],[-10,-17],[-11,-84],[-30,-52],[-18,-1]],[[86301,68846],[-1,26],[6,21],[9,16],[6,20],[9,67],[-5,68],[-18,85],[-1,30],[12,12],[9,4],[4,12],[1,28],[-6,20],[-17,7],[-17,1],[-11,-32],[-16,-61],[-8,-61],[3,-33],[7,-30],[22,-51],[-6,-29],[-9,-23],[-77,52],[-17,4],[-14,11],[-15,69],[32,17],[9,8],[3,22],[5,67],[-15,56],[-12,20],[-11,23],[7,48],[-4,60],[-1,83],[6,14],[29,17],[21,45],[19,51],[27,90],[22,96],[-21,4],[-18,19],[19,45],[-6,58],[-29,71],[-17,84],[-26,36],[-14,14],[-17,-20],[-14,-23],[13,-55],[-1,-48],[2,-47],[13,-3],[16,12],[13,-9],[7,-25],[2,-32],[-5,-32],[-12,-16],[-15,2],[-14,17],[-12,24],[-27,14],[-28,-29],[-28,-59],[-23,-30],[11,44],[5,47],[-11,33],[-27,56],[-6,32],[-2,39],[5,38],[28,-44],[14,-55],[20,-24],[25,0],[-19,81],[-7,20],[-28,36],[-37,61],[-23,30],[8,63],[14,13],[12,-3],[39,-23],[4,32],[-6,17],[-3,20],[26,27],[42,23],[9,11],[8,22],[10,12],[30,0],[25,22],[20,59],[5,32],[8,27],[51,48],[13,7],[34,-6],[32,-27],[16,-57],[13,-61],[33,-41],[37,-18],[16,-1],[14,8],[23,23],[23,17],[17,-8],[14,-21],[8,-29],[-4,-31],[-26,-65],[-22,-70],[50,-13],[50,2],[-12,-44],[-1,-37],[15,-18],[13,-24],[-4,-22],[-7,-22],[27,-32],[-2,-22],[-7,-23],[-68,-148],[-20,-76],[-13,-83],[-13,-61],[-9,-63],[-8,-68],[-12,-70],[4,-62],[-4,-64],[-34,-157],[-25,3],[-30,19],[-19,-3],[-10,-35],[17,-72],[-54,-86],[-60,-57]],[[83566,63460],[-27,19],[-15,46],[-3,75],[-20,90],[-7,26],[-28,51],[-26,25],[-20,37],[3,-3],[-15,51],[-11,53],[-23,153],[-8,36],[-10,34],[-3,33],[3,37],[10,55],[6,56],[-5,75],[2,75],[8,33],[130,456],[36,97],[22,48],[18,54],[17,68],[22,62],[15,19],[75,56],[23,53],[19,16],[21,-1],[14,-25],[12,-30],[13,-16],[33,-30],[15,-28],[6,-49],[-20,-47],[-10,-42],[-2,-46],[4,-63],[0,-63],[-25,-147],[-27,-92],[-7,-46],[-9,-114],[-16,-114],[-13,-144],[-22,-149],[-13,-63],[-16,-59],[-37,-113],[-42,-93],[-17,-69],[-14,-73],[-6,-70],[1,-71],[-4,-65],[-7,-64]],[[80421,61264],[-33,38],[-16,11],[-44,15],[-43,25],[-30,29],[-61,70],[-7,128],[-11,68],[0,25],[4,212],[4,23],[8,20],[27,47],[31,38],[44,78],[33,36],[27,52],[-16,-3],[-12,7],[12,44],[12,24],[14,12],[29,-9],[27,9],[19,39],[19,9],[71,-13],[49,18],[24,36],[12,1],[36,-10],[14,-37],[-1,25],[1,24],[7,-3],[47,-46],[0,57],[3,15],[15,24],[7,-1],[19,-46],[17,-26],[23,-14],[13,-26],[9,-38],[8,-70],[4,-65],[-28,-41],[-25,-17],[-50,-158],[-11,-50],[-8,-21],[-3,-21],[1,-22],[-13,-76],[-12,-93],[-7,-39],[-14,-29],[-19,-15],[-11,-2],[-11,-8],[-27,-51],[-30,-39],[5,-17],[0,-17],[-13,-18],[-14,3],[-42,-15],[-16,-28],[-16,-53],[-6,-7],[-25,-13],[-20,-5]],[[72359,53996],[-63,36],[-48,85],[-24,125],[-17,130],[-25,145],[-18,448],[-9,125],[-15,160],[2,69],[10,66],[0,-145],[9,-18],[7,18],[7,151],[5,64],[25,165],[1,30],[-5,62],[1,32],[38,116],[9,68],[5,69],[-2,75],[-7,74],[31,-24],[17,-26],[17,-17],[14,9],[16,0],[-11,40],[-36,37],[-59,23],[-18,30],[-7,25],[3,30],[5,12],[26,-3],[29,1],[20,-8],[34,-91],[93,-164],[51,-166],[4,-36],[7,-32],[12,-8],[11,-15],[50,-160],[6,-32],[-1,-35],[3,-26],[14,-13],[16,-7],[11,-24],[14,-128],[0,-40],[3,-17],[64,-199],[4,-24],[-1,-18],[2,-16],[12,-35],[20,-95],[9,-22],[12,-83],[1,-159],[-4,-70],[-12,-86],[-14,-84],[-16,-61],[-21,-51],[-71,-109],[-21,-22],[-93,-69],[-68,-65],[-64,-17]],[[62557,35322],[-26,17],[-84,123],[-32,21],[-62,17],[-18,10],[-17,16],[-25,65],[-50,55],[-12,17],[-7,38],[-5,40],[-13,46],[-10,86],[-16,61],[-45,107],[-5,34],[-4,113],[2,77],[-5,141],[5,66],[16,59],[-6,65],[-17,68],[-6,70],[-13,63],[-48,115],[-11,57],[-8,59],[-18,182],[-2,64],[3,134],[7,70],[11,48],[3,36],[8,31],[11,24],[7,30],[18,172],[23,38],[33,22],[27,45],[16,60],[15,126],[42,124],[15,65],[34,99],[30,138],[9,66],[7,67],[8,146],[5,74],[-1,72],[-17,74],[-41,135],[-1,26],[3,100],[-4,73],[-15,72],[-19,68],[-19,127],[-10,211],[2,76],[-5,68],[-14,64],[10,113],[123,408],[4,48],[-5,125],[2,72],[5,27],[9,15],[21,8],[99,18],[13,12],[25,35],[34,66],[15,20],[14,-7],[8,-29],[11,-16],[40,31],[16,1],[16,-5],[7,27],[4,37],[6,27],[11,15],[51,8],[33,10],[43,26],[9,-5],[34,-93],[11,-8],[13,-4],[12,17],[-28,49],[-4,27],[1,32],[15,67],[25,51],[56,78],[57,91],[17,6],[14,-14],[11,-107],[-1,-17],[9,-3],[10,13],[10,43],[0,36],[-7,34],[-4,29],[0,27],[29,63],[23,60],[10,71],[10,33],[24,37],[7,-5],[6,-31],[3,-32],[-6,-31],[-9,-32],[-4,-42],[14,-8],[13,10],[19,76],[21,72],[13,37],[16,26],[27,-5],[26,-16],[-43,75],[-10,104],[50,179],[1,38],[7,11],[3,15],[-26,60],[-5,30],[4,46],[12,40],[12,28],[16,11],[13,-15],[28,-50],[19,-8],[23,48],[18,60],[28,41],[32,25],[49,94],[32,197],[2,57],[-7,69],[-11,66],[-19,83],[5,18],[27,-11],[9,12],[28,73],[48,140],[16,-1],[13,-25],[5,-39],[10,-28],[32,-66],[16,-50],[13,-62],[15,-59],[46,-144],[20,-55],[17,-59],[8,-118],[30,-182],[28,-274],[8,-281],[9,-129],[21,-121],[36,-126],[11,-140],[-21,-144],[-32,-136],[-8,-25],[-15,-35],[-6,1],[-26,35],[-20,58],[-26,135],[-10,68],[-10,11],[-31,-6],[-22,-42],[-4,-27],[5,-77],[8,-68],[4,-70],[0,-87],[9,-27],[12,-22],[12,-57],[3,-137],[-8,-69],[-22,-59],[2,-33],[8,-34],[-8,-20],[-29,-26],[-11,-22],[-16,-61],[-25,-123],[-3,-63],[16,-191],[-5,-136],[-32,-259],[-18,-123],[-26,-147],[-40,-194],[-39,-243],[-34,-251],[-25,-150],[-28,-149],[-38,-262],[-33,-266],[-48,-292],[-68,-327],[-7,-42],[-14,-167],[-15,-145],[-18,-143],[-37,-237],[-5,-73],[-8,-70],[-36,-148],[-16,-56],[-10,-58],[-6,-75],[-11,-72],[-27,-132],[-39,-113],[-27,-42],[-58,-60],[-30,-12],[-65,-1],[-64,-34],[-66,-66],[-63,-75],[-25,-36],[-27,-20],[-83,-5]],[[64749,73432],[-15,84],[-7,92],[9,26],[11,-2],[-10,-33],[15,-139],[-3,-28]],[[63930,77028],[-15,3],[-28,63],[8,64],[10,13],[14,9],[2,-14],[-20,-29],[-2,-36],[17,-40],[23,-16],[-9,-17]],[[63965,77107],[-6,37],[11,32],[15,4],[-5,-50],[-5,-15],[-10,-8]],[[5472,3168],[-141,19],[-294,65],[-403,117],[-110,38],[-72,31],[-70,40],[-16,45],[10,64],[13,51],[21,33],[86,40],[43,43],[87,45],[25,34],[37,2],[70,-4],[69,-10],[65,-10],[63,-20],[144,-64],[100,-63],[144,-73],[143,-83],[80,-32],[77,-46],[74,-63],[14,-22],[31,-27],[19,-27],[19,-22],[19,-12],[15,-24],[-3,-27],[-12,-16],[-347,-22]],[[30402,3264],[-120,5],[-120,20],[-31,10],[-44,33],[-14,17],[-12,23],[-1,33],[32,118],[59,69],[56,41],[174,94],[23,10],[159,44],[62,24],[97,49],[534,192],[122,28],[55,-20],[31,-20],[-16,-23],[-72,-55],[-34,-32],[-87,-67],[-188,-112],[-133,-84],[-171,-117],[-40,-41],[-81,-97],[15,-44],[-27,-60],[-107,-28],[-61,-8],[-60,-2]],[[34955,2561],[-11,3],[-11,10],[-31,52],[-6,81],[7,32],[61,31],[23,17],[103,121],[53,56],[25,48],[13,-4],[47,-27],[35,-9],[68,12],[67,33],[29,20],[29,-7],[5,-29],[12,-9],[162,90],[147,101],[144,114],[73,68],[18,19],[12,30],[-10,29],[-13,25],[-12,10],[-12,5],[-75,18],[23,30],[22,35],[14,41],[5,49],[-3,24],[3,18],[34,16],[23,24],[16,29],[-26,9],[-12,23],[23,50],[21,53],[21,29],[56,56],[163,142],[59,76],[17,28],[386,123],[63,12],[121,17],[56,3],[158,-11],[74,-13],[128,-33],[189,-63],[71,-28],[71,-34],[68,-44],[67,-54],[13,-17],[6,-29],[2,-29],[-3,-28],[-18,-58],[-26,-40],[-311,-38],[-41,-15],[-22,-31],[-16,-31],[36,-11],[36,-2],[146,5],[146,-1],[89,-7],[26,-16],[23,-33],[26,-52],[24,-57],[27,-46],[16,-81],[25,-30],[43,-75],[6,-61],[-13,-131],[-21,-54],[-56,-51],[-64,5],[-29,-2],[-28,-10],[-11,-8],[-4,-10],[74,-45],[9,-16],[1,-19],[-10,-13],[-10,-8],[-1573,-268],[-61,-14],[-61,-27],[-20,-24],[-20,-19],[-1219,-50]],[[33171,2514],[-400,35],[-180,33],[-75,40],[-12,19],[-23,63],[-21,20],[-159,-13],[-97,-20],[-17,-11],[-26,-39],[-14,-8],[-259,83],[-273,98],[-113,50],[-39,23],[-11,15],[25,20],[26,13],[29,8],[30,1],[22,-7],[22,-14],[14,-52],[14,-9],[38,-14],[961,7],[80,3],[166,14],[89,22],[33,30],[-80,8],[-32,22],[-27,42],[-6,39],[9,29],[106,15],[16,10],[-28,16],[1,38],[63,15],[25,31],[124,40],[196,-21],[47,-58],[-13,-37],[-9,-38],[-1,-59],[80,-8],[25,-21],[24,-27],[-29,-1],[-28,-6],[-23,-28],[-20,-36],[-14,-17],[-11,-127],[1,-58],[-16,-45],[-28,-25],[-55,-39],[-40,-24],[-87,-40]],[[29898,7419],[-19,7],[-13,24],[-14,16],[-38,-3],[-31,9],[-30,20],[-33,37],[-14,21],[-8,24],[64,61],[33,14],[33,4],[67,-13],[67,-21],[147,-16],[204,-4],[56,5],[67,20],[62,57],[-30,21],[-31,14],[-30,3],[-30,-4],[-84,-35],[-65,-21],[-65,-12],[-69,21],[-64,57],[-2,19],[220,44],[20,7],[40,28],[13,25],[6,23],[-148,41],[-31,0],[-30,-8],[-67,17],[-64,49],[-59,58],[-22,5],[-21,-17],[-143,-154],[-12,-1],[-54,11],[-68,31],[-62,10],[-40,-8],[-15,-13],[39,-35],[33,-30],[10,-25],[-101,-77],[-27,-10],[-43,7],[-16,9],[-31,42],[-30,10],[-65,-9],[-34,4],[-34,18],[-32,26],[-30,15],[-36,30],[-26,21],[-8,30],[3,28],[11,16],[2,16],[-8,27],[5,21],[12,18],[54,35],[65,7],[63,-44],[42,-14],[19,-1],[7,3],[5,12],[-1,23],[-12,43],[-1,29],[14,25],[19,9],[20,7],[13,3],[41,-16],[29,-17],[59,-46],[49,-33],[19,-4],[14,12],[13,18],[-59,48],[-6,30],[3,27],[36,16],[22,2],[104,-28],[56,-9],[55,-3],[114,32],[-61,35],[-132,31],[-25,22],[-18,35],[97,32],[99,-1],[177,-42],[59,20],[55,60],[32,15],[125,-5],[101,28],[16,-3],[15,-8],[97,-100],[13,5],[10,19],[3,35],[1,36],[-3,35],[-12,22],[-16,-2],[-17,-10],[-28,9],[-28,19],[-29,8],[-100,11],[-71,19],[-37,14],[-34,29],[-5,32],[36,72],[138,79],[65,25],[66,7],[32,-6],[76,-32],[12,1],[11,9],[-73,55],[-65,42],[-33,32],[-26,12],[-109,12],[-57,-32],[-27,-5],[-27,3],[-160,76],[-9,9],[-23,28],[-12,22],[-7,35],[3,37],[5,24],[24,93],[13,74],[-7,60],[-25,34],[-36,22],[-33,37],[-9,24],[-6,29],[-1,37],[9,32],[14,35],[18,18],[34,18],[133,40],[270,50],[30,-26],[43,-53],[14,-22],[15,-107],[0,-29],[-8,-72],[46,26],[17,-6],[40,-26],[81,-156],[18,-49],[33,-144],[40,-107],[100,-188],[49,-103],[26,-60],[3,-80],[31,-23],[7,-33],[10,-109],[7,-129],[7,-244],[-4,-57],[-43,-91],[-18,-65],[-23,-43],[-27,-31],[-141,-128],[-17,-64],[-237,-54],[-134,-23],[-52,25],[-53,5],[-66,-8],[-191,-7],[-144,-18]],[[30936,19278],[16,-25],[65,-122],[17,-50],[10,-58],[-26,37],[-27,-21],[-13,-34],[-12,-38],[0,-27],[9,-23],[27,-20],[64,-7],[5,-7],[37,-145],[19,-33],[22,-25],[51,-74],[49,-80],[58,-76],[62,-58],[57,-44],[54,-54],[58,-76],[63,-55],[67,-38],[69,-33],[105,13],[32,-4],[20,-23],[-20,-66],[-26,-53],[-35,-21],[-36,-8],[-34,1],[-33,9],[-31,-5],[-29,-22],[-31,-11],[-32,-2],[-31,-18],[-32,-14],[-32,11],[-84,53],[-55,12],[-185,21],[-59,12],[-59,18],[-31,1],[-45,-12],[-35,2],[-10,-12]],[[30929,17974],[-41,0],[-12,-14],[-66,-20],[-112,31],[-28,27],[-38,60],[-13,-16],[-36,-26],[-36,-20],[-30,-2],[-28,25],[-6,12],[-6,3],[-60,-34],[-66,35],[-53,21],[-84,12],[-59,44],[-109,-3],[-19,14],[-7,43],[6,20],[23,12],[6,24],[24,-5],[30,-32],[9,1],[20,30],[30,26],[11,3],[54,-32],[22,3],[32,15],[5,13],[5,22],[9,13],[28,7],[27,-13],[3,-39],[-4,-42],[36,-11],[43,1],[30,-16],[4,26],[-48,66],[-20,42],[-26,24],[-35,13],[-28,77],[1,68],[-3,66],[62,36],[-14,57],[21,43],[25,16],[24,-157],[18,-56],[-23,-11],[-47,0],[27,-77],[43,-27],[37,-57],[1,-41],[20,-19],[50,-1],[34,8],[16,27],[19,9],[33,-34],[57,-26],[15,-18],[11,-30],[0,-32],[3,-17],[17,8],[23,44],[12,15],[14,8],[8,10],[1,13],[-42,31],[-220,145],[-28,58],[-18,73],[1,75],[16,23],[39,30],[72,42],[84,60],[10,12],[-1,37],[-10,26],[-33,18],[-35,5],[-33,-2],[-33,-8],[-60,-40],[-34,3],[-32,21],[-24,43],[-13,59],[0,37],[5,34],[15,35],[19,16],[18,-2],[17,8],[10,12],[8,16],[-3,14],[-6,12],[-27,25],[-10,23],[-23,39],[12,11],[41,6],[28,-27],[26,-31],[16,0],[15,13],[33,40],[28,50],[25,58],[21,34],[23,3],[69,-107],[24,-4],[80,58],[9,-3],[28,-30],[8,-12]],[[28412,62234],[45,135],[95,129],[17,28],[13,35],[3,27],[-4,23],[-23,41],[-4,30],[-7,19],[-33,17],[-33,11],[-35,0],[-73,14],[-39,1],[-33,27],[-55,99],[-26,27],[-13,22],[-10,25],[-13,144],[-11,70],[-17,60],[-25,46],[-27,15],[-101,-39],[-24,6],[-23,13],[-154,93],[-63,52],[-26,25],[-22,36],[-23,60],[-25,53],[0,-21],[-4,-14],[-129,-7],[-20,13],[-13,14],[-10,21],[-7,44],[-12,36],[-4,-39],[-6,-35],[-17,-20],[-20,-3],[-24,47],[-104,10],[-9,8],[-34,45],[-30,58],[29,20],[60,26],[13,18],[8,23],[-5,34],[-12,24],[-13,14],[-13,9],[-18,4],[-232,6],[-13,-18],[-21,-37],[-41,-49],[-28,-49],[-10,-26],[-12,-19],[-29,-30],[-24,-48],[-30,-21],[-16,13],[-16,0],[-11,-12],[-13,-5],[-59,-6],[-9,-12],[-8,-35],[-10,-66],[-9,-22],[-30,-8],[-28,-18],[-58,-64],[-15,-9],[3,47],[-3,45],[-16,1],[-19,-7],[-15,-13],[-29,-34],[-14,-8],[-14,17],[3,22],[95,81],[11,7],[17,-7],[17,3],[13,23],[-16,107],[6,73],[22,57],[45,85],[21,29],[219,178],[22,9],[142,36],[22,13],[66,53],[69,21],[73,-16],[73,-28],[59,8],[28,16],[-3,-16],[26,-41],[10,-3],[38,21],[99,7],[10,-11],[18,-40],[25,-24],[26,-19],[28,-5],[27,8],[26,-4],[32,-39],[10,-4],[28,10],[-8,-35],[48,-50],[36,-98],[25,-40],[28,-36],[23,-25],[25,-11],[79,5],[18,-3],[17,-14],[15,-6],[9,5],[151,-152],[48,-82],[30,-42],[63,-61],[25,-14],[14,9],[-3,13],[-18,34],[-3,12],[24,-10],[43,-69],[12,-26],[21,-23],[22,-17],[-11,-27],[-17,-3],[-34,11],[27,-44],[5,-32],[12,-3],[19,36],[11,29],[48,-77],[25,-35],[-6,-20],[-2,-21],[28,19],[11,-2],[10,-11],[12,-33],[26,-7],[27,1],[55,-28],[51,-55],[49,-12],[49,-2],[24,-29],[11,-40],[-12,-28],[-7,-29],[18,-36],[-39,-15],[-6,-21],[2,-24],[8,-13],[23,12],[33,-10],[51,-9],[35,7],[71,-24],[21,-13],[42,-46],[19,-31],[42,-81],[35,-32],[31,-8],[11,5],[10,-8],[9,-12],[8,-36],[-5,-37],[-17,-31],[-10,-22],[-44,-2],[-62,-10],[-60,-34],[-29,-26],[-14,-17],[-31,-16],[-2,13],[0,18],[-8,32],[-7,-29],[-12,-21],[-19,-18],[-73,-1],[-29,24],[-30,17],[-109,17],[-27,-2],[-73,-18],[-73,-9],[-31,-12],[-30,-16],[-59,0],[-70,-19],[-70,-4]],[[56652,97389],[-53,7],[-237,15],[-32,20],[-26,38],[47,49],[-265,-18],[-292,10],[-15,7],[-13,19],[-100,13],[-75,15],[-64,26],[-62,34],[20,16],[20,9],[54,4],[48,-4],[85,0],[20,34],[34,10],[27,24],[-90,16],[-94,2],[-62,-20],[-73,-9],[-66,-2],[-127,6],[-60,15],[-83,37],[-28,21],[-11,17],[-9,25],[95,22],[36,17],[36,24],[-142,14],[-60,20],[-59,29],[48,17],[192,13],[51,-11],[50,-21],[56,-14],[53,28],[-50,13],[-46,46],[-9,23],[6,18],[23,2],[18,-7],[67,-43],[51,-14],[14,40],[2,19],[-9,16],[-24,29],[-21,35],[33,10],[33,-4],[70,-25],[71,-17],[32,-17],[61,-44],[56,-28],[28,-7],[153,2],[30,-14],[11,-35],[24,-12],[32,-4],[81,-43],[28,-6],[24,24],[19,59],[0,70],[-7,34],[9,22],[27,8],[34,-2],[34,12],[29,21],[31,3],[67,-16],[18,-13],[-18,-26],[-7,-37],[-31,-78],[66,-5],[93,17],[24,22],[50,36],[53,-6],[25,5],[13,16],[5,18],[29,-3],[40,-36],[19,-5],[34,9],[13,0],[34,-15],[157,-25],[54,-14],[24,-13],[23,-8],[167,0],[118,-9],[43,-20],[37,-39],[14,-91],[-33,-24],[-239,-112],[-60,-35],[-29,-33],[-48,-72],[-24,-22],[-112,-35],[-26,-3],[-84,17],[-25,-2],[-102,-37],[-36,-23],[-34,-28],[-51,-13]],[[54638,95840],[-66,18],[-32,21],[-30,33],[-32,22],[-33,13],[-127,75],[-117,118],[-108,45],[-69,22],[-34,21],[-33,28],[-28,32],[-27,40],[-12,25],[-3,37],[9,22],[12,11],[85,10],[31,-6],[30,-19],[27,-8],[63,97],[357,56],[115,9],[115,0],[-18,26],[-15,33],[-17,8],[-87,-18],[-133,-20],[-65,0],[-67,13],[-67,-7],[-69,-29],[-69,-18],[-68,-7],[-143,3],[-35,15],[-48,34],[-11,17],[-10,22],[-9,64],[10,18],[14,10],[15,6],[32,0],[31,-11],[72,-36],[-17,39],[208,47],[96,41],[49,7],[50,-3],[-11,22],[0,21],[35,16],[25,7],[77,9],[174,-2],[62,11],[47,29],[-50,-10],[-50,-2],[-23,6],[-53,25],[-24,32],[68,65],[24,30],[-70,-5],[-23,-10],[-80,-60],[-60,-26],[-73,-13],[-73,1],[-16,8],[-22,40],[-7,21],[3,11],[23,32],[12,35],[-2,29],[-17,6],[-27,-29],[-25,-40],[-33,-20],[-35,5],[-15,16],[-13,24],[-13,9],[-15,0],[-31,-10],[-31,-17],[11,-27],[3,-29],[-14,-24],[-10,-29],[32,-18],[26,-28],[-39,-13],[-38,-19],[-34,-30],[-36,-23],[-56,-2],[-70,-13],[-141,-5],[-66,38],[-12,18],[-13,12],[-44,20],[-63,58],[-50,66],[-33,6],[-49,22],[-27,19],[-25,25],[-8,30],[3,26],[29,12],[-69,31],[-68,40],[25,13],[25,6],[202,-47],[14,6],[22,23],[-8,8],[-34,5],[-46,0],[-11,5],[-18,25],[-16,31],[-6,20],[-3,24],[34,36],[19,33],[-29,14],[-83,0],[-28,-5],[10,-46],[-26,-32],[-51,-25],[-36,12],[-28,61],[-37,43],[-14,26],[-10,39],[-15,28],[-27,34],[-3,21],[3,16],[20,35],[-15,29],[-19,26],[-1,14],[18,18],[16,6],[17,-1],[51,-22],[28,-25],[9,2],[19,38],[25,9],[100,12],[111,-49],[29,-11],[23,-4],[-12,22],[-7,29],[17,10],[89,-25],[42,2],[98,33],[163,17],[62,-26],[3,-14],[-2,-19],[-3,-5],[-36,-22],[-206,-18],[-134,-69],[183,11],[33,-7],[14,-56],[13,-6],[48,-8],[32,-17],[32,-31],[34,-22],[21,3],[7,23],[-8,27],[-5,32],[3,33],[5,28],[39,20],[56,63],[59,43],[66,-19],[62,-54],[55,-77],[53,-82],[60,-102],[29,-36],[27,-8],[121,-106],[13,-3],[-25,80],[-62,137],[-43,105],[-9,40],[-7,56],[3,16],[5,15],[31,60],[40,29],[-12,41],[10,32],[42,25],[39,2],[38,-19],[73,-68],[15,-1],[14,6],[10,17],[11,9],[71,-11],[99,-33],[30,-16],[41,-34],[34,-57],[-27,-41],[-35,-39],[-12,-21],[13,-31],[-6,-30],[-13,-26],[54,30],[114,97],[17,6],[18,-3],[51,-20],[46,-50],[11,-16],[8,-20],[5,-25],[-3,-29],[-4,-19],[-25,-13],[-11,-12],[26,-1],[30,-15],[27,-33],[31,-13],[111,11],[73,-17],[39,-54],[62,12],[0,29],[13,12],[82,-9],[43,-14],[43,-28],[-74,-46],[61,-44],[103,-32],[61,-34],[12,-14],[10,-19],[-40,-24],[-41,-14],[-104,-2],[-93,-17],[-172,-13],[-26,-7],[-6,-7],[-10,-21],[-66,-49],[-64,-60],[-26,-35],[-20,-51],[-8,-30],[15,-30],[-4,-30],[-48,-24],[-31,-1],[-38,5],[-38,-14],[-2,-20],[2,-29],[-9,-88],[-12,-66],[-18,-61],[-19,-33],[-25,-9],[-81,-7],[-62,-57],[-50,-103],[-26,-41],[-55,-64],[10,-23],[17,-24],[-30,-44],[-46,-49],[1,-20],[16,-35],[7,-36],[-35,-31],[-66,-16]],[[52444,73523],[-23,10],[-19,0],[-15,22],[-12,39],[-18,48],[-19,56],[-2,51],[-3,113],[5,24],[8,24],[4,50],[-3,44],[6,16],[11,-16],[8,6],[-1,22],[3,42],[-15,34],[-24,12],[-2,36],[2,35],[13,24],[4,31],[1,96],[-18,36],[-6,53],[-9,34],[-16,35],[-18,28],[-12,27],[-2,71],[6,59],[6,25],[6,-4],[18,-29],[15,-7],[29,-7],[29,10],[35,26],[34,33],[49,95],[30,19],[16,25],[5,34],[13,9],[15,-33],[19,-4],[29,-27],[12,-26],[11,-31],[10,-14],[11,-7],[2,-8],[-9,-7],[-10,-36],[6,-10],[16,-20],[14,-37],[31,-156],[3,-33],[-6,-35],[-8,-24],[-31,-78],[5,-65],[11,-40],[2,-44],[-6,-55],[-19,-338],[-9,-59],[-6,-52],[-21,-16],[-28,17],[-34,29],[-16,-2],[-16,-10],[-13,9],[-13,16],[-9,-116],[-16,-47],[-23,-30],[-23,-2]],[[52551,74989],[-51,55],[-30,23],[-14,25],[-10,18],[6,23],[14,24],[2,19],[-32,22],[-15,14],[0,26],[11,39],[-5,32],[-18,-1],[-15,5],[-1,17],[10,21],[14,28],[-1,31],[-16,14],[-15,25],[-6,34],[12,24],[18,15],[-13,35],[-10,1],[-7,8],[6,16],[14,24],[21,73],[28,35],[50,22],[14,10],[12,25],[14,17],[16,-2],[16,-10],[9,-11],[8,11],[6,32],[-4,28],[2,77],[9,43],[15,3],[13,-24],[-1,-21],[5,-50],[1,-33],[-7,-87],[5,-26],[10,-17],[5,-20],[8,-232],[-2,-18],[-34,-94],[-7,-27],[-2,-116],[-6,-31],[-12,-30],[-21,-99],[-19,-45]],[[54197,72207],[-30,3],[-32,18],[-31,-8],[-45,33],[-16,6],[-15,13],[-38,103],[-30,44],[-32,34],[-33,2],[-33,-4],[-29,21],[-59,70],[-63,56],[-27,37],[-12,24],[-14,16],[-36,17],[-33,38],[-14,2],[-32,-4],[-16,2],[-16,14],[-32,44],[-20,62],[-5,27],[14,71],[17,67],[15,19],[17,14],[11,20],[9,24],[32,-70],[15,-17],[14,3],[26,26],[2,28],[29,35],[36,0],[17,-6],[9,-32],[14,-10],[16,-4],[53,-61],[15,-9],[15,-2],[41,25],[31,10],[66,-14],[36,15],[25,2],[36,23],[28,39],[15,10],[15,3],[38,-3],[38,-9],[16,10],[13,25],[16,11],[17,-7],[44,43],[19,3],[18,-17],[-16,-28],[-19,-67],[-9,-26],[-67,-165],[-7,-38],[-5,-41],[-7,-36],[-9,-34],[-9,-44],[1,-49],[4,-24],[8,-16],[13,-15],[10,-23],[-16,-21],[18,-41],[14,-25],[2,-25],[0,-25],[-30,-46],[-12,-26],[-8,-31],[-3,-32],[3,-29],[-1,-28]],[[35117,91502],[-49,2],[-11,2],[-30,23],[-42,20],[-19,16],[-17,24],[7,14],[30,6],[44,-1],[65,17],[-18,15],[-17,10],[-12,20],[-27,-4],[-20,11],[-38,8],[-101,7],[-66,19],[-20,12],[-17,21],[-15,28],[22,112],[15,28],[34,10],[84,-25],[11,11],[-92,41],[-33,24],[-10,19],[-6,29],[0,16],[4,17],[8,17],[23,23],[92,36],[102,-12],[175,-45],[22,-9],[54,-38],[103,-117],[93,-48],[98,-33],[9,-15],[8,-23],[2,-12],[-3,-12],[-6,-10],[7,-13],[21,-16],[2,-19],[-25,-33],[-34,-36],[-183,-74],[-64,-12],[-160,-51]],[[15674,79100],[-6,6],[-90,31],[-55,30],[-72,47],[-87,48],[-50,34],[-41,34],[-29,29],[-5,25],[1,12],[56,79],[23,43],[9,32],[5,35],[-3,42],[-3,-3],[-5,-41],[-8,-36],[-10,-28],[-6,-10],[-67,-14],[-54,5],[-27,-34],[-8,-4],[-15,11],[-33,45],[-47,37],[5,9],[31,19],[16,28],[-3,4],[-11,-1],[-10,5],[-19,36],[-10,10],[-23,-16],[-10,-1],[-9,23],[13,55],[1,13],[-24,-20],[-8,6],[-7,18],[-7,7],[-19,-3],[-21,16],[-7,-6],[-3,-24],[-7,-6],[-31,40],[-8,1],[-15,-30],[-5,-2],[-9,13],[-4,74],[2,21],[4,7],[28,17],[79,18],[7,13],[-60,-7],[-15,10],[-17,25],[-17,0],[-9,8],[-10,18],[-25,67],[-17,17],[-29,11],[-15,12],[-6,-5],[-6,-19],[-9,-12],[-19,-7],[-19,5],[-14,18],[-8,23],[-4,26],[8,34],[0,14],[-3,15],[-7,13],[-9,10],[-5,-5],[-1,-20],[-5,-15],[-17,-11],[-13,20],[-9,27],[-11,19],[-57,0],[-27,-25],[-13,-2],[-13,6],[-2,13],[12,37],[-3,48],[-3,12],[-27,8],[-4,11],[15,59],[9,11],[12,4],[53,5],[17,-8],[26,-36],[-1,13],[-9,41],[-2,24],[18,28],[-17,8],[-63,6],[1,-17],[5,-25],[-37,-22],[-28,-4],[-26,4],[-21,13],[-37,52],[-23,52],[1,28],[13,30],[16,20],[39,17],[51,2],[57,-24],[143,-106],[138,-74],[138,-37],[102,-43],[62,-13],[22,-10],[15,-15],[17,-37],[29,-88],[23,-56],[46,-97],[37,-69],[8,-27],[-8,-9],[1,-16],[28,-67],[52,-60],[41,-29],[86,-47],[53,-45],[16,-32],[23,-31],[9,-21],[19,-78],[35,-75],[36,-144],[7,12],[4,43],[4,9],[8,5],[7,-17],[6,-37],[23,-90],[-7,-26],[-7,-3],[-31,12],[-10,-16],[-15,-32],[-10,-13]],[[30061,62153],[12,10],[8,36],[11,31],[14,17],[17,11],[32,-1],[44,-27],[13,0],[43,25],[35,14],[34,-16],[13,-21],[28,-34],[14,-11],[43,1],[12,-3],[37,-57],[30,-22],[18,-2],[32,22],[16,0],[18,-49],[4,-69],[15,-63],[24,-40],[115,17],[25,-33],[-8,-28],[-17,-14],[-54,6],[-24,-3],[-5,-27],[0,-26],[32,-6],[31,-12],[32,-21],[33,-14],[36,-9],[36,-14],[61,-50],[66,-113],[18,-25],[12,-36],[-6,-43],[-24,-71],[-13,-23],[-20,-14],[-13,-29],[-13,-50],[-8,-4],[-9,2],[-16,28],[-12,43],[-32,41],[-38,-5],[-56,24],[-34,-12],[-34,-3],[-35,13],[-35,4],[-35,-15],[-34,-26],[-12,-17],[-22,-41],[-12,-15],[-82,-20],[-24,30],[-22,40],[-32,6],[-46,-32],[-28,-11],[-12,-14],[-3,-15],[0,-57],[-7,-34],[-45,-131],[-25,-92],[-10,-28],[-12,-7],[-23,53],[-14,19],[-17,10],[-7,28],[0,40],[-5,39],[-10,30],[-16,20]],[[30064,61158],[-23,48],[-26,39],[-16,16],[-16,10],[-123,-6],[-14,-6],[-11,-13],[-11,-6],[-34,-12],[-34,-3],[-79,32],[-31,17],[-31,10],[-36,-3],[-36,-10],[-29,-23],[-21,-41],[-4,-37],[-13,-10],[-29,60],[-27,43],[-30,32],[-62,45],[-12,28],[-5,34],[26,103],[28,19],[16,4],[35,-13],[35,-24],[31,-15],[49,-6],[27,-25],[187,-40],[35,-12],[14,4],[12,16],[10,27],[12,21],[56,5],[11,10],[8,29],[0,30],[-33,41],[-51,89],[-45,105],[20,35],[-8,65],[8,60],[10,59],[-44,50],[-53,50],[-73,16],[-22,13],[-12,37],[11,51],[23,28],[27,17],[28,12],[67,14],[67,-16],[57,-52],[59,-40],[73,-14],[34,-15],[15,13]],[[35988,49404],[-18,8],[-26,53],[-5,36],[-15,72],[-14,86],[-10,77],[8,68],[17,-3],[20,-10],[4,5],[1,22],[-4,18],[-32,-3],[-21,40],[-3,61],[4,129],[2,26],[15,37],[4,32],[-3,35],[6,62],[13,55],[52,68],[59,24],[172,-67],[26,-2],[37,11],[24,28],[28,5],[27,-3],[92,-30],[55,-10],[20,-10],[20,-14],[14,-15],[4,-33],[-14,-52],[-10,-56],[-9,-77],[-7,-15],[-12,4],[7,-69],[-2,-28],[-6,-27],[-15,-55],[-22,-71],[-7,-15],[-17,-25],[-14,-31],[3,-30],[7,-30],[-8,-37],[-27,-55],[-16,-13],[-14,-6],[-14,6],[-23,54],[-3,-42],[-6,-44],[-8,-24],[-31,2],[-17,24],[-28,26],[-5,-71],[-18,-48],[-17,-15],[-27,-11],[-16,-20],[-30,16],[-27,32],[-16,3],[-12,-26],[-63,-5],[-29,-27]],[[48548,80106],[-27,36],[-31,13],[-32,-12],[-20,-20],[-9,16],[-1,32],[24,39],[64,29],[55,76],[28,46],[10,26],[14,16],[17,6],[9,29],[77,115],[7,27],[4,47],[6,45],[63,30],[30,95],[8,8],[88,17],[65,-1],[65,-19],[33,-1],[33,6],[26,26],[45,93],[25,41],[29,37],[27,42],[44,79],[-30,-27],[-36,-43],[-20,-25],[-66,-25],[-28,-26],[-50,-57],[-9,-5],[-75,14],[-56,75],[-35,30],[-15,4],[-15,-9],[-33,-10],[-33,2],[17,34],[23,20],[-51,13],[-15,11],[-16,24],[-40,4],[-19,-6],[-33,-32],[-51,-34],[-62,47],[-12,21],[0,39],[-9,32],[-17,11],[22,41],[26,28],[58,27],[89,65],[49,27],[46,47],[19,29],[14,40],[13,49],[20,39],[-19,9],[-9,30],[3,30],[8,27],[-7,34],[-14,35],[1,27],[3,29],[-35,-1],[-36,-9],[-32,-21],[-31,-28],[-27,-5],[0,22],[12,28],[31,40],[34,33],[12,25],[9,29],[17,23],[44,44],[83,50],[13,3],[33,-6],[32,8],[28,17],[29,4],[63,-51],[-19,79],[28,19],[41,-72],[15,-7],[32,10],[-13,12],[-14,1],[-19,11],[-15,23],[-27,73],[2,44],[17,45],[20,42],[-16,8],[-14,16],[-3,41],[5,37],[35,33],[10,49],[5,54],[-6,25],[-35,-4],[-17,-10],[-15,-16],[-16,1],[-43,60],[-25,45],[-44,96],[-6,57],[35,124],[55,79],[64,28],[-12,5],[-98,1],[-33,-10],[-30,-32],[-17,-10],[-17,-4],[-17,-16],[-15,-22],[-17,-14],[-33,3],[-16,-4],[-11,13],[-9,21],[-13,6],[-14,-7],[-29,-29],[-30,-17],[-36,18],[-48,34],[-9,-12],[-11,-31],[-6,-50],[-33,43],[-29,57],[-10,36],[0,40],[15,16],[17,-15],[25,96],[50,124],[18,37],[12,47],[-2,32],[-11,26],[-46,60],[0,48],[5,55],[13,33],[5,6],[62,0],[-24,17],[-48,49],[1,18],[11,46],[-5,-5],[-10,-21],[-20,-51],[-12,-12],[-34,-13],[-6,-25],[-6,-7],[-17,-2],[-5,-24],[-4,-1],[-5,25],[0,42],[7,39],[13,30],[49,69],[-24,-21],[-55,-64],[-28,-42],[-7,-14],[-3,-12],[0,-14],[13,-73],[-4,-34],[-47,-226],[-9,-22],[-8,-12],[-8,-3],[-23,4],[-11,17],[0,19],[5,29],[19,107],[9,30],[13,27],[27,49],[0,3],[-19,-10],[-8,4],[-5,9],[3,144],[15,47],[6,68],[13,59],[15,43],[12,55],[17,24],[5,37],[19,41],[15,42],[-8,-4],[-96,-110],[-25,-20],[-33,5],[-26,13],[-20,26],[-9,50],[-24,1],[-21,9],[0,6],[27,27],[44,10],[41,43],[-37,30],[3,9],[32,25],[40,84],[9,77],[-20,36],[-7,24],[-38,27],[-7,34],[5,19],[12,18],[19,14],[30,14],[-27,15],[-10,17],[-8,26],[0,14],[14,65],[8,27],[16,34],[72,-1],[8,15],[8,0],[37,-14],[-6,15],[-60,82],[-5,15],[17,44],[1,19],[-2,21],[5,16],[19,8],[58,-1],[14,7],[-6,21],[-14,28],[-2,24],[3,20],[1,42],[2,18],[14,27],[11,9],[15,4],[32,-9],[12,-11],[14,-26],[10,2],[40,28],[12,5],[16,-33],[68,26],[91,12],[55,17],[58,6],[54,20],[57,-9],[2,-12],[-3,-15],[-14,-44],[2,-48],[-3,-15],[-7,-18],[-21,-34],[-55,-48],[-101,-111],[-60,-56],[-8,-26],[-4,-37],[35,-7],[14,-13],[-8,-18],[-53,-66],[-16,-58],[41,2],[33,11],[67,37],[62,27],[30,1],[59,-22],[13,0],[25,10],[25,1],[170,-6],[47,12],[32,-15],[26,-38],[25,-70],[-1,-12],[-15,-32],[-28,-40],[-24,-55],[-7,-30],[-4,-33],[-8,-30],[-47,-142],[-47,-78],[-20,-56],[-26,-44],[-24,-28],[-26,-19],[-76,-20],[-21,-14],[-25,-25],[-27,-12],[31,2],[31,13],[56,5],[65,-47],[-6,-38],[-26,-30],[-59,-5],[-55,-68],[-25,-20],[-26,-11],[-33,3],[-60,18],[-26,19],[24,-31],[26,-16],[156,-38],[9,4],[49,40],[66,1],[126,-74],[36,-56],[52,-81],[28,-31],[21,-29],[12,-42],[25,-142],[27,-138],[37,-150],[16,-41],[22,-29],[110,-67],[24,-22],[43,-65],[41,-69],[38,-52],[41,-43],[-20,-22],[-14,-35],[11,-48],[16,-45],[33,-72],[30,-79],[-11,11],[-11,7],[-16,-2],[-15,4],[-28,25],[-27,30],[-53,-12],[-29,5],[-26,0],[49,-18],[53,-1],[117,-133],[40,-79],[23,-104],[-16,-46],[-25,-31],[-23,-34],[-22,-39],[65,-58],[14,2],[15,8],[13,20],[24,47],[12,17],[40,6],[34,-4],[34,-10],[30,3],[60,-20],[30,-19],[77,-82],[16,-46],[8,-58],[1,-65],[-13,-59],[-15,-54],[-9,-69],[-6,-25],[-9,-19],[-41,-55],[-27,-22],[-11,9],[-12,-1],[-1,-13],[12,-28],[1,-33],[-24,-25],[-25,-11],[-40,13],[-57,-46],[41,-24],[8,-25],[-10,-45],[-25,-20],[-29,-8],[-29,-3],[-24,-10],[-23,-21],[29,11],[20,-10],[13,-38],[11,-10],[57,-16],[34,0],[68,9],[32,0],[12,-7],[0,-31],[-5,-76],[-9,-16],[-89,-64],[-19,-45],[-5,-27],[-52,5],[-24,-29],[-43,-19],[-32,-20],[-32,-26],[-27,-8],[-113,31],[-69,-3],[-93,-26],[-24,4],[-35,25],[-37,18],[-42,7],[-37,24],[23,-45],[-51,-44],[-23,-9],[-24,2],[-50,-12],[-46,6],[7,-31],[12,-27],[-9,-12],[-11,-2],[-87,20],[-13,-4],[-10,-19],[-32,10],[-31,32],[-33,21],[-34,10],[-28,-3],[-112,-50],[-23,-50],[-11,-71],[-16,-63],[-27,-49],[-31,-6],[-30,34],[-56,37],[-20,25],[-6,1],[-6,-9],[-22,-11],[-23,-1],[-35,-10],[-62,-30],[-25,-20],[-53,-57],[-11,-15],[-19,-57],[-30,-10]],[[48272,82516],[12,-21],[5,-22],[-20,-8],[-22,5],[-10,-15],[-1,-27],[8,-35],[14,-25],[11,-56],[10,-62],[14,-37],[3,-47],[-2,-23],[3,-41],[-6,-14],[4,-39],[18,-80],[7,-44],[5,-98],[-12,-36],[-16,-35],[-11,-41],[-8,-44],[-5,-71],[-36,-84],[-15,-20],[-18,-13],[39,-59],[-32,-26],[-34,-8],[-38,15],[-23,-2],[-22,-19],[-8,-12],[-7,6],[-14,48],[-11,-50],[-22,-15],[-37,3],[-62,-13],[-24,-14],[-10,-22],[-8,-26],[-10,-15],[-11,-8],[-48,-19],[-9,-7],[-23,-41],[-29,-24],[-24,-7],[-21,24],[-9,14],[-10,7],[-33,-1],[10,-7],[7,-17],[3,-33],[-4,-31],[-16,-16],[-19,-3],[-31,-33],[-41,-9],[-22,-31],[-134,-51],[-7,-1],[-19,13],[-20,6],[-20,-4],[-56,-29],[-28,6],[35,71],[47,36],[5,10],[-16,5],[-88,-25],[-31,-21],[-31,-6],[14,32],[40,45],[21,21],[14,8],[14,26],[42,30],[-135,-62],[-35,8],[-8,17],[-28,-8],[-10,41],[40,63],[24,27],[29,15],[27,20],[10,26],[-13,8],[-82,-6],[-39,5],[2,20],[8,23],[40,38],[22,6],[20,-3],[19,-10],[15,-13],[46,7],[-19,25],[-3,50],[-15,16],[19,23],[21,14],[36,48],[13,7],[71,12],[76,25],[76,35],[-39,19],[-19,26],[-30,-52],[-21,-20],[-61,-10],[-19,6],[-27,16],[-9,-7],[-8,-12],[-40,-25],[-42,-6],[49,46],[62,79],[14,25],[20,43],[-6,19],[-13,11],[45,89],[16,17],[29,2],[22,14],[9,0],[8,6],[19,26],[-29,17],[-29,9],[-92,-9],[-12,2],[-12,8],[-7,12],[-6,30],[-6,7],[-21,0],[-20,-10],[-15,1],[-14,14],[23,31],[-29,7],[-29,-6],[-25,9],[0,20],[11,19],[-15,18],[-3,24],[16,11],[16,-4],[35,17],[43,9],[-37,17],[-15,14],[-1,22],[3,19],[44,33],[46,14],[-4,21],[4,23],[-47,6],[-46,-16],[5,44],[11,40],[2,26],[-2,28],[-22,-12],[-3,39],[-9,27],[-32,-19],[1,36],[9,25],[17,11],[17,-5],[30,0],[30,19],[43,5],[69,-6],[47,-53],[12,10],[19,33],[9,4],[71,-15],[44,-19],[12,6],[-7,37],[-15,26],[19,33],[23,23],[16,11],[36,14],[15,14],[11,43],[16,36],[-90,-19],[-85,43],[14,30],[18,17],[31,13],[3,16],[15,13],[26,34],[-9,45],[5,33],[19,21],[6,31],[8,22],[38,8],[37,21],[13,-2],[43,5],[15,-8],[-4,37],[27,4],[10,-7],[5,-26],[12,-17],[3,-29],[-8,-23],[-13,-17],[12,-18],[-19,-32],[21,14],[29,31],[-1,26],[-5,32],[-9,29],[4,32],[17,20],[43,10],[-18,37],[16,3],[18,-7],[25,-29],[26,-22],[28,-18],[-27,-35],[-32,-24],[-13,-27]],[[47994,83110],[11,-21],[22,-5],[20,19],[23,61],[16,3],[18,-5],[35,8],[62,28],[28,1],[39,-15],[29,0],[26,-43],[14,-68],[32,-67],[43,-59],[1,-35],[-15,-20],[-32,-24],[1,-25],[20,13],[18,6],[44,-6],[15,-26],[10,-39],[6,-32],[-4,-34],[-11,11],[-12,31],[-13,14],[-16,8],[7,-43],[-3,-57],[7,-5],[21,-1],[-14,-59],[-28,-15],[-33,-6],[-8,-21],[-6,-27],[-17,-39],[-22,-23],[-28,5],[-28,18]],[[0,89020],[0,115],[0,30]],[[0,89165],[0,145],[0,145],[0,145],[0,145],[0,145],[0,145],[0,145],[0,145],[0,145],[0,145],[0,145],[0,145],[0,145],[0,145],[0,145],[56,-26],[56,-20],[23,7],[12,-3],[32,-35],[21,-17],[113,-42],[51,-47],[42,-53],[-21,10],[-38,34],[4,-40],[12,-27],[61,-27],[64,-20],[40,-25],[14,-22],[8,-39],[-10,-34],[37,13],[35,30],[-18,24],[-117,83],[-25,28],[34,-14],[158,-106],[43,-40],[-18,-8],[-13,-24],[14,-10],[19,7],[31,5],[31,-13],[35,-28],[73,-33],[434,-262],[10,-45],[12,-21],[7,-27],[2,-44],[-39,-53],[61,5],[9,7],[16,22],[17,14],[24,-18],[19,-35],[-6,-47],[-17,-39],[-2,-65],[15,-55],[15,-23],[13,-27],[3,-78],[-27,-35],[-15,-61],[17,-5],[52,-6],[18,-11],[30,-28],[7,-27],[7,-37],[9,-34],[7,-17],[8,3],[30,47],[14,14],[34,13],[19,-54],[-13,-91],[11,0],[8,10],[11,24],[15,14],[19,33],[16,41],[-19,32],[-21,19],[-51,12],[-26,23],[-10,31],[26,12],[22,22],[15,53],[-4,28],[-6,29],[-12,40],[-19,23],[-36,12],[-16,22],[-25,-1],[-25,7],[-9,8],[1,16],[28,8],[157,2],[57,22],[25,-7],[26,-16],[94,-21],[-3,-10],[-16,-10],[-27,-48],[-6,-27],[-1,-34],[24,-7],[24,15],[-12,27],[-3,34],[10,15],[13,3],[24,-25],[27,-9],[89,-10],[26,4],[8,13],[-18,15],[-116,33],[-2,18],[108,-22],[48,-21],[48,-16],[67,5],[66,-25],[63,-67],[58,-84],[59,-50],[61,-37],[103,-102],[13,-8],[10,-14],[-19,-17],[-17,-25],[34,17],[33,12],[17,-3],[15,-13],[10,-21],[5,-20],[-14,-19],[99,-4],[30,-12],[14,-50],[-28,-35],[-17,4],[-16,15],[-15,1],[-44,-15],[-67,-47],[-38,-37],[-7,-25],[6,-67],[-5,-32],[-29,-21],[-64,13],[-29,13],[-33,18],[-31,24],[-41,40],[-12,4],[-8,-10],[13,-25],[28,-31],[47,-42],[22,-46],[-14,-23],[-18,-6],[-13,1],[-41,14],[-29,4],[-90,-14],[-32,-8],[-11,7],[-3,20],[-48,15],[-29,2],[-13,7],[-11,21],[-32,31],[-48,12],[-31,1],[-17,-7],[63,-41],[56,-68],[-11,-13],[-7,-15],[31,-1],[21,5],[5,-18],[-16,-73],[-11,-16],[-98,-16],[25,-12],[25,-4],[29,3],[26,-12],[17,-46],[3,-48],[-25,-27],[-27,-22],[-53,-34],[-56,-15],[-29,4],[-28,-7],[-19,-18],[-5,-17],[24,11],[28,-6],[27,-21],[-3,-18],[-26,-19],[-5,-14],[9,-24],[-3,-21],[13,-11],[30,-4],[36,-15],[36,-20],[14,-17],[12,-24],[4,-26],[-6,-10],[-82,-4],[-12,3],[-5,28],[-10,23],[-31,16],[-12,-11],[9,-82],[-12,-24],[-14,-18],[-41,-11],[-33,6],[-28,39],[0,33],[19,19],[0,26],[-6,31],[-18,-36],[-23,-30],[-35,-37],[-18,-5],[-17,4],[-47,27],[-29,23],[-56,77],[-32,35],[-70,48],[-72,34],[-57,22],[-31,-2],[-30,-9],[-39,5],[-13,8],[-11,19],[-11,11],[-54,47],[-38,38],[-2,26],[8,30],[-7,76],[-18,71],[-48,70],[-126,45],[-104,32],[-37,7],[-33,-7],[-87,-58],[-59,-8],[-170,-3],[-28,6],[-26,25],[-6,33],[8,62],[-1,26],[-7,8],[-9,0],[-33,24],[-31,41],[-25,43],[-16,57],[22,3],[31,-15],[5,14],[10,52],[21,25],[9,19],[14,70],[2,50],[-24,-27],[-39,-70],[-18,-21],[-14,-9],[-13,-4],[-30,14],[-22,17],[-1,67],[-10,17],[-10,-12],[-4,-25],[-28,-4],[-13,-10],[7,-40],[-3,-34],[-27,-13],[-53,-8],[-19,33],[-16,-46],[-12,-52],[-2,-69],[17,-58],[25,-27],[53,-42],[23,-29],[6,-37],[-2,-35],[-28,-42],[-18,-35],[-33,-85],[-19,-33],[-82,-71]],[[44818,88036],[-166,21],[-65,21],[-81,35],[-49,9],[-68,2],[-56,48],[-26,30],[-2,13],[3,14],[5,9],[9,5],[19,1],[2,4],[-14,24],[-14,-8],[-36,-33],[-16,1],[-21,17],[-1,16],[-41,6],[-36,21],[-36,29],[-5,11],[17,17],[-3,3],[-13,3],[-26,-6],[-39,-37],[-17,-8],[-257,-9],[-65,-4],[-13,-6],[-11,25],[-10,53],[-4,36],[3,17],[9,21],[14,-4],[13,-16],[12,-23],[14,-12],[89,29],[37,19],[15,18],[18,31],[20,15],[9,15],[18,47],[13,22],[14,16],[18,11],[40,7],[-27,11],[-24,0],[-85,-50],[-28,0],[1,8],[12,14],[29,24],[-20,2],[-8,11],[-1,23],[15,38],[69,49],[24,7],[7,9],[-9,8],[-14,5],[-70,-50],[-50,-18],[-15,4],[-26,19],[-8,9],[-12,22],[2,14],[24,39],[-4,8],[-17,4],[-44,36],[-71,-3],[-174,21],[-36,-9],[-59,-31],[-36,-11],[-16,7],[-15,17],[-14,22],[-12,28],[5,19],[23,12],[17,5],[47,-7],[58,20],[37,4],[10,3],[22,21],[11,5],[16,-7],[8,-14],[59,22],[20,11],[2,6],[9,8],[28,-12],[24,0],[29,8],[52,4],[115,2],[18,18],[8,16],[10,40],[-4,8],[-73,-37],[-16,1],[-84,19],[-30,22],[10,18],[44,39],[46,30],[67,34],[16,13],[2,15],[-45,27],[-85,-7],[-22,32],[-70,19],[-47,-12],[-25,20],[-61,-27],[-134,-40],[-54,-27],[-28,-9],[-33,22],[-57,25],[-64,8],[-6,15],[37,45],[26,8],[26,-4],[49,-31],[34,-10],[-43,46],[1,18],[-3,26],[-13,12],[-13,29],[5,10],[17,3],[34,-10],[82,-51],[40,9],[22,19],[29,14],[-8,7],[-70,1],[-38,11],[-19,15],[-17,25],[6,12],[20,9],[60,-3],[-40,44],[-27,25],[-3,13],[2,15],[3,10],[6,5],[69,-25],[15,-1],[-14,16],[-30,25],[-2,9],[13,7],[6,14],[1,12],[21,10],[21,0],[21,-9],[66,-48],[10,-13],[3,-18],[-3,-21],[2,-9],[26,7],[21,-9],[10,3],[26,32],[17,-7],[11,-16],[3,-14],[2,-19],[-5,-40],[1,-5],[18,22],[31,2],[4,11],[1,42],[-3,35],[-3,8],[-101,49],[-17,11],[-22,24],[5,12],[19,11],[30,5],[68,-1],[7,5],[-13,13],[-32,8],[-7,7],[-4,14],[-38,-7],[-42,-1],[-40,9],[-1,11],[16,16],[33,27],[15,6],[46,-4],[46,7],[37,-9],[29,-26],[42,-47],[57,-29],[5,-10],[30,-24],[60,-66],[60,-38],[3,-9],[-10,-12],[-23,-13],[5,-7],[31,-10],[21,-26],[2,-11],[-20,-80],[-10,-17],[-13,-8],[-56,15],[14,-26],[40,-27],[9,-15],[-6,-15],[4,-3],[15,8],[6,-9],[-3,-24],[-6,-21],[-10,-16],[3,-7],[16,2],[14,-4],[23,-23],[19,-69],[9,-22],[7,20],[8,50],[8,26],[7,1],[7,8],[5,16],[11,56],[38,42],[18,13],[16,3],[9,-6],[28,-44],[17,-7],[9,2],[12,30],[15,58],[3,64],[-8,71],[5,51],[18,30],[23,10],[29,-12],[22,-19],[42,-70],[34,-37],[29,-40],[15,-13],[29,-6],[7,2],[6,10],[2,15],[-6,101],[8,32],[12,22],[53,13],[28,14],[28,23],[22,13],[19,1],[19,-9],[19,-19],[31,-38],[39,-64],[50,-47],[26,-75],[5,-13],[6,-1],[7,9],[4,14],[1,34],[-14,44],[-46,111],[-1,22],[6,17],[33,1],[75,-10],[25,-17],[51,-68],[15,-17],[8,-4],[4,8],[20,13],[13,15],[23,38],[51,67],[10,2],[15,-5],[26,-18],[12,-14],[24,-11],[25,4],[35,24],[38,14],[14,34],[2,15],[-31,100],[13,20],[68,25],[59,2],[14,-7],[38,-48],[25,-25],[13,-19],[3,-43],[15,-16],[29,-18],[32,-3],[52,21],[22,13],[53,46],[32,13],[49,-3],[23,3],[1,-4],[-30,-19],[-24,-6],[-35,-28],[-32,-63],[-25,-31],[1,-14],[29,-24],[32,-14],[30,12],[13,-5],[12,-18],[6,-18],[2,-17],[-6,-38],[-17,-37],[-24,-32],[3,-9],[19,-5],[92,20],[10,-2],[5,-10],[1,-19],[5,-16],[9,-16],[-3,-15],[-40,-49],[48,31],[37,8],[65,-15],[26,-18],[15,-31],[23,10],[9,-1],[15,-17],[0,-20],[-10,-27],[-4,-25],[-11,-10],[-21,-8],[-6,-8],[9,-19],[14,-19],[19,-1],[3,-8],[1,-11],[-3,-12],[-6,-8],[-10,-5],[-13,-13],[48,-29],[6,-11],[1,-16],[-4,-18],[-8,-19],[-15,-11],[-34,-2],[-22,-12],[7,-21],[0,-26],[-6,-31],[-28,-46],[-26,-25],[-25,-16],[-45,6],[-24,12],[2,-40],[-25,-25],[5,-21],[9,-10],[-5,-27],[-11,-26],[-20,-28],[-23,-18],[-45,-22],[-38,-35],[-26,-14],[-65,0],[-67,-23],[-93,-48],[-64,-39],[-48,-44],[-65,-71],[-48,-30],[-27,-8],[-54,-7],[-45,-19],[-150,-37],[-50,-20],[-7,-18],[-21,-27],[-1,-10],[9,-7],[2,-10],[-19,-33],[-37,-23],[-17,0],[-21,20],[-10,0],[-3,-3],[0,-7],[12,-24],[-23,-11],[-97,-28]],[[31966,61326],[-28,27],[22,10],[15,-6],[12,-26],[-21,-5]],[[99586,81218],[-10,26],[-1,15],[10,16],[17,-10],[10,-15],[-9,-21],[-17,-11]],[[53959,71806],[-17,18],[-4,11],[23,9],[12,-8],[4,-15],[-2,-6],[-16,-9]],[[53859,74582],[-7,7],[-4,9],[5,22],[25,-13],[-1,-13],[-6,-7],[-12,-5]],[[53334,72241],[-18,20],[-1,29],[3,9],[22,-14],[6,-26],[1,-11],[-13,-7]],[[51720,82153],[-10,4],[3,6],[34,13],[12,-3],[-39,-20]],[[51592,82133],[-19,7],[-3,7],[15,4],[47,1],[14,-6],[1,-4],[-55,-9]],[[51367,82010],[-4,6],[33,38],[23,-1],[-52,-43]],[[51453,82094],[-12,9],[63,23],[39,7],[7,-3],[-71,-31],[-26,-5]],[[273,39812],[-6,2],[-7,10],[-4,16],[9,14],[13,-15],[3,-18],[-8,-9]],[[341,39658],[-15,18],[-6,12],[16,9],[8,-3],[0,-25],[-3,-11]],[[470,39829],[-14,25],[9,27],[13,-6],[7,-26],[1,-14],[-16,-6]],[[7921,40598],[-6,11],[-2,16],[2,27],[13,-17],[6,-12],[-8,-20],[-5,-5]],[[8376,40061],[-11,11],[-5,15],[-2,16],[2,19],[26,-3],[8,-8],[-9,-34],[-9,-16]],[[16567,70627],[-23,7],[8,14],[12,10],[4,-8],[13,-21],[-14,-2]],[[16810,70149],[-17,6],[-8,32],[13,2],[13,-5],[10,-25],[2,-9],[-13,-1]],[[31219,17359],[-25,11],[-36,5],[-5,4],[0,9],[4,9],[20,7],[60,-6],[8,-4],[2,-7],[-10,-20],[-8,-7],[-10,-1]],[[30584,57831],[-13,9],[-17,37],[-17,28],[4,29],[4,10],[18,-27],[17,-52],[3,-17],[1,-17]],[[31870,56919],[-27,14],[-14,18],[9,22],[22,0],[21,-26],[4,-14],[-15,-14]],[[29771,61554],[-71,50],[-57,62],[2,34],[30,8],[28,-21],[41,-41],[32,-50],[-5,-42]],[[43046,72357],[-15,4],[-20,-3],[-11,31],[10,14],[22,3],[11,-14],[5,-24],[-2,-11]],[[54680,75884],[-31,10],[-12,13],[-8,15],[-4,22],[51,-16],[38,7],[34,-10],[21,-19],[5,-9],[-28,-1],[-31,7],[-35,-19]],[[54756,76015],[-123,4],[-36,12],[-40,32],[-9,10],[41,9],[37,-9],[12,-23],[101,-19],[37,-10],[-20,-6]],[[54618,76105],[-38,11],[-19,18],[2,16],[6,25],[42,-3],[65,-18],[15,-21],[-4,-10],[-25,-16],[-44,-2]],[[49292,79755],[-26,13],[-2,10],[29,23],[6,0],[3,-7],[-10,-39]],[[49429,79601],[-10,11],[-21,0],[-20,-7],[5,54],[38,-7],[18,-14],[2,-30],[-12,-7]],[[90465,61565],[-7,16],[-2,32],[13,-3],[4,-7],[1,-16],[-9,-22]],[[90469,60147],[-9,2],[-6,10],[-2,15],[18,1],[7,-12],[-2,-12],[-6,-4]],[[90337,58831],[-10,6],[-6,10],[-2,15],[22,16],[10,-6],[-1,-13],[-13,-28]],[[33355,76482],[-32,1],[-22,20],[-1,8],[51,-8],[19,4],[39,33],[-17,-37],[-37,-21]],[[23045,67000],[14,48],[2,20],[22,61],[12,9],[5,-26],[-23,-43],[-26,-68],[-6,-1]],[[25293,68043],[1,12],[11,31],[8,12],[-5,-24],[-15,-31]],[[25397,68366],[-25,12],[-15,12],[-2,11],[41,-21],[4,-8],[-3,-6]],[[25511,68381],[-36,1],[-8,5],[15,8],[43,12],[10,-13],[-24,-13]],[[32468,61189],[14,14],[11,-1],[4,-5]],[[32497,61197],[-1,-35]],[[32496,61162],[-3,-15],[-18,13],[-10,13]],[[32465,61173],[3,16]],[[31804,61194],[-14,5],[-5,18],[27,16],[30,-2],[18,-10],[2,-7],[-36,-16],[-22,-4]],[[32616,60602],[-12,18],[3,41],[11,1],[11,-18],[1,-29],[-14,-13]],[[32105,61406],[-5,1],[-1,9],[5,23],[28,3],[-20,-32],[-7,-4]],[[32020,61329],[-12,3],[-5,5],[10,19],[26,-11],[-19,-16]],[[32035,61372],[-6,7],[12,18],[23,3],[6,-5],[-13,-21],[-22,-2]],[[31975,60958],[1,42],[33,13],[24,-26],[28,0],[-30,-26],[-56,-3]],[[28483,65278],[-23,12],[-5,10],[9,16],[21,14],[34,1],[15,-16],[2,-7],[-22,-18],[-31,-12]],[[27475,65100],[-13,11],[14,14],[43,15],[-16,-19],[-16,-7],[-12,-14]],[[81723,63621],[-19,43],[-1,14],[15,3],[16,-20],[0,-18],[-4,-13],[-7,-9]],[[28731,71001],[-11,6],[-15,13],[-4,9],[15,-3],[21,-24],[-6,-1]],[[1345,37874],[-12,24],[-37,39],[-8,30],[13,23],[-2,-19],[6,-8],[21,-3],[19,-17],[-12,-5],[11,-8],[4,0],[4,17],[15,7],[-1,-19],[-21,-61]],[[64628,77369],[-18,16],[-12,27],[15,32],[14,-6],[9,-34],[-3,-29],[-5,-6]],[[63324,77409],[-13,55],[-1,33],[8,17],[11,-55],[-1,-39],[-4,-11]],[[33768,19606],[-22,16],[-8,26],[12,17],[11,-2],[6,-5],[1,-52]],[[61821,59524],[-2,23],[5,52],[9,15],[7,-38],[-4,-21],[-6,-17],[-9,-14]],[[61141,59942],[-27,22],[-5,12],[12,22],[3,14],[8,-13],[9,-57]],[[60243,65509],[-20,40],[-11,30],[-12,20],[-53,40],[-8,25],[9,26],[5,-25],[10,-16],[44,-36],[49,-79],[9,-6],[-15,-19],[-7,0]],[[60162,65696],[-12,21],[1,46],[10,26],[-1,-36],[5,-35],[0,-13],[-3,-9]],[[78129,52231],[0,15],[2,22],[10,20],[5,-11],[-3,-35],[-14,-11]],[[87405,46586],[-8,48],[13,12],[14,-29],[-4,-26],[-15,-5]],[[84313,49458],[-13,17],[1,87],[12,19],[5,-3],[4,-26],[5,-23],[10,-22],[-5,-45],[-19,-4]],[[85213,70790],[-22,5],[-12,27],[1,23],[14,4],[14,-31],[5,-28]],[[92440,95548],[-64,34],[24,18],[43,12],[10,-6],[8,-12],[6,-25],[-27,-21]],[[68684,91612],[-46,3],[-14,11],[-6,10],[52,54],[32,-1],[4,-25],[-22,-52]],[[68491,92239],[-15,8],[-19,27],[-11,33],[-4,66],[7,18],[6,9],[6,-2],[-1,-42],[28,-93],[3,-24]],[[65331,98001],[-40,1],[-20,16],[32,24],[41,17],[31,-4],[23,-9],[12,-17],[-79,-28]],[[55103,85437],[-6,2],[7,27],[6,12],[19,11],[5,-2],[-19,-45],[-12,-5]],[[55158,85684],[-7,24],[3,5],[4,24],[14,13],[21,-8],[0,-6],[-20,-19],[-8,-13],[-7,-20]],[[15867,78426],[-8,24],[-1,17],[7,12],[10,-35],[-1,-7],[-3,-11],[-4,0]],[[79359,44213],[-14,23],[-17,7],[3,32],[14,4],[7,2],[10,11],[5,-37],[-8,-42]],[[25950,60128],[-14,1],[20,36],[33,30],[28,15],[23,-6],[-46,-30],[-44,-46]],[[95511,6137],[-22,18],[-7,41],[1,13],[72,49],[58,13],[-31,-74],[-11,-12],[-23,-48],[-37,0]],[[95762,10441],[-15,5],[-15,36],[16,54],[-6,71],[3,17],[39,-39],[7,-23],[16,-32],[3,-17],[-16,-34],[-8,-21],[-24,-17]],[[96189,4079],[-45,19],[-20,37],[-10,48],[0,18],[27,7],[127,-35],[53,-29],[29,1],[76,39],[63,50],[16,23],[21,8],[27,-17],[13,-53],[0,-18],[-34,-44],[-39,-20],[-123,16],[-86,-36],[-95,-14]],[[95356,10848],[-14,8],[-20,29],[-20,70],[18,7],[23,-12],[9,-35],[8,-18],[1,-13],[-5,-36]],[[96313,4349],[-22,46],[-33,43],[-82,91],[-6,14],[45,18],[22,29],[47,40],[-5,25],[-39,27],[-15,22],[26,37],[58,17],[75,-15],[34,-50],[-6,-22],[-1,-8],[105,-43],[275,5],[229,-41],[21,-41],[-65,-22],[-101,-55],[-65,-16],[-55,-1],[-112,23],[-146,-3],[-31,-32],[-71,-32],[-82,-56]],[[97140,6853],[-51,37],[-12,14],[50,71],[-4,24],[7,19],[19,15],[12,-2],[29,-80],[20,-33],[-28,-31],[-4,-22],[-38,-12]],[[95218,5626],[-35,2],[-20,14],[36,43],[34,18],[21,5],[14,-6],[-50,-76]],[[77929,11547],[-10,16],[-45,1],[-16,13],[-6,28],[15,49],[24,33],[37,33],[18,8],[76,11],[55,-15],[39,-41],[11,-33],[-6,-22],[-71,-67],[-121,-14]],[[73791,10790],[-8,8],[-1,9],[-72,57],[-12,46],[7,32],[59,-3],[70,-28],[37,-71],[-32,-35],[-48,-15]],[[75685,11476],[-38,8],[-19,28],[-4,12],[15,20],[54,3],[38,-17],[8,-18],[2,-8],[-19,-20],[-37,-8]],[[74007,10901],[-25,3],[-29,32],[12,21],[30,13],[38,-7],[10,-11],[26,-7],[-30,-29],[-32,-15]],[[73672,10989],[-24,4],[-16,19],[-3,12],[15,39],[12,-2],[8,-20],[38,-33],[-30,-19]],[[69386,7788],[-13,1],[-15,45],[13,28],[16,16],[28,-8],[6,-6],[-35,-76]],[[69002,7638],[7,23],[37,42],[28,51],[17,9],[31,-45],[-7,-38],[-41,-28],[-58,-14],[-14,0]],[[76775,11237],[-24,23],[26,63],[28,20],[31,6],[32,-15],[57,2],[20,-23],[4,-25],[-1,-15],[-23,-22],[-150,-14]],[[69980,8625],[-25,7],[-32,43],[-18,31],[-7,32],[3,63],[16,31],[26,12],[11,-29],[4,-32],[8,-23],[33,-30],[16,-26],[5,-14],[6,-30],[-5,-20],[-21,-14],[-20,-1]],[[95154,11059],[-13,3],[-58,71],[7,31],[-8,26],[1,23],[2,8],[71,-107],[13,-27],[-15,-28]],[[77814,11234],[-14,16],[-2,9],[27,34],[33,11],[-3,-40],[-4,-22],[-37,-8]],[[77430,11085],[-27,17],[-13,31],[-3,11],[42,7],[56,-30],[-29,-29],[-26,-7]],[[78704,11685],[-45,8],[-10,12],[-4,57],[-3,16],[-17,16],[-73,29],[-8,40],[10,19],[27,4],[67,-36],[15,-28],[-2,-42],[1,-13],[21,-28],[33,-29],[5,-11],[-17,-14]],[[9006,5053],[-42,6],[-63,33],[-12,12],[28,11],[36,-11],[33,-20],[17,-23],[3,-8]],[[9625,5614],[-53,14],[-140,48],[-30,22],[21,24],[50,17],[38,-5],[95,-44],[29,-32],[17,-24],[4,-17],[-31,-3]],[[9172,4850],[-27,8],[9,37],[-16,26],[-4,12],[9,17],[61,0],[172,-27],[23,-39],[-123,-8],[-104,-26]],[[13181,6335],[-86,22],[7,24],[78,21],[53,-14],[-8,-19],[-44,-34]],[[8607,4842],[-64,15],[-16,46],[18,10],[148,-21],[54,-12],[20,-13],[-10,-12],[-34,-6],[-116,-7]],[[8616,4945],[-71,16],[-64,36],[37,24],[113,-8],[74,6],[77,-14],[18,-16],[-14,-14],[-83,-4],[-40,-23],[-47,-3]],[[13561,6272],[-116,31],[-68,6],[-31,17],[-20,15],[-6,15],[-32,22],[62,46],[49,15],[47,-4],[10,-22],[90,-27],[70,-1],[7,-25],[-3,-34],[-28,-41],[-31,-13]],[[16734,6558],[-18,2],[-18,13],[-5,9],[30,31],[29,14],[9,10],[-40,104],[37,3],[43,20],[83,-2],[72,-18],[13,-15],[9,-26],[-31,-53],[-19,-18],[-108,-46],[-28,-21],[-58,-7]],[[17436,6516],[-37,19],[-10,23],[6,24],[277,128],[49,-17],[14,-9],[-83,-64],[-37,-22],[-6,-8],[20,-9],[6,-7],[-16,-18],[-47,-23],[-136,-17]],[[14578,6251],[-83,39],[-27,19],[-24,32],[-19,6],[-7,7],[-11,83],[25,9],[53,-12],[102,-43],[71,-12],[24,-33],[-24,-58],[-38,-26],[-42,-11]],[[8631,4624],[-142,10],[-62,41],[40,16],[40,-3],[35,-21],[8,-13],[81,-30]],[[4915,1215],[-206,26],[-54,22],[-30,23],[-56,20],[-14,11],[0,25],[-9,15],[-19,13],[-9,14],[-17,8],[277,-13],[108,-21],[20,-13],[195,-62],[-53,-9],[-46,-46],[-87,-13]],[[8151,4978],[-48,17],[-12,14],[10,14],[183,13],[20,-16],[6,-10],[-41,-24],[-118,-8]],[[9196,5291],[-71,38],[-54,30],[-18,25],[-3,8],[0,10],[16,7],[115,-21],[72,-88],[-57,-9]],[[9192,5023],[-87,25],[-37,31],[21,39],[40,13],[52,-14],[19,-5],[25,-41],[-33,-48]],[[5397,2129],[-745,69],[-143,22],[-34,13],[-14,11],[-3,8],[6,23],[17,17],[185,25],[207,-19],[250,-49],[172,-40],[89,-35],[37,-26],[5,-14],[-29,-5]],[[8201,4632],[-241,46],[-47,13],[82,28],[54,4],[146,-68],[39,-8],[-11,-12],[-22,-3]],[[7190,3055],[-65,6],[-50,15],[-114,20],[-29,39],[-134,32],[-62,10],[21,38],[142,-50],[175,-51],[141,-31],[26,-27],[-51,-1]],[[8530,4772],[-121,5],[-25,9],[-11,8],[-168,15],[-76,42],[-15,13],[30,20],[57,13],[23,16],[145,14],[23,-8],[13,-22],[66,-45],[17,-28],[7,-17],[36,-9],[16,-16],[-17,-10]],[[6090,1825],[-22,32],[-108,64],[-64,44],[-42,34],[-18,23],[21,0],[158,-72],[24,-28],[118,-49],[-42,-44],[-25,-4]],[[48289,8638],[-6,16],[-24,21],[-48,57],[54,4],[49,25],[27,-10],[6,-7],[15,-71],[-73,-35]],[[50749,8631],[-21,18],[-11,35],[13,20],[123,70],[33,-6],[11,-6],[8,-27],[-11,-42],[-14,-21],[-37,-25],[-94,-16]],[[49149,8268],[-39,4],[-30,17],[-21,34],[-5,14],[3,23],[-2,11],[38,6],[14,-14],[6,-11],[66,-71],[-30,-13]],[[50336,8775],[-15,1],[-15,44],[-31,48],[-11,32],[-1,45],[22,26],[80,16],[27,-11],[13,-56],[-45,-71],[-24,-74]],[[49226,8309],[-11,32],[1,33],[4,25],[2,20],[-46,24],[-3,34],[-9,19],[-134,68],[-23,20],[10,12],[138,5],[81,-12],[60,-43],[30,-20],[47,3],[45,-15],[-7,-20],[-26,-28],[-22,-57],[-22,-27],[-66,-58],[-49,-15]],[[51212,8703],[-51,30],[-14,20],[-15,55],[-2,21],[12,13],[40,16],[66,-6],[25,-26],[9,-44],[-8,-38],[-17,-27],[-45,-14]],[[63438,10892],[-21,6],[-2,14],[-1,14],[2,15],[16,12],[78,2],[31,-11],[9,-7],[1,-22],[-3,-6],[-64,-3],[-46,-14]],[[54488,8958],[-87,53],[-51,16],[-13,10],[-12,32],[-3,13],[10,20],[28,33],[59,26],[93,14],[91,-11],[15,-16],[-86,-55],[-26,-97],[-18,-38]],[[57352,8735],[-31,8],[-98,37],[-11,46],[-3,20],[8,36],[88,76],[35,7],[50,-11],[22,-21],[14,-43],[39,-85],[-5,-30],[-18,-23],[-51,4],[-39,-21]],[[41549,3070],[-117,43],[-209,30],[-63,22],[-49,70],[88,58],[21,-6],[135,-92],[38,-11],[40,28],[-6,26],[23,47],[33,-51],[219,-53],[71,-51],[-29,-12],[-22,2],[-64,-6],[-109,-44]],[[40541,3457],[-675,37],[-33,7],[9,44],[92,8],[52,8],[72,19],[53,34],[18,1],[317,-79],[111,-33],[13,-15],[3,-9],[-32,-22]],[[49043,8683],[-13,16],[-2,12],[58,86],[32,21],[62,17],[40,-5],[26,-19],[8,-33],[0,-51],[-15,-27],[-151,-16],[-45,-1]],[[44308,6339],[-69,7],[-22,15],[-8,10],[-36,126],[-21,29],[-32,26],[-123,24],[-118,-8],[29,29],[178,40],[45,29],[28,36],[13,53],[31,67],[49,31],[31,3],[16,-55],[0,-51],[-24,-52],[-13,-129],[4,-28],[11,-27],[49,-71],[4,-54],[-2,-21],[-20,-29]],[[45507,7399],[-40,1],[-38,29],[-16,42],[-1,30],[17,34],[27,9],[15,-12],[36,-72],[19,-47],[-19,-14]],[[46503,7699],[-37,5],[-47,30],[-15,23],[-5,20],[13,30],[11,8],[24,-3],[42,-39],[29,-40],[7,-20],[-22,-14]],[[40968,3264],[-19,14],[23,40],[34,34],[63,3],[60,-23],[-6,-21],[-13,-2],[-94,-40],[-48,-5]],[[37451,14491],[-62,49],[-86,2],[-20,36],[-44,-20],[-5,13],[0,17],[6,25],[28,-10],[32,13],[61,-15],[31,-21],[8,-25],[36,-9],[5,-5],[7,-14],[4,-16],[-1,-20]],[[34968,14150],[-19,23],[-3,13],[20,27],[20,35],[7,4],[-5,-71],[-8,-26],[-12,-5]],[[31268,3372],[-202,13],[-69,9],[-39,15],[36,62],[27,21],[25,8],[56,34],[88,8],[67,-6],[113,-27],[-29,-25],[-19,-10],[-18,-39],[12,-35],[-48,-28]],[[34639,14185],[-13,22],[-7,39],[-19,24],[14,19],[199,-26],[-11,-13],[-96,-17],[-30,-31],[-37,-17]],[[34339,12888],[-23,12],[-11,36],[-1,13],[8,10],[4,10],[-1,11],[22,29],[95,45],[126,18],[17,-17],[0,-10],[17,-16],[70,1],[16,-4],[14,-26],[9,-45],[-23,-17],[-121,11],[-44,23],[-22,-1],[-49,-26],[-21,-24],[-82,-33]],[[34456,12804],[-61,39],[-16,27],[7,19],[98,17],[26,-9],[12,-41],[-42,-26],[-24,-26]],[[34076,12217],[-30,18],[-4,31],[0,17],[23,12],[14,2],[81,49],[36,12],[-16,-29],[2,-27],[-13,-24],[-69,-59],[-24,-2]],[[33594,13534],[-32,27],[-7,11],[38,26],[20,-6],[8,-8],[23,-3],[12,-20],[-62,-27]],[[33724,13593],[-14,14],[-29,4],[-2,7],[-18,20],[-51,-22],[13,27],[68,70],[8,22],[79,42],[37,-9],[80,24],[35,-16],[31,11],[17,-13],[12,-33],[-1,-13],[-47,5],[-43,-39],[-51,8],[-7,-32],[11,-16],[-14,-15],[-44,30],[-35,-10],[-11,-53],[-16,-11],[-8,-2]],[[32765,12507],[7,32],[23,22],[38,14],[-24,-36],[-7,-16],[-11,-14],[-26,-2]],[[32754,9161],[-24,55],[-13,84],[-77,122],[-20,64],[14,15],[21,5],[56,-17],[34,-23],[38,-51],[46,-45],[9,-39],[-7,-43],[-29,-11],[1,-32],[-17,-62],[-8,-18],[-24,-4]],[[32345,12018],[27,65],[26,3],[41,37],[11,-6],[-22,-30],[-16,-42],[-44,-27],[-23,0]],[[32616,12250],[-40,11],[-16,10],[10,5],[7,16],[22,31],[38,82],[7,25],[-31,42],[-5,14],[7,24],[11,18],[26,20],[34,-1],[17,-16],[0,-29],[58,-29],[-10,-57],[-22,-36],[-3,-43],[-33,-20],[-6,-13],[-20,-24],[-16,-4],[-15,10],[-20,-36]],[[32595,13104],[5,25],[31,64],[58,29],[-7,-26],[-19,-32],[-56,-58],[-12,-2]],[[33465,13473],[-26,33],[-12,24],[51,1],[23,-9],[12,-27],[-10,-18],[-38,-4]],[[34372,13045],[-26,3],[-54,41],[-15,22],[-3,10],[34,37],[97,-14],[22,-4],[1,-3],[2,-22],[-3,-14],[-55,-56]],[[33272,13298],[-28,23],[-9,17],[-7,37],[-67,-10],[-22,7],[-27,-24],[-55,-10],[-19,0],[-24,26],[-1,27],[49,-2],[38,35],[11,34],[19,-9],[29,-41],[14,-7],[121,14],[38,-41],[43,2],[-103,-78]],[[34071,12627],[-76,15],[-18,24],[67,13],[18,-10],[4,-10],[56,5],[15,-15],[-31,-20],[-8,4],[-27,-6]],[[32969,9014],[-19,16],[-7,10],[5,24],[16,22],[49,-16],[12,-43],[-14,-12],[-42,-1]],[[33140,9714],[-35,10],[-20,12],[-34,29],[19,17],[37,-4],[30,-20],[14,-27],[-11,-17]],[[33104,8580],[-20,12],[-17,36],[-5,18],[9,39],[16,9],[92,5],[28,-21],[1,-35],[-10,-26],[-71,-37],[-23,0]],[[33152,8373],[-38,11],[-33,20],[-11,23],[16,20],[30,12],[47,-4],[22,-25],[5,-22],[-6,-24],[-4,-7],[-28,-4]],[[33160,13137],[-19,13],[-14,28],[10,25],[19,7],[37,-43],[-14,-6],[-18,5],[0,-11],[15,-13],[-16,-5]],[[33117,12613],[-21,7],[-33,25],[45,7],[4,71],[22,28],[43,-16],[-26,-37],[-9,-29],[9,-25],[1,-10],[-35,-21]],[[23898,7270],[-31,22],[-10,14],[19,22],[11,2],[57,-37],[12,-15],[-11,-7],[-47,-1]],[[24626,7100],[-46,7],[17,135],[26,35],[-7,24],[-47,68],[-33,77],[16,18],[86,27],[99,-5],[39,-32],[12,-42],[-5,-30],[-32,-54],[33,-18],[7,-37],[-7,-46],[-32,-54],[-30,-31],[-45,-27],[-51,-15]],[[20928,7097],[-62,7],[-48,45],[-19,59],[-2,20],[13,15],[31,15],[120,-133],[-33,-28]],[[23550,7419],[-15,13],[16,28],[128,49],[52,29],[8,-4],[7,-10],[22,-57],[2,-14],[-167,-31],[-53,-3]],[[30087,8738],[-27,74],[-3,18],[27,13],[14,-18],[60,17],[21,-18],[4,-12],[-27,-43],[-32,-29],[-37,-2]],[[29944,9154],[-40,20],[-120,37],[-50,68],[5,36],[23,21],[36,12],[73,-23],[37,-23],[96,-123],[-60,-25]],[[29451,7000],[-17,7],[-31,29],[4,23],[14,16],[10,18],[60,63],[44,8],[36,-14],[-39,-60],[-10,-42],[-44,-36],[-27,-12]],[[31649,11441],[-31,8],[-2,24],[8,31],[29,17],[-5,47],[18,20],[9,36],[38,26],[54,-12],[-8,-46],[-1,-16],[-32,-13],[-8,-7],[-7,-31],[1,-44],[-3,-17],[-60,-23]],[[31439,11185],[-9,4],[-5,7],[1,11],[20,25],[4,73],[41,26],[16,-10],[-14,-30],[9,-27],[-1,-13],[-62,-66]],[[31237,10313],[-41,12],[1,45],[-11,5],[-4,11],[52,34],[39,8],[47,-5],[20,-15],[7,-15],[-36,-37],[-6,-15],[-13,-17],[-55,-11]],[[31275,10836],[-31,3],[-20,12],[26,43],[-3,28],[23,12],[26,-10],[18,-37],[3,-15],[-29,-32],[-13,-4]],[[0,40422],[0,32],[0,29],[0,44],[30,50],[9,7],[10,-45],[-12,-51],[-30,-44],[-7,-22]],[[0,40672],[0,16],[0,15]],[[0,40703],[16,28],[12,6],[-8,-29],[0,-14],[-20,-22]],[[99978,40400],[-8,21],[10,52],[19,54],[0,-44],[0,-61],[-21,-22]],[[28078,55348],[-13,56],[2,14],[-1,51],[13,13],[9,1],[7,-7],[5,-59],[-4,-27],[-12,-17],[-6,-25]],[[92975,79659],[-28,16],[0,51],[59,158],[21,-10],[-5,-38],[-22,-58],[7,-71],[-5,-21],[-27,-27]],[[66415,98632],[-105,13],[-30,14],[7,13],[68,19],[54,4],[57,-19],[26,-25],[-17,-11],[-60,-8]],[[65076,98116],[-129,33],[11,16],[14,7],[0,16],[-12,12],[5,25],[83,-18],[8,-8],[56,-13],[9,-24],[-6,-15],[-39,-31]],[[66896,98417],[-141,16],[-73,17],[6,8],[19,11],[122,42],[242,9],[30,-31],[-26,-24],[-92,-36],[-87,-12]],[[64682,97969],[-62,3],[-8,8],[-15,6],[-58,7],[-36,30],[16,7],[85,12],[29,13],[10,17],[38,33],[92,6],[40,-6],[5,-22],[39,-25],[101,-33],[-20,-23],[-35,-4],[-37,-22],[-184,-7]],[[65829,97909],[-218,3],[-108,6],[-25,10],[61,35],[19,24],[-6,69],[10,13],[175,-7],[14,20],[66,1],[38,-9],[12,-20],[-1,-73],[-13,-32],[2,-26],[-26,-14]],[[66480,97821],[-35,6],[-10,9],[-19,9],[-50,12],[7,35],[16,6],[150,39],[72,-22],[30,-52],[-61,-23],[-100,-19]],[[31513,17725],[-16,2],[-6,10],[-1,11],[3,13],[7,11],[16,15],[5,2],[24,-14],[-10,-24],[-22,-26]],[[29148,23867],[-9,3],[-7,19],[-5,32],[10,12],[7,0],[9,-17],[4,-28],[-2,-11],[-7,-10]],[[28993,21581],[-7,106],[36,152],[3,58],[-12,44],[-5,36],[3,15],[47,30],[14,-32],[18,-85],[33,-123],[-1,-117],[-18,-29],[-58,-29],[-21,-25],[-32,-1]],[[29075,20392],[-23,4],[-7,14],[-4,35],[-7,17],[9,34],[7,39],[-2,30],[34,-2],[41,-8],[11,-8],[-12,-26],[-12,-16],[-25,-9],[-3,-50],[-7,-54]],[[29659,18860],[-51,22],[-25,1],[-19,7],[-4,4],[-4,28],[-5,14],[-49,64],[-21,15],[-35,12],[-40,-9],[-28,9],[-9,-3],[-40,51],[-40,43],[-17,52],[-25,39],[-1,12],[12,9],[27,-23],[27,-38],[15,-14],[10,-37],[5,-5],[10,1],[16,-10],[58,-12],[52,-27],[27,-26],[35,-8],[29,-34],[13,-8],[15,-3],[39,-61],[2,-7],[44,-48],[2,-8],[-25,-2]],[[31088,17502],[-21,10],[-20,19],[-18,47],[-12,10],[-36,9],[-35,23],[-28,-1],[-25,10],[-23,-9],[-8,16],[-10,31],[0,14],[12,50],[0,13],[-7,2],[-26,-10],[-11,6],[-29,36],[-11,7],[-29,4],[-17,-64],[-1,-16],[17,-41],[33,-62],[-17,-1],[-47,19],[-13,12],[-14,31],[-28,19],[-10,11],[-3,13],[-1,41],[-6,6],[-40,-10],[-8,10],[-3,17],[-6,10],[-26,16],[-2,10],[11,11],[7,30],[10,106],[51,-22],[223,-58],[68,35],[55,-1],[16,-49],[-55,-51],[-5,-16],[8,-13],[57,-8],[14,-17],[13,-21],[-11,-32],[-1,-14],[6,-14],[42,-48],[18,-24],[9,-24],[3,-41],[-1,-33],[-9,-4]],[[29005,21305],[-17,21],[19,33],[24,34],[-8,43],[-7,13],[-10,4],[-17,23],[5,33],[10,16],[14,13],[12,-8],[54,24],[17,19],[32,3],[4,-37],[-3,-48],[-41,-90],[-35,-54],[-32,-42],[-21,0]],[[33264,20022],[-8,20],[1,49],[28,4],[29,-21],[-2,-20],[-10,-32],[-38,0]],[[42705,15818],[-43,31],[-10,15],[14,19],[27,0],[7,-11],[4,-20],[1,-34]],[[64921,57770],[-33,13],[-28,50],[-51,63],[20,41],[5,19],[7,18],[29,31],[29,-5],[35,-42],[17,-7],[26,20],[74,3],[90,-66],[-17,-17],[-10,-24],[-39,-22],[-40,-51],[-114,-24]],[[64793,64840],[-18,22],[39,30],[11,14],[11,27],[9,-23],[-10,-38],[-7,-16],[-14,-13],[-21,-3]],[[66294,62441],[-6,4],[1,75],[40,94],[27,109],[19,-97],[-33,-55],[-17,-93],[-14,-28],[-17,-9]],[[64610,64856],[-4,32],[0,11],[13,14],[7,-26],[-11,-26],[-5,-5]],[[65395,66220],[-23,2],[-8,4],[-5,27],[0,11],[15,-5],[51,36],[64,61],[6,27],[-10,43],[3,10],[41,-22],[46,43],[39,12],[19,-30],[-26,-19],[-26,-71],[-39,-59],[-17,19],[-12,-1],[-28,-23],[-20,-4],[-37,-40],[-33,-21]],[[64944,64770],[-24,6],[-22,14],[15,25],[40,28],[17,-26],[9,-22],[0,-20],[-28,6],[-7,-11]],[[61710,60288],[-8,15],[-6,14],[-2,15],[-8,16],[-30,-11],[-18,19],[-27,56],[-7,40],[11,8],[12,19],[7,32],[-7,33],[16,-5],[9,-34],[1,-77],[3,-16],[-5,-18],[12,-20],[21,-3],[-9,19],[-2,9],[10,27],[30,-56],[-1,-66],[-2,-16]],[[61195,59700],[-30,12],[-28,-4],[-33,13],[-8,49],[21,-24],[11,6],[2,7],[-15,33],[-21,7],[1,26],[10,11],[6,13],[-13,36],[24,-8],[15,-22],[10,-26],[3,-59],[11,-31],[8,3],[7,10],[4,23],[44,-44],[-3,-30],[-26,-1]],[[61858,58572],[12,47],[13,10],[4,-2],[-11,-37],[-18,-18]],[[64048,65760],[-9,16],[-21,78],[6,55],[-10,79],[5,22],[26,11],[6,-4],[-8,-25],[15,-44],[2,-72],[-3,-71],[-9,-45]],[[61881,58736],[-5,3],[-17,31],[19,35],[10,-32],[-3,-24],[-4,-13]],[[63393,68009],[-10,5],[-11,32],[-17,79],[10,30],[-1,13],[2,9],[5,6],[6,37],[7,12],[12,-25],[33,-91],[0,-37],[-2,-15],[-18,-42],[-16,-13]],[[99829,40166],[-4,82],[9,-1],[7,-8],[4,-21],[-6,-36],[-10,-16]],[[99816,39742],[-24,47],[0,19],[5,17],[9,15],[9,-26],[7,-45],[-4,-22],[-2,-5]],[[99659,39957],[-8,37],[11,36],[12,3],[6,-37],[-7,-28],[-14,-11]],[[96794,40497],[-39,28],[-30,-10],[-9,1],[-9,23],[-7,44],[3,32],[13,22],[5,3],[10,-27],[8,-18],[9,-8],[19,-44],[23,-12],[8,-9],[-4,-25]],[[96716,40787],[-44,18],[-18,26],[-8,26],[15,19],[23,9],[27,59],[10,-23],[10,-66],[11,-20],[6,-20],[0,-22],[-32,-6]],[[96777,39922],[-41,15],[15,21],[-8,23],[-13,5],[-14,-11],[-6,4],[9,39],[23,55],[6,4],[6,1],[6,-5],[30,6],[27,-85],[11,-7],[-17,-60],[-34,-5]],[[96622,41299],[-34,3],[-13,15],[42,83],[49,17],[-25,-91],[-19,-27]],[[96340,41209],[-19,2],[0,38],[-17,30],[-19,65],[5,115],[-33,214],[-1,54],[12,70],[11,3],[15,-58],[23,-55],[18,-196],[21,1],[11,10],[12,46],[5,72],[11,10],[14,-7],[-6,-23],[4,-58],[10,-32],[7,-6],[14,-150],[6,-32],[-1,-25],[-29,-56],[-44,1],[-30,-33]],[[96720,41009],[-4,27],[-16,145],[10,130],[7,-27],[23,-228],[-3,-37],[-12,-9],[-5,-1]],[[96713,41353],[-11,43],[-7,179],[3,16],[6,2],[14,-125],[0,-78],[-5,-37]],[[96534,40652],[-21,11],[-4,24],[3,8],[-13,60],[-5,92],[-9,54],[-9,23],[-20,-20],[-8,-4],[-18,45],[9,90],[4,25],[15,5],[23,-23],[22,-107],[12,-12],[7,0],[4,-29],[40,-58],[11,2],[9,-32],[17,-16],[5,-32],[12,-32],[-21,-40],[-41,11],[-24,-45]],[[96444,41140],[-30,39],[7,37],[32,-13],[-4,-47],[-5,-16]],[[94410,45401],[-37,50],[-28,61],[-81,65],[-17,34],[-15,4],[-41,56],[-41,37],[-25,48],[-6,19],[-15,12],[-25,53],[-25,34],[-9,64],[-24,44],[-6,19],[77,-35],[36,-70],[30,-39],[11,-29],[27,-39],[25,-4],[24,-39],[23,-11],[18,-20],[114,-177],[-14,-47],[15,-34],[9,-42],[0,-14]],[[93733,46072],[-29,19],[-6,20],[0,11],[-20,-7],[-40,17],[-54,85],[-58,160],[-56,88],[-11,28],[-1,45],[8,18],[34,-19],[45,-73],[74,-76],[20,-38],[12,-93],[13,-28],[40,-71],[21,-17],[11,-3],[9,-10],[9,-20],[-21,-36]],[[92680,48029],[-17,16],[14,30],[6,2],[-1,-34],[-2,-14]],[[83692,53949],[-21,43],[-38,-29],[-18,17],[-24,-16],[-15,34],[6,32],[39,53],[34,-12],[15,-43],[19,11],[30,-12],[6,-22],[-1,-15],[-32,-41]],[[81776,46222],[-14,5],[-13,39],[6,11],[8,4],[9,-5],[8,-31],[-4,-23]],[[87291,70865],[-4,26],[-13,17],[-2,14],[40,9],[13,-7],[-6,-23],[-5,-12],[-5,3],[-18,-27]],[[29115,22123],[-3,19],[-18,32],[16,21],[31,22],[24,-2],[22,-17],[3,-20],[-38,-26],[-9,-14],[-8,-8],[-20,-7]],[[29219,24626],[-9,18],[0,14],[7,13],[20,8],[13,-10],[7,-15],[2,-13],[-1,-5],[-39,-10]],[[29537,23910],[-8,1],[-8,21],[-3,27],[-18,40],[-5,19],[0,22],[10,33],[16,8],[10,-1],[13,-38],[3,-41],[4,-43],[-5,-41],[-9,-7]],[[29188,21663],[-25,54],[-11,85],[-8,18],[-14,49],[-8,32],[-15,49],[-6,52],[-3,16],[13,31],[62,31],[22,49],[19,-6],[-5,-101],[11,-34],[22,-28],[3,-12],[4,-36],[11,-55],[13,-26],[4,-16],[0,-14],[-5,-19],[15,-99],[-6,-14],[-34,9],[-59,-15]],[[32045,17945],[-26,23],[-7,22],[18,31],[18,0],[12,13],[9,21],[31,-14],[61,11],[32,0],[14,-5],[6,-7],[42,11],[18,-1],[-5,-25],[-38,-26],[-16,11],[-82,-2],[-36,-26],[-15,0],[-36,-37]],[[32815,27227],[-15,4],[-34,36],[-12,34],[-2,14],[35,-15],[16,-14],[9,-22],[3,-37]],[[33403,19516],[-5,5],[-5,22],[-1,29],[-2,13],[12,-4],[20,-23],[-1,-31],[-18,-11]],[[33070,19696],[-24,2],[-23,40],[-8,21],[26,16],[9,16],[20,-8],[20,3],[-11,-61],[-9,-29]],[[29758,18405],[-10,7],[-11,13],[-4,15],[22,15],[28,51],[5,54],[-30,9],[-18,-7],[-14,0],[-15,17],[-9,-26],[-4,-24],[4,-36],[-3,-12],[-10,-7],[-26,14],[-26,25],[-2,14],[6,50],[-1,26],[-5,37],[-3,4],[-10,-1],[-31,-7],[-31,48],[-16,50],[-57,15],[44,70],[67,10],[22,-36],[74,-24],[-4,37],[1,14],[10,17],[6,1],[9,-12],[14,-5],[7,-11],[6,-23],[8,-48],[4,-10],[20,8],[34,4],[57,-17],[6,-7],[24,-52],[19,-23],[28,-48],[-28,-33],[-17,-46],[-1,-24],[-11,-14],[-17,-14],[-26,-27],[-31,-3],[-31,-15],[-15,-13],[-8,0]],[[31294,17714],[-16,12],[-9,21],[-4,21],[-5,11],[-9,3],[-11,-1],[-14,-8],[-29,-30],[-13,-8],[-9,-2],[-84,23],[-8,9],[-10,20],[-11,60],[-35,54],[54,30],[65,0],[125,-24],[49,-5],[39,-51],[6,-30],[1,-23],[-8,-23],[-17,-30],[-24,-23],[-23,-6]],[[30423,17782],[-19,9],[2,16],[-4,14],[-13,17],[-12,-1],[-19,-13],[-10,1],[-19,15],[-35,10],[-7,14],[0,19],[-7,10],[-36,31],[-23,26],[-20,4],[-7,-3],[-7,-13],[-17,-12],[-5,2],[-6,10],[-3,15],[7,29],[11,3],[49,-6],[30,-13],[27,-1],[13,-37],[4,-7],[35,-15],[15,9],[37,4],[23,15],[32,7],[38,-93],[-4,-28],[-30,-31],[-20,-7]],[[31298,17422],[-7,11],[-12,8],[-46,17],[-1,10],[5,14],[9,13],[18,13],[14,32],[7,-2],[6,-14],[11,-45],[14,-33],[-2,-11],[-6,-8],[-10,-5]],[[29086,19886],[-3,41],[17,61],[8,42],[16,62],[31,-24],[44,23],[41,43],[34,0],[12,-23],[3,-18],[-1,-50],[-8,-16],[-8,-5],[-20,15],[-11,2],[-18,-26],[-16,-13],[-23,3],[-31,18],[-27,-75],[-13,-25],[-27,-35]],[[29097,20626],[-16,20],[-39,0],[10,51],[4,38],[6,15],[2,32],[12,60],[32,-20],[24,-5],[33,-20],[36,-13],[10,-52],[-34,-23],[-26,-35],[-54,-48]],[[29251,19499],[-43,5],[-19,70],[-27,68],[-10,79],[-15,68],[27,39],[26,-9],[1,53],[25,11],[11,-115],[9,-16],[28,-8],[31,-59],[1,-16],[-37,-99],[-8,-71]],[[29456,24450],[-45,21],[-7,9],[1,30],[48,3],[31,19],[4,-3],[9,-23],[6,-29],[-13,-4],[-19,5],[-10,-23],[-5,-5]],[[30238,18258],[-45,36],[-47,49],[-24,-9],[-31,12],[-25,-3],[-16,-27],[-36,-15],[-7,56],[-33,52],[-33,42],[18,65],[22,10],[20,22],[81,-23],[42,-19],[45,-46],[62,-47],[40,0],[0,-29],[5,-51],[-6,-20],[-16,-21],[-9,-30],[-7,-4]],[[29396,19699],[-30,14],[-16,12],[-24,31],[-3,32],[-11,39],[7,0],[25,-15],[10,-11],[13,-25],[40,-35],[5,-11],[-1,-13],[-6,-12],[-9,-6]],[[29440,23607],[-23,12],[2,77],[-29,30],[-20,51],[-23,87],[-19,27],[-22,70],[-33,59],[38,38],[-6,65],[22,23],[33,23],[25,-18],[22,6],[10,16],[-3,67],[7,53],[25,28],[26,3],[10,-30],[13,-29],[32,-24],[-1,-30],[-8,-41],[-14,-25],[-22,-5],[-33,-29],[-4,-26],[-1,-31],[23,-38],[11,-44],[14,-66],[10,-62],[-1,-20],[2,-32],[17,-51],[1,-23],[-1,-23],[-7,-42],[-5,-5],[-17,-4],[-1,-26],[-4,-8],[-46,-3]],[[29315,23363],[-27,20],[-32,-9],[-3,45],[12,37],[24,44],[18,59],[-2,84],[14,19],[8,29],[31,18],[7,-62],[-8,-110],[20,-66],[3,-22],[-4,-25],[-19,-22],[-15,-26],[-27,-13]],[[29455,77393],[30,44],[46,27],[46,82],[13,3],[-18,-94],[-3,-34],[-4,-12],[-22,-12],[-36,11],[-41,-15],[-11,0]],[[29495,77466],[-11,5],[37,58],[42,13],[-34,-64],[-34,-12]],[[33054,77416],[-2,9],[-18,24],[-1,13],[15,11],[32,-6],[-12,-31],[-2,-15],[-12,-5]],[[32791,78446],[-16,9],[23,113],[27,26],[56,74],[22,22],[21,9],[21,-5],[-22,-44],[-30,-2],[-28,-37],[-18,-40],[-23,-23],[-15,-28],[-8,-36],[10,-11],[18,1],[12,-4],[-17,-22],[-33,-2]],[[32037,78759],[-5,3],[6,24],[0,41],[20,6],[7,-4],[16,12],[-7,-43],[-25,-37],[-12,-2]],[[32058,78853],[14,46],[6,12],[5,6],[5,-5],[2,-28],[-32,-31]],[[30245,78236],[6,20],[35,37],[25,21],[15,-1],[-24,-45],[-32,-27],[-25,-5]],[[31576,76691],[4,20],[17,52],[11,8],[-18,-59],[-14,-21]],[[30927,76643],[-11,4],[0,29],[3,10],[4,4],[6,-8],[9,-27],[-11,-12]],[[31417,76911],[15,80],[12,25],[15,-9],[-2,-48],[-2,-16],[-38,-32]],[[31023,76687],[-19,16],[-8,10],[1,41],[17,40],[14,15],[17,-11],[13,-44],[1,-18],[-16,-12],[-18,5],[0,-31],[-2,-11]],[[81423,46191],[-24,8],[-77,42],[-10,40],[12,42],[27,60],[56,12],[252,4],[27,-51],[3,-18],[-55,-35],[-11,-33],[-6,-9],[-47,5],[-30,-48],[-21,-15],[-76,0],[-9,6],[-7,0],[-4,-10]],[[94123,18036],[-3,26],[17,118],[17,20],[-3,-61],[-19,-80],[-9,-23]],[[1669,39393],[-5,1],[-12,20],[-5,14],[19,41],[10,3],[12,-13],[0,-12],[-8,-18],[-11,-36]],[[7931,40471],[-10,10],[2,61],[3,12],[15,-21],[13,-53],[-12,-8],[-11,-1]],[[6320,51497],[-48,33],[-44,68],[13,15],[7,-25],[20,-22],[12,47],[7,11],[-35,49],[14,-2],[33,-33],[-5,-67],[46,-69],[-20,-5]],[[11368,44638],[-16,10],[-9,35],[39,44],[42,-30],[13,3],[-13,-30],[-42,-17],[-14,-15]],[[11352,44541],[-1,50],[8,6],[7,0],[6,-9],[-20,-47]],[[11476,44231],[-1,64],[13,-12],[5,-10],[-2,-18],[-5,-13],[-10,-11]],[[8561,39889],[-21,7],[-10,17],[-14,53],[-39,-12],[-27,10],[-15,70],[0,31],[6,20],[29,21],[36,-16],[13,-39],[3,-60],[40,-28],[7,-44],[-8,-30]],[[11064,45178],[-13,3],[-10,48],[3,30],[5,10],[46,-12],[4,-22],[-1,-21],[-7,-22],[-27,-14]],[[11084,44876],[-11,36],[-2,14],[20,19],[11,-10],[-12,-48],[-6,-11]],[[2160,42293],[-30,18],[-42,-16],[-15,6],[-34,87],[-23,39],[-10,36],[30,-4],[44,24],[50,11],[31,-56],[12,-74],[-13,-71]],[[283,40218],[-6,7],[8,34],[1,15],[-12,18],[-1,12],[3,8],[15,-20],[9,-16],[1,-8],[-2,-16],[-9,-14],[-7,-20]],[[5757,52721],[-16,2],[-7,9],[12,4],[2,9],[-6,15],[-7,10],[-5,0],[-2,-20],[-8,16],[5,16],[6,10],[8,4],[22,-50],[-4,-25]],[[2298,42149],[-38,27],[-13,0],[-33,56],[-5,30],[17,19],[36,10],[70,-42],[11,-38],[16,-4],[13,-17],[3,-26],[-1,-14],[-76,-1]],[[2564,41964],[-14,28],[28,22],[8,11],[34,-6],[-20,-9],[-24,-41],[-12,-5]],[[2804,39133],[-12,39],[11,49],[13,12],[8,2],[11,-45],[-3,-24],[-28,-33]],[[1062,42568],[-5,23],[7,35],[6,12],[6,-27],[-10,-39],[-4,-4]],[[1411,37763],[-13,41],[-2,19],[14,27],[3,2],[-2,-89]],[[87370,54832],[-8,45],[3,53],[11,40],[12,13],[2,5],[12,52],[3,-29],[-8,-96],[-9,-37],[-1,-33],[-17,-13]],[[90479,61169],[17,58],[5,10],[8,-21],[-16,-34],[-14,-13]],[[90485,59421],[-14,4],[-4,7],[8,53],[20,25],[10,5],[-9,-25],[-2,-29],[-8,-24],[-1,-16]],[[90193,58326],[-10,19],[-3,14],[-1,68],[40,58],[13,57],[10,-5],[10,-9],[8,-17],[-44,-94],[-11,-90],[-12,-1]],[[90449,59310],[-8,47],[-1,19],[10,17],[7,0],[4,-53],[-12,-30]],[[88351,56051],[-1,16],[6,29],[9,33],[8,20],[11,6],[8,-28],[-9,-23],[-11,-4],[-21,-49]],[[99449,39125],[-17,18],[12,12],[14,24],[14,-3],[15,22],[14,35],[21,7],[14,14],[24,-10],[19,-14],[0,-25],[-36,-17],[-12,21],[-8,4],[-21,-38],[-6,-15],[-2,-11],[-6,-6],[-39,-18]],[[96539,41992],[-32,10],[-7,8],[2,50],[8,17],[19,16],[25,-25],[-4,-45],[-11,-31]],[[96520,42226],[-7,5],[-16,71],[4,24],[21,23],[18,-40],[2,-22],[0,-18],[-3,-17],[-13,-7],[-2,-13],[-4,-6]],[[97183,38479],[-15,1],[-20,23],[4,29],[22,5],[6,-2],[12,-23],[-9,-33]],[[97065,38831],[-25,14],[-24,47],[-12,41],[8,78],[12,13],[13,-4],[6,-76],[37,-49],[-15,-64]],[[97024,39222],[-12,3],[-72,66],[3,27],[-3,70],[8,38],[20,16],[15,-9],[10,-55],[22,-23],[-16,-19],[27,-42],[10,-44],[-12,-28]],[[96667,37649],[-11,1],[-7,21],[-18,14],[1,35],[-18,77],[31,12],[17,21],[0,-19],[2,-22],[5,-14],[13,-11],[22,2],[-5,-101],[-32,-16]],[[96247,38203],[18,54],[1,33],[7,66],[-1,22],[12,-3],[12,-19],[-14,-16],[-5,-29],[0,-35],[6,-7],[-9,-39],[-12,-22],[-15,-5]],[[96484,37930],[-20,43],[-39,21],[-17,38],[-11,44],[22,11],[22,59],[-15,23],[-26,4],[3,23],[42,27],[18,-16],[8,-19],[-2,-94],[19,-30],[20,-67],[-1,-19],[-8,-43],[-15,-5]],[[96530,37046],[-11,5],[-8,8],[-6,12],[6,46],[24,-23],[4,-26],[-9,-22]],[[94426,39018],[-2,94],[8,35],[5,-73],[-7,-44],[-4,-12]],[[96344,43551],[-10,2],[-16,51],[12,12],[18,-4],[5,-31],[15,-21],[-24,-9]],[[96083,44042],[-13,6],[-10,-1],[-8,35],[0,17],[13,-3],[6,34],[14,17],[32,8],[28,-11],[10,-8],[-9,-31],[1,-7],[-22,-10],[-7,3],[-17,-6],[-18,-43]],[[94584,43461],[-17,11],[-14,15],[-11,46],[-23,28],[-34,12],[-14,20],[-3,9],[-24,9],[-6,25],[2,25],[3,14],[22,-13],[103,-120],[25,-37],[11,-23],[-20,-21]],[[94823,44777],[-12,13],[-37,117],[-41,50],[-5,21],[-42,68],[-28,115],[-30,203],[14,48],[-34,99],[1,26],[15,-6],[10,1],[5,12],[13,2],[69,-177],[-3,-31],[-9,-20],[-3,-60],[8,-22],[19,-11],[32,-63],[13,-77],[1,-24],[14,-35],[0,-74],[30,-103],[3,-50],[-3,-22]],[[95083,44054],[-28,14],[-22,-10],[-22,24],[-38,12],[-33,28],[-69,89],[0,45],[-11,22],[-3,55],[-25,17],[-29,3],[-2,27],[5,46],[21,-1],[26,-19],[50,-68],[12,-11],[5,-10],[35,-34],[20,5],[30,-24],[23,14],[15,-31],[36,-121],[0,-39],[24,-28],[-20,-5]],[[94875,44683],[-21,47],[-10,-17],[-9,22],[1,49],[1,51],[-4,39],[-11,56],[12,-9],[39,-152],[4,-64],[-2,-22]],[[94214,45065],[-13,7],[-16,2],[-9,21],[11,29],[15,19],[6,-5],[7,-12],[14,-4],[2,-38],[-13,-18],[-4,-1]],[[94547,45032],[-20,12],[-7,-5],[-2,4],[-4,23],[-22,23],[-19,2],[-3,28],[20,23],[16,-8],[8,1],[18,-32],[25,-47],[-10,-24]],[[94344,45423],[-20,22],[-9,19],[4,31],[12,12],[13,-21],[1,-21],[12,-34],[-13,-8]],[[93838,45369],[-20,53],[-26,14],[-19,32],[-6,64],[-2,40],[-15,7],[-42,-10],[-14,-35],[-19,11],[-4,31],[3,30],[26,30],[5,39],[26,66],[15,11],[31,-24],[3,-94],[11,-31],[31,-15],[18,-48],[20,-108],[-4,-37],[-14,-3],[-4,-23]],[[93938,45243],[-7,23],[15,64],[8,-51],[4,-20],[-14,-14],[-6,-2]],[[93891,45280],[-20,15],[-17,41],[6,48],[3,13],[8,2],[8,10],[9,22],[29,-17],[8,-12],[-18,-30],[6,-9],[4,-14],[1,-23],[-27,-46]],[[93718,45300],[-15,17],[-34,80],[6,27],[31,52],[10,6],[8,-32],[-7,-47],[-10,-12],[-5,-45],[16,-37],[0,-9]],[[93518,45769],[-9,32],[-7,10],[0,36],[-28,58],[-2,40],[16,39],[22,-23],[22,-49],[25,-16],[-5,-33],[-23,-58],[-6,-28],[-5,-8]],[[93497,45615],[-15,74],[1,36],[3,24],[5,7],[12,-81],[-3,-45],[-3,-15]],[[93652,45659],[-30,3],[-23,61],[0,45],[18,42],[22,7],[12,-16],[11,-34],[4,-45],[-3,-39],[-5,-15],[-6,-9]],[[93260,46252],[-17,19],[7,46],[10,23],[35,-41],[-7,-32],[-28,-15]],[[95275,53598],[-18,14],[-2,10],[10,10],[7,-6],[3,-28]],[[93959,54495],[-20,6],[-6,48],[-10,13],[2,24],[15,19],[30,-16],[11,-34],[-7,-23],[1,-24],[-16,-13]],[[98763,28946],[-21,11],[-8,25],[-24,25],[-4,7],[-2,50],[12,23],[2,10],[6,4],[10,-26],[19,-36],[8,-61],[2,-32]],[[98271,26228],[2,23],[7,52],[17,27],[8,2],[17,19],[-1,-43],[-12,-46],[-38,-34]],[[96303,23379],[-14,3],[-14,14],[-10,-4],[-7,5],[10,33],[33,17],[12,-14],[4,-10],[-1,-29],[-3,-15],[-10,0]],[[968,24335],[-16,1],[-7,4],[-9,42],[0,18],[19,31],[11,32],[-9,29],[-22,18],[-48,-8],[-11,6],[24,39],[26,-4],[28,28],[108,-13],[-10,-16],[-17,1],[-30,-60],[2,45],[-9,18],[-26,-5],[-4,-10],[17,-12],[4,-6],[-17,-26],[17,-56],[15,2],[14,-44],[0,-14],[-33,-17],[-17,-23]],[[1050,24208],[1,34],[-4,22],[21,7],[9,-26],[-15,-32],[-12,-5]],[[96979,19327],[-14,10],[-10,14],[-5,20],[15,-2],[14,8],[14,-7],[15,-30],[-29,-13]],[[96162,20348],[-32,14],[-9,21],[-7,5],[-12,-24],[-18,-1],[-5,8],[8,26],[44,50],[8,63],[-1,20],[35,5],[8,-8],[3,-9],[-2,-11],[-14,-20],[0,-24],[3,-25],[-11,-12],[6,-22],[6,-6],[6,-50],[-16,0]],[[96542,22470],[-9,3],[5,36],[25,33],[0,33],[7,25],[24,19],[0,33],[16,30],[-10,64],[6,58],[47,4],[53,-100],[0,-23],[-29,8],[1,-27],[23,-13],[8,-19],[24,5],[5,-28],[-5,-26],[-16,-19],[-47,-9],[-31,-37],[-26,6],[-7,-4],[-30,-39],[-34,-13]],[[88069,41096],[-15,29],[-3,30],[-12,8],[6,27],[6,8],[6,34],[16,-40],[1,-45],[7,-23],[-12,-28]],[[88012,41213],[0,49],[8,25],[4,-51],[-7,-19],[-5,-4]],[[87924,41210],[-4,3],[-3,26],[5,24],[18,5],[7,-6],[-6,-50],[-17,-2]],[[86825,43766],[-22,91],[6,29],[-9,46],[15,6],[12,35],[4,-17],[1,-65],[9,-37],[-10,-79],[-6,-9]],[[91394,38443],[-10,1],[-13,10],[12,78],[6,-41],[12,-33],[-1,-8],[-6,-7]],[[91364,38531],[-7,6],[5,25],[7,20],[10,14],[-3,-53],[-6,-9],[-6,-3]],[[90638,39520],[-18,20],[-12,52],[-21,42],[-5,24],[25,-2],[12,8],[5,10],[8,-4],[6,-56],[12,-44],[-5,-28],[-7,-22]],[[89497,44095],[-15,18],[-4,38],[2,16],[19,29],[21,-67],[-23,-34]],[[89521,44396],[-17,11],[-6,22],[6,29],[23,6],[11,-31],[-17,-37]],[[89483,44439],[-12,36],[14,41],[12,-20],[-7,-40],[-7,-17]],[[88655,40553],[-4,16],[4,52],[19,59],[18,35],[46,17],[36,26],[4,-5],[26,-66],[-38,-8],[-15,-26],[-21,-52],[-11,7],[-10,-28],[-20,-14],[-12,0],[-22,-13]],[[88727,40322],[-3,24],[14,25],[9,34],[19,-30],[3,-31],[-31,-12],[-11,-10]],[[88025,42003],[-36,12],[-32,-4],[-52,27],[-27,3],[-8,11],[16,21],[10,29],[-5,68],[4,87],[30,42],[14,43],[20,27],[13,-3],[-2,-27],[5,-46],[12,-24],[13,1],[12,55],[7,-8],[5,-13],[4,-24],[-17,-42],[-8,-6],[-7,-23],[-12,-75],[1,-25],[11,-25],[27,-24],[13,11],[5,-3],[-5,-37],[-11,-28]],[[87836,42274],[-25,12],[0,21],[3,16],[7,10],[16,43],[11,-25],[5,-50],[-10,-20],[-7,-7]],[[87923,43694],[-1,27],[10,21],[25,87],[11,20],[6,12],[5,31],[1,48],[14,7],[-11,-108],[-40,-109],[-20,-36]],[[87827,43553],[24,60],[51,53],[8,12],[-2,-25],[-26,-44],[-11,-11],[-44,-45]],[[86250,43459],[-52,38],[-51,-31],[-15,-1],[-10,23],[8,63],[19,-10],[16,23],[-3,70],[-9,38],[27,69],[12,14],[12,0],[11,-49],[2,-54],[13,-48],[8,-52],[23,-14],[10,-20],[7,-22],[1,-25],[-29,-12]],[[86374,43406],[-85,109],[-37,73],[-24,102],[-5,84],[-10,53],[4,14],[5,6],[7,-1],[25,-57],[12,-16],[16,-41],[37,-5],[45,44],[21,-18],[9,3],[33,43],[21,12],[15,31],[14,-34],[32,-39],[11,-41],[13,-20],[5,-12],[-20,-43],[-3,-47],[-21,3],[-25,-76],[-95,-127]],[[84759,41797],[-12,30],[7,59],[12,21],[10,-11],[-1,-46],[2,-16],[-18,-37]],[[84599,41330],[-10,5],[0,23],[-11,25],[6,28],[4,15],[9,-1],[3,-24],[12,-28],[-2,-26],[-11,-17]],[[82051,38109],[-19,10],[-3,23],[13,38],[22,47],[7,-29],[-3,-42],[-17,-47]],[[81432,35012],[-54,184],[-15,127],[10,22],[10,7],[32,-175],[10,-40],[0,-41],[4,-13],[10,-47],[-7,-24]],[[90875,24700],[-13,41],[0,11],[16,-11],[6,14],[4,17],[5,4],[4,25],[14,30],[8,-1],[9,-39],[3,-30],[-13,-61],[-21,10],[-22,-10]],[[91124,25163],[-6,2],[1,31],[-2,13],[13,28],[20,-13],[7,-21],[-19,-17],[1,-18],[-15,-5]],[[90936,24854],[-7,5],[-3,29],[-11,13],[6,9],[2,18],[7,21],[13,-23],[10,-72],[-17,0]],[[90207,26424],[-11,62],[12,9],[9,21],[2,-3],[-2,-40],[-10,-49]],[[89971,26702],[-6,34],[3,47],[-14,47],[8,48],[-1,51],[5,22],[16,25],[3,44],[14,2],[25,-34],[9,-87],[-4,-53],[9,-47],[-8,-40],[-21,-34],[-30,-22],[-8,-3]],[[91208,26479],[-9,37],[-29,-13],[-31,3],[-23,28],[-3,14],[14,14],[38,0],[36,30],[26,-36],[15,-39],[-20,-32],[-14,-6]],[[91140,26618],[-9,13],[-8,17],[-6,24],[-37,93],[4,26],[-8,39],[-18,-3],[-12,23],[20,23],[26,63],[18,-19],[50,-107],[25,-17],[8,-11],[-2,-47],[-11,-20],[20,-27],[-3,-17],[-4,0],[-24,-36],[-29,-17]],[[91162,26423],[-17,28],[-2,14],[21,11],[7,-2],[5,-6],[-14,-45]],[[88179,29099],[-18,32],[-48,23],[-17,-34],[-34,9],[-32,-13],[-43,8],[-46,58],[-14,27],[11,48],[16,35],[126,51],[67,42],[55,-8],[15,-9],[14,-21],[-10,-39],[-1,-10],[67,-14],[26,22],[32,-18],[22,-57],[-16,-29],[-15,-4],[-49,24],[-46,-18],[-13,-24],[-9,-53],[-40,-28]],[[90370,27709],[-15,18],[1,30],[3,13],[36,2],[17,-24],[-42,-39]],[[90376,27629],[-24,22],[-39,-5],[24,41],[20,-8],[7,-11],[10,-28],[2,-11]],[[92625,34054],[-7,3],[-9,24],[1,95],[10,59],[24,-10],[5,-8],[-24,-163]],[[92616,34279],[-12,57],[-4,57],[5,53],[14,12],[10,-5],[-11,-97],[4,-68],[-6,-9]],[[92514,35199],[-13,29],[-8,106],[6,61],[14,55],[3,31],[-6,65],[42,72],[10,39],[4,49],[-15,53],[-12,11],[10,30],[12,15],[9,6],[7,-6],[5,-105],[17,-37],[-3,-50],[-58,-267],[-16,-100],[-1,-41],[-7,-16]],[[92010,36386],[-15,20],[-42,125],[7,41],[24,-18],[10,-15],[8,2],[8,-10],[-3,-38],[13,-44],[6,-31],[-10,-24],[-6,-8]],[[91801,37245],[-7,10],[6,24],[1,34],[10,-11],[7,-46],[-9,-10],[-8,-1]],[[91636,37305],[-6,43],[1,46],[10,15],[5,-60],[0,-26],[-10,-18]],[[82579,55324],[-4,37],[2,36],[14,-3],[6,-12],[1,-44],[-19,-14]],[[82507,55097],[-16,52],[1,72],[5,20],[24,11],[0,-110],[-14,-45]],[[83275,56665],[-8,57],[24,53],[28,-21],[16,-21],[-8,-18],[-18,-31],[-34,-19]],[[83285,57211],[-8,19],[-20,14],[-1,25],[10,0],[18,24],[10,6],[6,-31],[-8,-47],[-7,-10]],[[83360,57577],[-25,8],[-14,37],[-17,64],[-9,12],[1,27],[6,17],[-3,4],[2,12],[3,8],[5,4],[13,-29],[32,-43],[6,-18],[15,-9],[11,8],[10,32],[9,-46],[22,-39],[-7,-38],[-20,-5],[-19,9],[-21,-15]],[[83322,57385],[-5,12],[-3,30],[0,20],[-20,106],[15,16],[11,-12],[12,-17],[10,-8],[10,-34],[-2,-23],[3,-23],[-10,-47],[-21,-20]],[[84038,56647],[-6,40],[5,69],[25,51],[6,17],[7,9],[8,1],[8,-20],[2,-31],[-16,-92],[-9,-15],[-7,-8],[-7,1],[-16,-22]],[[84258,56054],[-4,39],[3,53],[21,184],[-5,46],[36,103],[22,96],[32,101],[5,53],[29,100],[27,138],[-1,45],[7,23],[4,35],[0,29],[20,51],[6,-33],[-6,-66],[1,-31],[3,-15],[0,-61],[-7,-93],[7,-108],[-13,-110],[-15,-50],[-21,-35],[-24,-22],[-25,-54],[-15,-64],[-3,-59],[-39,-197],[-34,-82],[-11,-16]],[[84392,57077],[-22,1],[-8,57],[10,18],[4,3],[16,-79]],[[84478,56158],[-52,15],[-18,31],[-12,50],[-3,33],[13,37],[12,24],[42,48],[10,36],[22,44],[45,14],[4,-11],[6,-7],[9,-1],[23,-37],[25,-23],[-6,-87],[7,-29],[4,-25],[-3,-22],[-22,2],[-8,-4],[-20,-55],[-12,-14],[-66,-19]],[[84660,55852],[-31,30],[-8,25],[4,30],[15,10],[8,0],[15,-31],[5,-28],[-8,-36]],[[84337,55864],[-21,16],[-13,37],[0,14],[11,-1],[26,32],[8,6],[12,-24],[2,-62],[-25,-18]],[[83298,53469],[-15,6],[2,37],[43,57],[27,21],[23,40],[12,5],[6,-33],[6,-17],[-7,-35],[-9,-17],[-12,10],[-9,18],[-5,-27],[-24,-11],[-15,-42],[-23,-12]],[[83886,54271],[-9,1],[-22,61],[-2,26],[-18,30],[6,30],[23,8],[40,38],[64,-61],[10,-21],[-20,-14],[-14,-57],[-30,-32],[-28,-9]],[[85012,56254],[-15,46],[2,52],[21,79],[15,-69],[0,-31],[-2,-15],[14,-39],[-10,-19],[-21,-1],[-4,-3]],[[84908,56328],[-6,35],[-17,32],[-15,54],[-11,17],[7,43],[1,70],[16,32],[7,10],[11,33],[6,2],[5,-28],[-11,-87],[16,-103],[-6,-64],[3,-14],[-1,-15],[-5,-17]],[[83408,58578],[-47,58],[-1,21],[1,15],[5,9],[25,-22],[17,-41],[0,-40]],[[83889,58294],[-35,46],[-13,28],[-4,56],[14,84],[13,-15],[18,-2],[5,6],[33,-50],[-2,-25],[4,-33],[-19,-57],[-3,-19],[-11,-19]],[[83892,57643],[-15,51],[6,32],[-13,27],[-3,24],[5,32],[13,29],[3,97],[29,31],[11,1],[-4,-24],[1,-44],[-11,-108],[-22,-148]],[[83966,57876],[-5,3],[-4,31],[8,22],[3,-2],[6,-36],[-8,-18]],[[84056,57750],[-29,58],[-17,27],[-4,15],[13,22],[37,0],[19,-40],[3,-25],[-8,-43],[-14,-14]],[[84268,57996],[-26,61],[-30,42],[-31,70],[-23,25],[-6,14],[2,28],[17,6],[7,-2],[45,-123],[21,-31],[24,-90]],[[84382,57798],[-10,19],[-34,102],[-9,37],[9,24],[25,-38],[18,-93],[1,-51]],[[84456,57434],[-17,39],[-38,56],[-26,13],[-8,10],[3,30],[-17,28],[-2,12],[-15,12],[-23,63],[-16,12],[-15,-13],[-35,-94],[-37,-66],[-1,26],[15,82],[10,131],[6,40],[-8,59],[-1,52],[28,-24],[35,-25],[27,-33],[4,-22],[40,-71],[53,-70],[37,-120],[4,-92],[-3,-35]],[[84492,58488],[-33,44],[-5,34],[24,75],[0,112],[8,28],[9,20],[11,10],[23,-77],[8,-9],[22,-36],[-5,-72],[2,-41],[-14,-28],[-8,-39],[-9,14],[-12,-2],[-21,-33]],[[83936,58770],[-60,88],[-3,15],[0,14],[4,14],[60,-107],[-1,-24]],[[83869,59154],[-6,6],[3,29],[4,13],[-3,37],[-10,24],[-7,46],[-12,27],[6,44],[36,5],[17,-24],[5,-21],[-5,1],[-4,-4],[-13,-43],[14,-79],[-9,-57],[-16,-4]],[[83849,61623],[-10,11],[10,42],[0,14],[8,33],[15,11],[13,-32],[-19,-37],[-17,-42]],[[83679,61737],[-14,21],[-3,30],[1,22],[6,26],[9,-24],[2,-36],[-1,-39]],[[83758,61888],[-17,2],[-24,32],[-3,17],[1,14],[4,11],[36,-22],[3,-54]],[[83872,62530],[-8,3],[8,56],[14,15],[11,-6],[-20,-61],[-5,-7]],[[83830,62735],[2,27],[14,56],[5,-1],[3,-34],[-13,-48],[-11,0]],[[91106,47015],[-5,27],[-26,23],[-26,72],[1,63],[3,17],[15,1],[57,-71],[6,-23],[-4,-68],[-10,-37],[-11,-4]],[[90866,47250],[-26,56],[-6,21],[3,30],[32,39],[21,-36],[4,-77],[-13,-30],[-15,-3]],[[90541,47654],[-13,13],[-6,39],[5,38],[16,29],[10,9],[12,-20],[4,-40],[-9,-51],[-19,-17]],[[91067,49087],[-21,3],[-9,9],[15,6],[6,26],[7,9],[11,-21],[-9,-32]],[[90714,49162],[-8,1],[-4,32],[1,17],[20,14],[-3,50],[17,26],[29,-2],[27,17],[58,-7],[93,-38],[6,0],[-1,14],[1,4],[6,-10],[-2,-29],[-15,-6],[-13,2],[-10,-14],[-26,-54],[-18,9],[-22,-12],[-38,-2],[-50,24],[-13,-20],[-18,6],[-17,-22]],[[92951,47248],[-12,75],[-2,55],[-4,41],[-6,24],[18,45],[8,13],[13,-24],[2,-52],[11,-45],[-8,-98],[-14,-29],[-6,-5]],[[92401,48563],[-17,30],[-12,44],[8,20],[19,12],[9,-54],[-7,-52]],[[92246,48695],[-9,2],[-24,58],[-4,16],[5,14],[28,-43],[7,-17],[-3,-30]],[[92203,48794],[-1,48],[4,25],[16,-18],[2,-42],[-15,-12],[-6,-1]],[[91600,49530],[-20,11],[-6,-4],[-34,62],[0,38],[9,33],[15,-6],[25,-40],[12,-73],[-1,-21]],[[91732,48886],[-20,9],[-18,34],[-16,54],[-16,12],[-7,11],[39,40],[35,13],[56,-51],[6,-26],[0,-16],[-1,-54],[-3,-18],[-55,-8]],[[92008,44431],[-16,22],[-60,39],[-2,56],[-15,18],[-10,54],[-20,61],[-4,38],[12,-16],[12,-39],[53,-81],[-2,-26],[10,-22],[12,0],[20,44],[17,14],[11,-21],[-18,-141]],[[91758,44832],[-16,11],[-46,82],[7,61],[21,31],[31,-34],[10,-50],[3,-29],[-6,-57],[-4,-15]],[[91900,44723],[1,24],[-10,4],[-37,-1],[-28,15],[-39,4],[16,38],[4,15],[-21,60],[0,28],[1,16],[17,9],[9,-1],[39,-49],[21,15],[12,-8],[25,-56],[1,-41],[4,-36],[-1,-15],[-14,-21]],[[91978,45255],[-22,45],[10,52],[2,27],[-1,16],[-22,26],[11,44],[13,14],[7,5],[0,-61],[6,-28],[-9,-98],[5,-42]],[[92462,45006],[-30,28],[-11,7],[-3,24],[-19,40],[-35,28],[18,24],[15,6],[16,-9],[33,5],[11,-34],[16,-12],[13,-15],[12,-23],[0,-13],[-3,-12],[-7,-11],[2,-24],[-12,4],[-16,-13]],[[91911,44166],[-22,13],[-5,10],[4,30],[20,1],[7,-8],[-4,-46]],[[92811,43702],[-16,4],[-9,29],[-3,13],[27,-10],[-5,32],[38,-16],[12,-14],[-4,-32],[-10,11],[-30,-17]],[[92653,43581],[-10,21],[-39,21],[-6,38],[-19,-13],[10,27],[-25,30],[-7,41],[-1,16],[28,-19],[64,-71],[46,-31],[16,-34],[-17,-16],[-40,-10]],[[89872,45445],[-49,40],[-12,29],[57,-7],[15,-7],[3,-41],[-2,-13],[-12,-1]],[[89890,45331],[-40,35],[-39,60],[-19,16],[-13,39],[24,-29],[41,-28],[41,-68],[5,-25]],[[87808,49750],[-30,28],[-25,-5],[-21,35],[-4,54],[-21,122],[-29,-35],[-33,56],[-9,1],[-3,-9],[-14,19],[-12,38],[-1,31],[59,-23],[21,1],[21,-26],[26,13],[14,-9],[49,-90],[24,-59],[35,-51],[26,-18],[-19,-47],[-39,-24],[-15,-2]],[[87840,49349],[-10,21],[-39,21],[-51,42],[-105,50],[-5,31],[1,14],[110,-30],[29,4],[63,-11],[52,-40],[91,-7],[28,-12],[21,-27],[-51,-22],[-24,-21],[-45,-11],[-38,11],[-27,-13]],[[87476,49799],[-15,12],[-15,46],[5,34],[17,24],[15,-24],[4,-30],[11,-2],[-9,-49],[-13,-11]],[[87317,49204],[-3,26],[5,35],[5,5],[6,-2],[8,-12],[-13,-43],[-8,-9]],[[88567,45494],[-69,18],[-8,24],[-1,13],[16,24],[15,41],[24,15],[10,0],[28,-97],[-1,-31],[-14,-7]],[[87116,47924],[-33,25],[-47,52],[-3,35],[40,-53],[29,-27],[14,-32]],[[86147,49249],[-11,21],[-57,24],[-37,55],[-5,16],[71,64],[32,17],[26,-1],[33,24],[9,1],[4,-35],[16,-33],[-5,-50],[-7,-8],[4,-23],[7,-18],[-13,-12],[-10,6],[-15,-16],[-10,-23],[-32,-9]],[[86379,49675],[-34,16],[-17,36],[-12,50],[-8,40],[-2,32],[-10,39],[1,15],[62,41],[12,-15],[26,-1],[12,-30],[-8,-131],[-12,-75],[-10,-17]],[[86222,49924],[10,22],[5,21],[8,11],[12,-3],[6,7],[5,2],[7,-2],[12,8],[24,-6],[25,5],[-2,29],[28,-7],[-7,-31],[-14,-20],[-119,-36]],[[86268,50157],[-28,26],[16,22],[11,5],[9,13],[5,1],[12,-11],[7,-20],[-16,-35],[-16,-1]],[[86319,50208],[-14,31],[-3,57],[-23,-19],[-9,-20],[-7,-3],[-15,59],[-43,3],[-29,31],[14,33],[2,31],[19,17],[19,-15],[19,23],[14,-6],[10,14],[38,10],[25,15],[48,-25],[11,4],[70,-65],[11,-33],[-4,-22],[10,-29],[-22,-44],[-11,-5],[-12,16],[-22,10],[-25,-18],[-17,13],[-14,41],[-24,25],[-35,86],[-17,-3],[5,-33],[14,-23],[20,-65],[11,-7],[11,3],[16,-28],[-1,-42],[-40,-17]],[[85973,50359],[-10,34],[-28,39],[-17,66],[65,-109],[2,-29],[-12,-1]],[[85637,51677],[-10,28],[-12,127],[31,102],[40,60],[27,15],[9,1],[24,-73],[-18,-148],[-21,-75],[-26,-27],[-44,-10]],[[85402,50450],[-9,25],[-6,6],[6,64],[4,11],[5,-44],[1,-44],[-1,-18]],[[85384,50845],[-3,2],[-3,24],[5,41],[12,0],[5,-6],[1,-30],[-7,-24],[-10,-7]],[[85329,50162],[-19,1],[-4,63],[6,80],[18,14],[27,-17],[-10,-21],[8,-42],[-9,-62],[-17,-16]],[[85357,49996],[-29,16],[-8,8],[15,84],[14,-2],[12,-80],[-1,-13],[-3,-13]],[[85488,49948],[-26,30],[-7,29],[-5,10],[-35,-21],[-10,-2],[-6,39],[8,57],[-24,26],[-23,59],[-1,24],[9,41],[-1,32],[13,3],[23,-44],[11,41],[9,18],[11,-8],[32,-88],[-21,-84],[15,-47],[40,-3],[10,-18],[7,-21],[4,-29],[-10,-23],[-23,-21]],[[85433,49447],[-29,19],[-18,31],[1,32],[17,81],[37,61],[16,11],[26,-17],[45,-46],[36,-55],[32,-43],[1,-34],[-17,-24],[-8,-6],[-41,16],[-48,-3],[-50,-23]],[[87398,46700],[-54,18],[-24,38],[-21,42],[-4,17],[-25,48],[-6,16],[0,26],[20,7],[21,-1],[-1,23],[13,82],[-33,52],[-6,22],[12,15],[26,-18],[32,92],[10,19],[4,51],[18,7],[13,-7],[8,-32],[3,-27],[-3,-25],[15,-13],[13,-62],[-2,-23],[-1,-42],[5,-39],[-12,-40],[11,-59],[2,-30],[-1,-41],[-3,-19],[-8,-55],[-9,-20],[-6,-5],[-7,-17]],[[87277,46378],[-30,45],[-9,38],[13,176],[13,-6],[9,2],[2,11],[-19,20],[-4,101],[1,39],[15,8],[18,-29],[24,-54],[27,-41],[33,-33],[-4,-42],[-5,-47],[-25,-52],[-16,-80],[-9,-20],[-34,-36]],[[86901,46924],[21,120],[4,61],[20,36],[29,184],[7,-4],[10,-18],[-15,-135],[-41,-95],[-13,-98],[-22,-51]],[[86873,46948],[-11,20],[-7,0],[-4,34],[4,69],[-14,78],[19,-1],[5,-23],[6,-8],[18,-75],[1,-37],[-17,-57]],[[85753,48337],[-15,9],[-11,-1],[-10,45],[3,11],[20,-13],[7,-5],[8,-13],[0,-25],[-2,-8]],[[85663,48316],[11,58],[6,15],[24,-16],[7,-26],[-48,-31]],[[85549,48237],[-13,17],[-2,26],[1,11],[24,47],[29,8],[40,44],[18,-2],[-4,-28],[-6,-20],[-4,-21],[-1,-25],[-7,-21],[-16,-15],[-14,2],[5,21],[-4,12],[-10,-6],[-16,-16],[-20,-34]],[[84114,47111],[-22,22],[-14,-19],[-11,2],[-16,70],[0,33],[15,38],[1,26],[7,30],[17,41],[10,31],[0,19],[8,74],[2,31],[5,33],[8,67],[1,126],[26,104],[25,29],[11,4],[-2,-27],[31,-70],[6,-127],[-2,-34],[-15,49],[-6,10],[-4,-10],[-6,-5],[-8,0],[-10,-49],[-1,-47],[-8,-31],[-4,-104],[3,-28],[12,14],[7,3],[27,-40],[15,-29],[-4,-35],[-19,-36],[-21,-15],[-16,15],[-5,-7],[-9,-19],[-8,-24],[3,-25],[-19,-70],[-10,-20]],[[84032,47277],[-12,7],[-23,26],[-6,-28],[-18,1],[-6,37],[12,107],[19,41],[-2,42],[-15,90],[10,47],[43,36],[37,43],[12,9],[11,-33],[5,-154],[-40,-121],[8,-78],[-7,-39],[-15,-31],[-13,-2]],[[83882,47234],[-33,68],[-14,55],[3,32],[10,27],[5,7],[-2,29],[13,14],[15,-2],[9,-38],[11,-11],[6,-37],[-5,-128],[-18,-16]],[[84206,47963],[-19,4],[-23,47],[-6,51],[-1,19],[16,29],[52,-10],[9,-26],[-1,-42],[-27,-72]],[[85010,49008],[-17,32],[-11,91],[-10,24],[-11,86],[3,24],[14,36],[11,0],[8,-22],[-5,-92],[25,-117],[-3,-51],[-4,-11]],[[84854,49322],[-12,1],[-2,33],[-11,23],[16,21],[21,4],[55,-7],[85,14],[85,-20],[-12,-21],[-92,-34],[-33,6],[-100,-20]],[[84588,49282],[-28,1],[-25,87],[14,102],[11,16],[18,9],[50,5],[85,-41],[26,-21],[9,0],[9,25],[5,4],[12,-13],[2,-39],[17,5],[13,-14],[4,-9],[-1,-40],[-50,-7],[-36,-32],[-48,29],[-54,-50],[-33,-17]],[[84406,49289],[-17,1],[-7,45],[1,23],[18,-45],[5,-24]],[[84214,49514],[-12,23],[-2,12],[17,38],[-9,111],[-13,-21],[-34,-101],[-26,-45],[-8,23],[-14,69],[6,88],[21,60],[18,-4],[52,18],[15,-8],[6,-37],[-10,-32],[11,-60],[28,80],[27,11],[15,-14],[10,-16],[6,-30],[-10,-65],[-18,-31],[-22,-5],[-11,38],[-15,4],[-10,-83],[-5,-13],[-13,-10]],[[84188,49346],[-2,26],[4,24],[5,17],[9,8],[4,-26],[-20,-49]],[[83792,50160],[5,28],[21,42],[14,-6],[18,6],[12,-26],[-7,-31],[-9,8],[-26,-1],[-9,-2],[-12,-18],[-7,0]],[[85215,52848],[-18,5],[-2,30],[18,54],[12,57],[-13,14],[-12,37],[-1,42],[11,79],[15,-7],[14,-34],[6,-63],[10,-49],[-20,-65],[-9,-87],[-11,-13]],[[85200,52742],[-17,57],[-7,67],[14,-24],[15,-50],[-6,-25],[1,-25]],[[85231,52697],[-10,16],[-6,17],[1,18],[7,9],[14,-27],[0,-15],[-1,-11],[-5,-7]],[[84897,52489],[-34,33],[2,52],[-4,26],[-9,27],[-4,27],[4,29],[20,-37],[12,-59],[16,-56],[4,-24],[-7,-18]],[[84832,52029],[-11,70],[9,34],[12,-12],[3,-13],[-11,-33],[1,-33],[-3,-13]],[[83468,46641],[-6,35],[-2,90],[-7,44],[5,50],[-1,130],[8,60],[16,-76],[4,-39],[-6,-195],[-11,-99]],[[86657,46175],[-12,16],[-11,34],[-17,5],[-13,9],[-7,16],[47,7],[17,-58],[-4,-29]],[[86326,45524],[16,47],[52,107],[18,-20],[25,-4],[-37,-48],[-38,-20],[-12,-43],[-24,-19]],[[86474,45725],[-35,8],[-19,0],[2,45],[-10,34],[14,49],[0,57],[15,8],[2,33],[17,86],[10,20],[15,7],[17,51],[10,14],[10,39],[15,17],[-2,33],[9,18],[23,13],[16,-16],[10,-34],[-26,-41],[13,-102],[-19,-111],[-12,-33],[-23,-29],[-6,-27],[-27,-55],[-8,-46],[-2,-20],[-5,-11],[-4,-7]],[[86049,45704],[-18,4],[-34,73],[2,51],[3,16],[13,5],[43,-14],[9,-42],[-2,-38],[-16,-55]],[[85728,46201],[-20,31],[-6,12],[13,31],[14,8],[9,-13],[4,-13],[-2,-15],[1,-26],[-13,-15]],[[85561,45580],[-56,39],[-10,41],[11,13],[48,-24],[28,3],[6,-21],[-27,-51]],[[85376,45941],[5,44],[-1,35],[29,-10],[0,-29],[-3,-10],[-13,-16],[-17,-14]],[[84943,45741],[3,61],[10,38],[36,91],[31,-20],[36,-6],[40,18],[29,41],[40,21],[33,-53],[21,-3],[3,-29],[0,-13],[-33,-9],[-32,-32],[-17,-37],[-13,-48],[-44,20],[-39,3],[-18,16],[-19,-1],[-24,-15],[-35,-40],[-8,-3]],[[84882,45547],[-20,22],[22,57],[10,17],[7,6],[-19,-102]],[[84256,44347],[0,43],[20,55],[17,19],[10,-22],[1,-10],[-26,-20],[3,-44],[-25,-21]],[[84126,44008],[-8,6],[-3,52],[8,30],[60,37],[23,35],[34,72],[20,19],[5,8],[4,-1],[3,-55],[9,-33],[1,-17],[-30,-28],[-26,-64],[-59,-41],[-15,-20],[-26,0]],[[83842,44190],[-30,17],[-6,11],[25,28],[20,41],[23,3],[14,-8],[-5,-48],[-27,-37],[-14,-7]],[[84567,45468],[-18,18],[-7,17],[20,53],[-9,26],[10,41],[22,28],[18,-3],[7,-36],[22,20],[21,5],[47,-4],[35,-8],[21,-15],[2,-72],[-10,-15],[-181,-55]],[[84462,45405],[-14,64],[-24,-3],[12,56],[11,21],[16,0],[7,-22],[4,-5],[36,95],[7,1],[6,-4],[5,-12],[-5,-59],[-17,-37],[-11,-64],[-11,-19],[-22,-12]],[[84280,45384],[-23,30],[-21,-1],[-6,4],[26,55],[36,50],[6,19],[-14,5],[-8,8],[-2,12],[23,7],[16,2],[12,-16],[8,0],[48,60],[20,-14],[14,-15],[8,-20],[-39,-16],[-24,-74],[-19,1],[-11,-32],[-2,-14],[1,-14],[-2,-12],[-8,-13],[-17,20],[-16,-26],[-6,-6]],[[84248,45496],[-75,1],[2,35],[21,37],[7,12],[23,11],[33,-20],[-5,-50],[-6,-26]],[[83173,45287],[-11,9],[4,52],[-6,36],[11,28],[3,50],[5,15],[6,-15],[4,-10],[5,-5],[13,-1],[3,-22],[-1,-20],[-5,-21],[-15,-23],[-11,-26],[6,-41],[-11,-6]],[[83063,45590],[-2,23],[4,25],[12,11],[5,0],[8,-22],[2,-12],[-8,-16],[-9,-9],[-12,0]],[[82105,45255],[-22,37],[-6,16],[17,24],[6,3],[14,-26],[-1,-33],[-8,-21]],[[82026,46331],[-21,21],[0,28],[5,26],[32,14],[17,-1],[18,-18],[12,-19],[6,-21],[-34,-2],[-13,-18],[-22,-10]],[[81304,47008],[-26,1],[-5,24],[17,43],[12,3],[10,-16],[-2,-34],[-6,-21]],[[82684,52962],[-1,27],[13,7],[15,-5],[34,-40]],[[82745,52951],[9,-56],[2,-22],[-52,-30],[-31,70]],[[82673,52913],[11,49]],[[82679,52395],[-24,48],[-7,34],[3,27],[25,3],[12,-17],[-6,-75],[-3,-20]],[[82329,48317],[-17,58],[19,68],[9,14],[-1,-38],[-10,-102]],[[82247,48069],[-9,28],[5,113],[-17,69],[2,52],[11,92],[15,70],[34,47],[8,5],[-2,-85],[7,-32],[2,-27],[-3,-24],[6,-109],[4,-26],[-8,-34],[4,-28],[-59,-111]],[[80232,49487],[-10,55],[21,17],[22,-14],[-1,-33],[-32,-25]],[[80419,49711],[-13,3],[-10,22],[6,117],[7,34],[39,4],[23,-17],[12,-19],[5,-38],[-2,-24],[-12,-21],[-55,-61]],[[80232,52162],[-14,19],[22,63],[5,4],[1,-55],[-14,-31]],[[80049,52635],[-22,31],[24,38],[8,2],[6,7],[2,16],[-43,24],[-12,22],[-12,56],[0,35],[55,94],[13,10],[2,-39],[38,-98],[2,-65],[-1,-24],[-22,-87],[-38,-22]],[[79522,52301],[-19,24],[-4,45],[7,15],[13,-8],[4,-35],[-1,-41]],[[79365,52165],[-3,18],[1,30],[-2,24],[-3,18],[0,31],[11,-16],[8,-14],[10,-10],[7,-7],[4,-4],[-7,-43],[-14,-25],[-12,-2]],[[78222,51488],[-28,10],[-9,16],[-18,84],[2,71],[11,27],[26,-4],[27,39],[18,-28],[16,-49],[3,-31],[-11,-36],[-4,-56],[-33,-43]],[[78438,51040],[-15,28],[-13,41],[-6,42],[-6,69],[-2,50],[8,29],[5,-1],[23,-30],[15,-50],[9,-16],[1,-46],[-5,-52],[-1,-46],[-13,-18]],[[78471,51260],[-20,20],[-17,30],[-25,22],[-32,7],[-23,20],[-16,35],[0,17],[1,13],[5,10],[119,-68],[6,-30],[2,-76]],[[78613,50891],[-11,17],[-54,25],[-18,3],[-47,28],[-14,15],[-10,19],[3,36],[7,22],[4,60],[12,25],[23,-45],[26,-39],[15,-17],[46,-40],[16,-20],[7,-66],[-5,-23]],[[78648,50970],[-14,4],[-14,20],[-20,36],[-21,32],[-28,20],[-17,6],[-6,8],[6,62],[18,4],[58,-58],[19,-32],[28,-85],[-9,-17]],[[78658,50789],[-9,8],[4,55],[9,34],[14,-1],[16,-50],[-3,-43],[-31,-3]],[[78730,51060],[-19,8],[-13,38],[11,27],[7,10],[7,-36],[5,-15],[2,-32]],[[78730,50857],[-24,75],[6,43],[6,11],[13,-26],[10,-28],[8,-33],[-14,-34],[-5,-8]],[[78842,50929],[-25,34],[-1,25],[3,11],[15,-26],[6,-27],[2,-17]],[[78906,51058],[-28,14],[-7,19],[-2,15],[4,9],[3,30],[12,0],[7,26],[18,-26],[14,17],[-1,-22],[-3,-22],[-17,-60]],[[79048,50964],[-20,12],[-6,21],[-3,15],[3,12],[-15,14],[10,23],[-7,33],[-40,-21],[-12,0],[-2,37],[2,14],[31,47],[18,9],[20,-10],[24,22],[1,-45],[16,-21],[4,-33],[-3,-52],[-14,-61],[-7,-16]],[[78937,50948],[-22,54],[1,13],[2,9],[4,7],[13,-28],[16,-10],[4,-28],[-18,-17]],[[79082,50492],[-13,16],[-8,10],[-5,10],[-29,81],[12,-5],[32,-72],[9,-25],[2,-15]],[[79142,50280],[-59,68],[-38,-22],[-25,20],[-8,13],[14,37],[13,86],[26,-22],[6,-26],[-2,-8],[17,-16],[18,-43],[8,-10],[10,31],[19,-42],[11,-21],[15,-21],[-15,-1],[-6,-20],[-4,-3]],[[78989,50081],[-9,71],[-20,45],[12,46],[5,3],[6,-1],[6,-12],[31,40],[26,-58],[6,-20],[-13,-32],[-10,-45],[-6,-10],[-20,17],[-14,-44]],[[78779,50244],[-41,15],[5,36],[20,41],[17,-1],[31,-28],[12,-24],[-8,-18],[-36,-21]],[[80015,48560],[-22,3],[-3,32],[-7,22],[-23,26],[-6,-6],[-4,-38],[-45,-27],[-13,-2],[6,50],[-11,39],[-1,49],[-2,21],[-6,12],[11,34],[-1,38],[12,40],[7,98],[47,21],[10,-17],[56,-22],[39,-60],[21,-78],[-23,-100],[-5,-62],[-6,-24],[-24,-31],[-7,-18]],[[79842,48738],[-7,15],[-2,16],[5,21],[15,2],[7,-6],[-7,-33],[-11,-15]],[[79685,48679],[-15,6],[-11,17],[-7,15],[-2,17],[15,20],[32,-21],[-7,-42],[-5,-12]],[[79219,46524],[-13,12],[-6,16],[19,41],[10,10],[9,3],[5,-22],[-7,-47],[-17,-13]],[[77172,50806],[-38,18],[-1,27],[-22,114],[-39,64],[-16,3],[-10,65],[-20,78],[-60,141],[46,-1],[22,34],[5,27],[4,7],[34,-44],[61,-166],[24,-23],[33,-75],[8,-27],[-9,-53],[-7,-152],[-15,-37]],[[78412,47223],[-42,72],[-7,23],[12,21],[13,-1],[48,-46],[9,-23],[-10,-44],[-23,-2]],[[77906,48499],[-33,59],[1,42],[-5,27],[-20,33],[-15,42],[-7,98],[5,21],[13,1],[58,-129],[4,-22],[-1,-46],[-8,-15],[-3,-24],[11,-87]],[[77814,48800],[-33,1],[-6,29],[1,72],[-8,23],[0,9],[6,41],[6,9],[53,-100],[1,-37],[-20,-47]],[[77735,49067],[-45,52],[-22,15],[-19,57],[5,27],[1,38],[3,15],[14,6],[18,-28],[13,-68],[23,-63],[7,-35],[2,-16]],[[77519,49415],[-55,71],[-13,31],[-3,43],[-52,164],[-7,38],[20,134],[54,33],[18,-23],[6,-61],[30,-109],[10,-59],[8,-26],[3,-20],[-2,-14],[22,-70],[15,-40],[2,-66],[-30,-23],[-26,-3]],[[77332,50130],[-25,26],[9,38],[4,53],[15,41],[5,49],[-29,134],[14,4],[12,-14],[19,-89],[17,-53],[-7,-73],[-17,-89],[-17,-27]],[[77035,51688],[-29,62],[-32,35],[13,9],[27,-10],[11,-9],[10,-31],[2,-43],[-2,-13]],[[76777,51864],[-16,13],[-14,34],[-75,98],[-23,2],[-16,25],[-20,9],[-21,65],[-5,35],[16,18],[9,36],[25,-16],[28,-64],[29,-24],[8,-12],[14,-35],[66,-87],[7,-29],[5,-30],[1,-33],[-18,-5]],[[76483,53898],[-16,9],[-18,53],[6,11],[12,-6],[21,-12],[2,-20],[-1,-18],[-6,-17]],[[80932,51894],[-13,21],[-3,180],[9,16],[6,-2],[7,-33],[-1,-78],[1,-70],[3,-26],[-9,-8]],[[82522,54687],[-6,37],[1,49],[23,45],[33,9],[4,-36],[-4,-42],[-7,-21],[-27,-10],[-17,-31]],[[58930,77815],[-39,8],[-86,27],[-38,26],[-10,29],[-5,40],[21,-42],[15,-18],[104,-41],[38,-29]],[[56261,85242],[-19,13],[2,24],[-19,65],[-29,19],[-40,2],[-30,27],[113,18],[12,31],[23,32],[17,4],[15,-8],[2,-25],[4,-10],[51,-14],[20,-42],[8,-51],[-24,-4],[-23,-30],[-13,12],[-7,14],[-30,-66],[-33,-11]],[[56461,85153],[-55,42],[13,28],[15,12],[47,-18],[6,-43],[-3,-15],[-23,-6]],[[59938,88966],[-27,48],[-17,1],[-17,20],[-8,34],[15,10],[7,-6],[33,24],[24,-9],[9,-24],[3,-38],[-9,-25],[5,-20],[-18,-15]],[[61854,89980],[-55,28],[-5,21],[2,9],[22,6],[23,-8],[17,-28],[6,-20],[-10,-8]],[[57424,97065],[-75,43],[-14,38],[13,16],[36,0],[57,-52],[61,-15],[-37,-29],[-41,-1]],[[57788,97173],[-42,13],[65,34],[70,11],[11,20],[27,4],[93,2],[56,-35],[83,-4],[83,10],[14,-10],[-107,-32],[-119,17],[-107,4],[-127,-34]],[[63880,97902],[-106,45],[-9,14],[91,42],[102,-7],[16,-20],[3,-7],[-69,-38],[-5,-21],[-23,-8]],[[64286,97819],[-99,7],[-173,-4],[-100,33],[106,32],[56,8],[72,27],[89,-27],[-5,-22],[1,-12],[24,-11],[23,-17],[7,-7],[-1,-7]],[[58771,97915],[-27,15],[427,66],[22,6],[80,8],[68,-15],[-20,-11],[-287,-47],[-263,-22]],[[65958,98539],[-81,26],[-94,35],[-42,-24],[-44,-13],[-41,2],[-48,27],[-132,-21],[-40,23],[-29,49],[87,11],[104,-16],[69,50],[88,22],[70,51],[33,19],[76,-4],[25,5],[73,12],[26,-11],[14,-23],[43,-13],[117,-12],[35,-27],[-53,-19],[-143,-11],[15,-38],[29,-29],[-29,-34],[-40,-17],[-88,-20]],[[65523,98239],[-48,5],[-48,39],[-117,29],[-125,-8],[-13,16],[-25,10],[-43,3],[-86,15],[-6,35],[54,18],[35,1],[14,49],[60,75],[24,2],[209,-57],[194,5],[84,-18],[122,-51],[182,-55],[35,-16],[-31,-22],[-213,-54],[-138,-19],[-120,-2]],[[64059,98483],[-27,3],[-29,23],[-10,11],[-2,11],[26,3],[12,10],[4,9],[20,6],[34,1],[45,-12],[19,-25],[-44,-22],[-9,-14],[-39,-4]],[[66190,98320],[-97,16],[-52,57],[-96,16],[-54,60],[56,18],[68,-9],[109,51],[15,-2],[24,-12],[88,-20],[32,-11],[39,-30],[15,-34],[24,-22],[8,-39],[-20,-31],[-60,-7],[-99,-1]],[[67646,98812],[-179,8],[-86,14],[-12,8],[-4,7],[-114,12],[49,16],[142,8],[254,-19],[16,-14],[5,-8],[-37,-24],[-34,-8]],[[66101,98871],[-13,9],[-3,7],[10,15],[11,29],[42,18],[313,16],[41,-17],[-15,-26],[0,-13],[-294,-26],[-92,-12]],[[55145,98012],[-100,25],[12,26],[23,16],[64,-6],[61,-28],[-60,-33]],[[53323,96815],[-58,61],[-47,36],[-60,30],[-48,1],[-21,13],[-78,108],[-15,24],[-44,40],[-20,50],[0,38],[60,-9],[52,-24],[45,-55],[9,-17],[-21,-23],[21,-27],[27,-18],[3,-41],[45,5],[53,-44],[58,-23],[17,-16],[12,-20],[35,-41],[17,-44],[-42,-4]],[[55305,94520],[-51,35],[-33,45],[18,16],[89,3],[22,-23],[4,-14],[-16,-39],[-33,-23]],[[64761,92678],[14,-16],[4,-33],[-38,-56],[-6,-20],[16,-19],[4,-10],[-27,-8],[-5,25],[-15,25],[-32,19],[-13,18],[-14,39],[-53,41],[-34,-7],[-38,19],[-11,8],[-3,24],[16,19],[60,17],[29,-1],[31,-17],[-2,20],[3,9],[13,-3],[35,-20],[25,-44],[22,-32],[19,3]],[[64761,92678],[-1,1],[2,-1],[-1,0]],[[70732,93639],[-14,10],[-42,16],[-71,40],[-22,27],[11,31],[16,21],[58,13],[53,-5],[35,-9],[66,-27],[-61,-17],[-26,-38],[3,-24],[11,-12],[-11,-21],[-6,-5]],[[70928,93975],[9,27],[54,38],[100,19],[30,-8],[4,-6],[-42,-40],[-21,-14],[-89,-1],[-45,-15]],[[71294,93980],[-118,22],[-43,28],[16,18],[31,0],[140,-65],[-26,-3]],[[71429,93294],[-67,9],[-10,12],[9,29],[69,43],[31,28],[32,47],[56,39],[47,0],[147,-46],[21,-29],[3,-13],[-58,-39],[-41,-15],[-63,-49],[-41,-11],[-135,-5]],[[72063,93548],[-152,24],[-53,31],[-16,28],[6,25],[141,119],[54,-33],[15,-33],[36,-38],[-1,-88],[-10,-28],[-20,-7]],[[72947,94345],[-37,12],[-27,14],[-14,18],[14,11],[40,7],[24,-7],[21,-22],[6,-12],[-27,-21]],[[73169,94335],[-70,21],[-95,10],[24,22],[68,14],[101,-18],[30,-19],[-20,-11],[-14,-13],[-13,1],[-11,-7]],[[73530,94549],[-78,18],[-11,14],[42,21],[38,13],[54,2],[-32,-33],[-13,-35]],[[74146,94804],[-66,10],[-83,2],[-37,25],[20,27],[48,16],[28,16],[14,-7],[23,-11],[73,17],[14,-5],[20,-25],[-31,-47],[-23,-18]],[[72771,95051],[-20,9],[-13,32],[-45,-22],[-12,5],[-21,25],[-13,5],[-9,17],[59,50],[36,-27],[24,2],[-5,30],[1,22],[30,9],[40,2],[2,-57],[10,-19],[4,-22],[-12,-7],[-36,1],[-20,-55]],[[76749,95569],[-53,20],[-73,3],[-46,19],[-102,13],[3,28],[16,16],[59,-23],[54,26],[101,-13],[33,20],[73,-17],[22,-8],[-6,-25],[-29,7],[-38,-13],[1,-20],[-15,-33]],[[77092,95843],[-29,4],[-24,22],[-9,36],[20,10],[57,-63],[-15,-9]],[[76626,96074],[-25,10],[-24,18],[-88,-6],[-26,4],[42,23],[120,24],[188,64],[9,-31],[0,-14],[-38,-35],[-39,-26],[-9,-12],[-12,-9],[-33,7],[-65,-17]],[[74805,96198],[-34,15],[-10,10],[16,27],[23,18],[93,5],[17,-18],[-4,-15],[-42,-39],[-59,-3]],[[71335,97564],[-44,2],[-4,31],[-49,0],[-85,20],[-23,28],[-5,11],[27,12],[28,-8],[34,-22],[26,17],[248,-51],[53,-19],[11,-14],[-217,-7]],[[71971,98348],[-25,13],[-8,8],[36,45],[30,21],[164,9],[131,-15],[41,-13],[-15,-27],[-8,-8],[-88,-12],[-258,-21]],[[75339,98497],[-346,29],[-16,21],[-5,13],[47,26],[288,-9],[103,-9],[25,-25],[-96,-46]],[[79855,96716],[-38,24],[-95,-2],[-163,26],[47,17],[257,13],[18,-3],[34,-32],[-25,-29],[-35,-14]],[[79486,96799],[-36,13],[10,26],[81,5],[30,40],[51,-2],[14,-12],[8,-13],[-1,-17],[-11,0],[-48,-2],[-9,-10],[-56,-23],[-33,-5]],[[79805,96232],[-9,28],[27,34],[34,1],[29,-10],[10,-6],[10,-12],[4,-19],[-73,-15],[-32,-1]],[[81258,95763],[-38,20],[-27,32],[-40,7],[-42,32],[-9,14],[11,4],[75,-9],[32,15],[23,-13],[43,-41],[8,-25],[-13,-7],[-8,-9],[-3,-18],[-12,-2]],[[83275,93746],[-42,47],[33,18],[57,8],[31,-7],[44,-29],[7,-10],[-70,-27],[-60,0]],[[84577,94222],[-32,16],[-8,21],[0,10],[26,9],[33,-5],[25,-20],[4,-8],[-31,-22],[-17,-1]],[[87706,95131],[-81,4],[6,44],[14,19],[19,48],[-9,35],[5,44],[10,33],[23,47],[25,-28],[17,-41],[15,-20],[62,-41],[12,-12],[-52,-50],[-5,-21],[16,-28],[-20,-17],[-57,-16]],[[91221,95881],[14,17],[75,41],[191,21],[-38,-21],[-18,-41],[-15,-10],[-209,-7]],[[87811,94244],[-20,26],[-93,77],[-23,37],[-51,34],[-13,13],[-4,31],[67,-20],[113,-77],[62,-62],[-17,-42],[-21,-17]],[[88252,92785],[-27,7],[-28,24],[-15,5],[-15,-4],[-17,-10],[-22,-2],[-51,27],[-5,16],[5,8],[14,8],[10,1],[32,13],[149,5],[11,-3],[21,-24],[7,-21],[-69,-50]],[[94624,92419],[-40,9],[-19,18],[1,43],[2,6],[33,-6],[22,-24],[20,-36],[-19,-10]],[[96920,91688],[-158,55],[-56,29],[-42,37],[-48,26],[-9,10],[7,22],[14,16],[54,44],[38,20],[45,4],[283,-78],[12,-16],[4,-14],[-4,-32],[-24,-5],[-9,-21],[-10,-63],[-5,-16],[-13,-12],[-79,-6]],[[95408,85135],[-7,9],[-4,12],[-1,20],[41,36],[42,94],[16,78],[-5,25],[-2,25],[123,48],[87,78],[16,-4],[15,-64],[9,-84],[-12,-51],[-94,-28],[-88,-56],[-91,-83],[-45,-55]],[[96688,82767],[-112,109],[-52,58],[-13,36],[19,1],[23,-35],[32,-17],[48,-47],[44,-74],[11,-31]],[[96289,82874],[-34,44],[-16,35],[-23,7],[-16,15],[-26,43],[-31,55],[-10,28],[-4,35],[-21,32],[-67,62],[22,7],[28,27],[78,-17],[18,-7],[-13,-41],[5,-46],[43,-94],[21,-33],[28,-25],[20,-41],[-2,-86]],[[93434,80469],[-11,3],[-36,37],[-8,18],[13,31],[45,46],[22,-2],[9,-9],[-1,-55],[-22,-55],[-11,-14]],[[93165,80118],[-30,11],[-13,20],[0,70],[-13,31],[6,20],[30,-3],[30,45],[69,19],[25,48],[31,120],[33,43],[26,9],[8,-60],[-7,-66],[-15,-64],[-35,-89],[-35,-59],[-52,-15],[-25,-18],[-19,-41],[-14,-21]],[[92789,79346],[-12,10],[-2,10],[27,35],[10,43],[20,0],[8,-7],[-6,-21],[-35,-39],[-10,-31]],[[93208,80573],[-11,16],[-8,19],[-5,26],[29,13],[19,-14],[4,-39],[-2,-14],[-26,-7]],[[92514,78734],[-14,5],[-5,8],[18,41],[8,7],[6,-27],[-13,-34]],[[92170,78190],[-17,1],[-9,24],[-2,14],[42,9],[48,87],[35,56],[19,20],[16,-1],[-80,-145],[-52,-65]],[[91538,77481],[-26,2],[61,146],[36,21],[46,86],[97,106],[11,8],[56,-3],[-88,-116],[-11,-47],[-39,-50],[-28,-16],[-20,-23],[-54,-84],[-41,-30]],[[90804,76778],[10,65],[11,31],[47,58],[3,61],[26,53],[51,53],[35,69],[28,18],[31,58],[32,21],[-3,44],[14,49],[11,-3],[26,-69],[20,-2],[54,14],[80,120],[26,22],[19,3],[11,-10],[4,-14],[-1,-18],[-6,-25],[10,-30],[-13,-23],[-53,-4],[-52,-42],[-42,-17],[-71,-87],[-26,-48],[-36,-18],[-35,11],[-10,-20],[-3,-34],[-13,-30],[-70,-94],[-29,-73],[-30,-14],[-56,-75]],[[91808,85430],[-11,16],[-1,11],[34,26],[21,37],[13,-22],[4,-16],[-38,-46],[-22,-6]],[[88238,82850],[-37,102],[-18,28],[-52,-48],[-12,-1],[12,60],[30,65],[15,9],[30,87],[9,20],[93,-51],[8,-11],[25,-23],[39,4],[10,-16],[-31,-25],[-22,-53],[-7,-48],[-9,-19],[-25,-23],[-22,-31],[-19,-20],[-17,-6]],[[88046,83010],[-18,22],[-39,-9],[-14,6],[23,32],[55,49],[23,0],[22,9],[6,-4],[-34,-103],[-24,-2]],[[90744,76371],[-20,14],[1,33],[2,10],[57,28],[16,-19],[4,-14],[-51,-36],[-9,-16]],[[90431,76340],[-32,43],[-4,43],[10,36],[57,76],[23,43],[7,34],[22,38],[10,33],[14,14],[48,135],[26,-2],[42,-43],[58,10],[-14,-39],[-22,0],[-39,-56],[-34,-7],[-17,-14],[-55,-84],[-8,-33],[-33,-64],[-50,-56],[-9,-107]],[[84495,64888],[-14,8],[-14,52],[10,20],[14,-10],[11,4],[25,76],[7,-13],[-9,-30],[-16,-93],[-14,-14]],[[84395,64847],[-21,11],[-19,2],[0,18],[20,18],[0,26],[5,13],[46,-31],[-2,-22],[-11,-26],[-18,-9]],[[84821,65115],[-25,9],[4,82],[9,-11],[5,-28],[19,-17],[12,-20],[-24,-15]],[[85458,65931],[-1,35],[2,27],[20,64],[0,75],[19,8],[7,11],[29,53],[6,23],[-16,22],[1,26],[4,11],[24,-9],[10,-19],[5,-2],[14,14],[6,26],[27,51],[11,50],[21,-41],[-6,-54],[-14,-41],[-27,-27],[-10,-32],[-25,-11],[-24,-46],[-23,-8],[0,-37],[10,-31],[-15,-5],[-17,-38],[-1,-28],[6,-22],[-1,-11],[-20,-33],[-22,-1]],[[85820,66883],[-15,15],[-5,68],[7,33],[12,7],[11,-58],[7,-25],[-5,-29],[-12,-11]],[[85934,67135],[-25,44],[-31,29],[15,7],[8,12],[1,18],[20,28],[40,21],[12,1],[14,20],[5,18],[6,9],[25,24],[7,-28],[-1,-22],[-19,-13],[-19,-29],[-17,-37],[-16,-16],[-5,-10],[4,-28],[-24,-48]],[[85924,67108],[-27,11],[-11,55],[18,-10],[6,-19],[12,-23],[2,-14]],[[86251,68387],[-17,14],[-16,73],[30,46],[41,-45],[8,-13],[-14,-62],[-32,-13]],[[86353,68473],[-1,35],[19,77],[2,57],[18,72],[8,16],[6,5],[6,-22],[-7,-88],[-18,-67],[-9,-78],[-24,-7]],[[85763,69777],[-16,11],[-10,14],[-2,20],[5,72],[10,-16],[16,9],[13,2],[9,-8],[11,-41],[4,-24],[-20,-4],[-9,-5],[-11,-30]],[[86111,69544],[-3,21],[-9,9],[16,28],[0,13],[-11,19],[12,73],[-3,31],[44,12],[8,-29],[1,-90],[-33,-66],[-22,-21]],[[86192,69678],[-11,7],[-4,19],[35,38],[26,-7],[-11,-35],[-11,-20],[-24,-2]],[[87034,71898],[-24,7],[-14,32],[5,36],[25,28],[23,-56],[-3,-25],[-12,-22]],[[88402,72877],[-7,6],[16,15],[1,24],[10,44],[0,13],[-21,2],[1,49],[16,49],[43,78],[11,14],[2,-34],[-13,-79],[-3,-29],[34,-6],[-22,-96],[-42,-48],[-26,-2]],[[88738,75399],[-7,5],[-6,44],[5,24],[18,16],[17,5],[-14,-82],[-7,-9],[-6,-3]],[[89175,77291],[-14,56],[-3,60],[8,-1],[16,-9],[3,-29],[1,-40],[-11,-37]],[[89229,77198],[-23,24],[-3,31],[17,25],[16,-9],[16,-32],[5,-17],[-9,-18],[-19,-4]],[[88839,70049],[-13,19],[-2,17],[2,11],[9,2],[18,-21],[-9,-22],[-5,-6]],[[88734,71017],[-15,6],[-7,18],[1,33],[16,0],[8,-29],[-3,-28]],[[87450,70734],[-26,4],[-13,23],[-4,27],[25,44],[21,62],[19,28],[16,15],[12,0],[-27,-87],[7,-65],[-30,-51]],[[85847,69921],[-9,53],[-6,19],[10,10],[21,97],[4,-38],[8,-38],[8,-6],[-8,-28],[-12,-10],[-9,-53],[-7,-6]],[[85935,70126],[13,33],[2,15],[11,44],[21,16],[9,2],[-17,-46],[-5,-36],[-19,-28],[-15,0]],[[86034,70441],[-14,19],[7,53],[5,17],[16,-17],[6,-48],[-20,-24]],[[85892,70663],[-8,37],[8,104],[34,-21],[0,-32],[-16,-64],[-18,-24]],[[85934,70795],[-19,20],[-8,19],[17,89],[-2,34],[1,17],[35,47],[6,-9],[2,-13],[-3,-20],[2,-45],[-27,-73],[2,-37],[-6,-29]],[[86818,70659],[-24,7],[10,20],[7,25],[6,5],[4,-27],[5,-7],[-8,-23]],[[86766,70524],[-26,14],[-16,1],[-2,32],[2,12],[16,-1],[13,-22],[32,9],[4,-6],[-9,-20],[-14,-19]],[[82897,64935],[-38,13],[-2,24],[14,-4],[19,31],[12,-39],[-5,-25]],[[82818,64948],[-16,6],[0,25],[-4,8],[5,23],[3,7],[18,-20],[4,-13],[-10,-36]],[[85734,71051],[-35,49],[-8,27],[26,40],[23,45],[15,3],[6,-128],[-27,-36]],[[85550,71031],[-11,37],[-13,-18],[-6,0],[-10,46],[-2,36],[23,28],[14,-17],[20,-8],[8,-43],[-3,-58],[-20,-3]],[[85496,70960],[-14,28],[14,30],[3,-39],[-3,-19]],[[85077,70141],[-11,8],[-3,6],[-14,34],[-4,18],[10,33],[38,55],[99,52],[18,3],[39,-23],[9,-42],[-7,-37],[-9,-24],[-46,-41],[-35,-20],[-71,-9],[-13,-13]],[[85046,70825],[-10,20],[-7,5],[4,27],[29,53],[6,18],[27,-11],[10,-28],[-13,-42],[-28,-33],[-18,-9]],[[85142,72750],[-15,3],[-10,8],[-5,15],[-10,73],[11,30],[23,-24],[8,-27],[-2,-78]],[[83827,69112],[-72,51],[-51,55],[-31,68],[-4,28],[35,-5],[35,-24],[8,-37],[14,-12],[9,-22],[65,-50],[10,-15],[5,-20],[-23,-17]],[[83966,68211],[-34,34],[-37,7],[-13,30],[-2,47],[39,-2],[48,-42],[11,-22],[-8,-40],[-4,-12]],[[83935,68043],[-24,39],[-11,6],[5,22],[16,5],[13,-48],[2,-13],[-1,-11]],[[83998,68153],[-8,4],[-10,49],[6,12],[14,-3],[0,-34],[-2,-28]],[[83262,65526],[-13,13],[0,36],[7,33],[-8,24],[7,29],[16,8],[5,-18],[9,-9],[3,-10],[0,-18],[-9,-31],[7,-17],[-3,-13],[-21,-27]],[[80695,62893],[-23,24],[-23,-6],[-16,2],[-5,14],[13,30],[21,11],[10,-21],[28,15],[5,-26],[-1,-13],[-9,-30]],[[79849,62967],[-15,1],[13,84],[7,20],[24,-29],[11,-2],[-40,-74]],[[79851,62854],[-19,1],[22,29],[12,36],[9,13],[-1,-32],[-8,-32],[-15,-15]],[[79719,62760],[-22,48],[11,26],[26,-18],[5,-12],[0,-10],[-6,-23],[-3,-8],[-11,-3]],[[79681,62792],[-14,28],[-10,12],[8,38],[16,-41],[3,-26],[-3,-11]],[[79607,55614],[-6,12],[26,39],[-3,-26],[1,-13],[-10,-11],[-8,-1]],[[78893,56413],[-18,127],[-24,54],[-5,22],[14,-2],[24,35],[12,0],[10,-22],[5,-29],[-2,-69],[-11,-68],[4,-29],[-9,-19]],[[78613,57151],[-5,9],[1,34],[3,21],[9,4],[2,-62],[-5,-6],[-5,0]],[[78496,57327],[-15,25],[3,32],[7,14],[10,-9],[-5,-62]],[[78452,57560],[-14,10],[-5,-5],[-17,4],[-8,82],[2,19],[11,-6],[17,-40],[8,-29],[5,-21],[1,-14]],[[78838,51221],[-47,36],[15,58],[32,14],[25,-19],[14,-14],[10,-16],[-7,-20],[-42,-39]],[[78936,52083],[-7,5],[-5,23],[11,53],[4,9],[11,-58],[0,-25],[-14,-7]],[[77850,53592],[-20,9],[4,97],[11,13],[18,-18],[8,-17],[-14,-68],[-7,-16]],[[77706,54182],[-11,44],[-13,17],[-3,31],[18,5],[10,-10],[20,21],[8,12],[19,-64],[-9,-28],[-5,-8],[-12,9],[-11,-24],[-11,-5]],[[77678,54332],[-10,47],[13,70],[13,-85],[-11,-29],[-5,-3]],[[77795,56206],[-11,19],[-8,21],[-4,27],[17,-1],[8,-25],[1,-31],[-3,-10]],[[77767,56053],[-9,32],[2,50],[4,12],[25,-2],[8,5],[1,-33],[-6,-40],[-25,-24]],[[77383,55162],[-14,113],[20,-30],[-3,-73],[-3,-10]],[[77304,55078],[-10,89],[11,124],[6,18],[8,-33],[23,-14],[-10,-72],[3,-37],[-3,-44],[-11,1],[-12,-28],[-5,-4]],[[77291,55827],[2,33],[4,20],[8,6],[3,-35],[-1,-17],[-16,-7]],[[76063,54469],[-33,150],[-15,9],[0,71],[8,28],[38,32],[10,-18],[20,-138],[-11,-85],[-17,-49]],[[76010,54773],[-12,34],[5,23],[11,13],[11,19],[11,-32],[-26,-57]],[[75880,55336],[-15,4],[-15,34],[4,31],[6,13],[12,-59],[8,-23]],[[75934,55138],[-6,25],[-9,26],[6,26],[12,6],[16,-41],[4,-29],[-1,-13],[-22,0]],[[75969,55222],[-4,3],[-1,17],[-1,12],[-2,21],[-2,38],[11,31],[10,-7],[-5,-32],[7,-61],[-13,-22]],[[75761,55881],[-7,20],[-1,24],[7,15],[6,8],[7,-2],[7,-40],[-6,-22],[-13,-3]],[[75686,56704],[-29,16],[3,61],[-7,60],[5,25],[21,42],[18,19],[12,-58],[5,-56],[-20,-89],[-8,-20]],[[75734,57202],[-14,15],[11,24],[2,49],[13,-27],[0,-31],[1,-18],[-13,-12]],[[75850,57521],[-22,36],[-8,25],[11,17],[6,3],[13,-81]],[[75745,58054],[-1,83],[4,10],[4,3],[6,-8],[-4,-49],[-9,-39]],[[75749,57292],[-9,15],[-25,107],[-5,68],[-7,24],[9,33],[12,12],[6,38],[3,58],[10,48],[5,13],[20,0],[6,6],[-3,46],[-12,20],[-4,12],[0,109],[3,44],[8,32],[-6,65],[4,25],[15,34],[7,74],[-6,21],[14,114],[-1,75],[19,76],[29,34],[9,1],[1,-64],[3,-22],[-17,-38],[16,-50],[-2,-18],[-6,-39],[-11,-39],[-15,-16],[-11,-52],[-7,-19],[22,-55],[7,-184],[-16,-51],[-19,-10],[4,-123],[-3,-28],[-19,-61],[-4,-26],[-11,-25],[5,-31],[9,-13],[0,-26],[-8,-65],[-1,-74],[-11,-61],[-7,-14]],[[77366,56964],[-6,3],[-6,9],[14,64],[4,-75],[-6,-1]],[[77297,56834],[-6,3],[-9,55],[-17,36],[-21,-7],[17,45],[7,10],[12,-16],[23,-102],[-3,-16],[-3,-8]],[[77259,56322],[-5,1],[6,58],[23,41],[19,4],[-2,-26],[-14,-32],[-14,-12],[-13,-34]],[[77282,57258],[-2,1],[-7,9],[4,56],[11,46],[11,67],[6,15],[2,-36],[-7,-76],[-5,-42],[-12,-27],[-1,-13]],[[77353,57521],[-5,96],[3,13],[16,-46],[24,-29],[-9,-19],[-17,-12],[-12,-3]],[[77245,57365],[-18,35],[-3,98],[14,-62],[6,-14],[-2,-24],[3,-33]],[[77368,57307],[-17,17],[-9,0],[-10,69],[0,19],[-6,45],[41,8],[8,-36],[-7,-122]],[[77256,57666],[-4,2],[-10,10],[-10,40],[5,28],[4,7],[10,-2],[4,-5],[2,-11],[-3,-22],[1,-19],[4,-24],[-3,-4]],[[77222,57746],[-14,25],[-4,15],[15,28],[15,-4],[4,6],[2,-5],[-2,-21],[-16,-44]],[[77309,57780],[5,104],[-9,59],[3,39],[24,-18],[4,-29],[7,-16],[9,0],[-3,-58],[-22,-71],[-13,-10],[-5,0]],[[77307,58134],[-14,47],[-2,54],[1,50],[3,8],[1,-8],[8,-22],[5,-31],[-2,-98]],[[77093,60093],[-16,38],[-3,92],[13,22],[7,5],[11,-12],[3,-15],[2,-18],[-3,-19],[-4,-86],[-10,-7]],[[77528,54898],[-10,14],[-8,31],[0,46],[2,6],[9,-26],[7,-71]],[[76328,59828],[-11,11],[-3,6],[26,66],[3,-25],[-9,-43],[-6,-15]],[[76225,59860],[-7,87],[30,48],[14,46],[15,31],[5,-38],[-14,-72],[-25,-44],[-18,-58]],[[76020,61535],[-29,50],[-23,64],[36,13],[35,-14],[1,-34],[-8,-55],[-8,-18],[-4,-6]],[[75975,62175],[-19,30],[-7,43],[-2,43],[22,-35],[6,-81]],[[75839,62219],[-13,23],[-18,78],[1,51],[12,-24],[14,-72],[4,-56]],[[76059,61905],[-16,16],[-7,53],[-19,26],[-6,21],[13,29],[7,8],[32,-49],[13,4],[19,-31],[1,-13],[-4,-25],[-9,-20],[-24,-19]],[[75510,63357],[-5,35],[4,45],[4,25],[3,-1],[6,-25],[-2,-31],[-10,-48]],[[75524,63211],[-8,17],[4,25],[-5,79],[14,9],[7,-1],[5,-23],[3,-43],[-3,-61],[-17,-2]],[[75289,63567],[10,246],[22,-92],[6,-48],[-8,-64],[-30,-42]],[[75419,63714],[-12,15],[-16,58],[8,73],[5,10],[7,-23],[11,-51],[7,-39],[3,-26],[-13,-17]],[[75182,64050],[-15,15],[-12,18],[-7,23],[12,12],[18,-43],[4,-25]],[[75167,63537],[-25,7],[46,155],[-1,70],[-7,56],[-24,46],[-1,32],[-11,45],[-5,52],[26,17],[21,-30],[3,-17],[4,-42],[11,-45],[36,-91],[0,-56],[-10,-136],[-15,-42],[-48,-21]],[[72196,56170],[-14,40],[-3,17],[3,11],[4,6],[5,-2],[6,-36],[16,-29],[-17,-7]],[[72195,55788],[-23,31],[-15,26],[-6,20],[32,-23],[4,-9],[8,-45]],[[47487,92435],[-15,14],[37,36],[124,68],[49,65],[95,22],[6,-36],[-6,-45],[-84,-36],[-92,-24],[-89,-60],[-25,-4]],[[6771,61706],[-16,2],[-55,61],[-7,33],[4,152],[-21,124],[-23,94],[17,48],[22,38],[25,70],[-21,91],[6,55],[11,9],[59,-66],[117,-100],[31,-71],[6,-75],[21,-10],[11,-51],[30,-46],[11,-26],[-13,-41],[-56,-80],[-72,-35],[-62,-90],[-13,-57],[-12,-29]],[[6428,62946],[-45,24],[-75,9],[3,24],[7,16],[1,30],[10,-9],[59,-16],[14,7],[10,-13],[48,-9],[9,-5],[-10,-30],[-31,-28]],[[6581,62675],[-28,4],[-8,7],[-3,52],[-9,57],[-17,-7],[-20,19],[-21,47],[-2,28],[11,45],[20,6],[15,-25],[12,-35],[8,-11],[29,16],[22,6],[35,-39],[13,-27],[23,-29],[8,-20],[-6,-25],[-26,-42],[-36,-10],[-20,-17]],[[5500,63385],[-10,4],[-2,23],[6,32],[16,28],[18,42],[14,-6],[-8,-28],[-1,-30],[-20,-17],[-8,-22],[-5,-26]],[[6167,63072],[-14,13],[-15,29],[-15,-8],[-3,24],[-3,7],[-11,-7],[10,-30],[-27,-3],[-9,4],[-7,35],[-28,66],[0,26],[-10,31],[42,9],[28,54],[16,6],[31,-88],[0,-24],[6,-24],[9,-9],[9,-3],[13,4],[4,-48],[14,-26],[5,-15],[-15,-17],[-30,-6]],[[5705,63432],[-14,14],[-27,5],[-10,25],[-29,23],[-11,31],[17,58],[41,49],[63,-2],[14,-39],[1,-29],[-8,-32],[-4,-46],[-8,-24],[-25,-33]],[[6414,62761],[-18,8],[-4,40],[-17,52],[30,10],[17,-15],[9,-16],[11,-28],[-11,-34],[-17,-17]],[[99798,80906],[-97,97],[-50,30],[-28,34],[13,7],[60,-24],[49,-52],[27,-34],[31,-29],[34,-12],[10,-17],[-49,0]],[[99900,81207],[-26,8],[-15,23],[2,28],[34,30],[43,-38],[-15,-36],[-23,-15]],[[99257,81184],[-19,25],[-3,12],[36,43],[28,9],[11,16],[12,55],[20,2],[10,-7],[-5,-25],[-16,-40],[0,-27],[-50,-38],[-24,-25]],[[98237,81489],[-11,21],[-60,8],[6,19],[26,9],[39,31],[33,-6],[-9,-28],[-6,-52],[-18,-2]],[[98037,81724],[-45,26],[-15,53],[-35,13],[-28,18],[51,41],[37,3],[48,-19],[33,9],[41,-31],[52,-54],[-12,-10],[-13,-6],[-12,0],[-40,-9],[-22,3],[-40,-37]],[[2158,86195],[-46,19],[-66,-2],[-90,80],[-32,18],[7,44],[35,23],[17,-60],[33,-28],[60,-39],[39,4],[30,-33],[13,-26]],[[2704,84321],[-26,11],[-7,20],[-1,9],[75,23],[-12,-35],[-29,-28]],[[5460,83209],[-38,30],[-10,14],[7,11],[36,3],[9,-11],[-4,-47]],[[5335,83141],[-9,18],[-6,81],[2,14],[14,28],[18,13],[8,-4],[7,-11],[1,-12],[-5,-26],[4,0],[9,4],[18,34],[6,1],[0,-10],[-8,-33],[14,-44],[13,-22],[-1,-7],[-34,-15],[-25,11],[-14,-4],[-12,-16]],[[4911,82962],[-20,18],[-7,14],[-5,21],[39,30],[8,1],[8,-17],[1,-14],[-11,-38],[-7,-12],[-6,-3]],[[4822,82688],[-26,13],[-22,25],[-2,30],[49,-19],[10,-9],[15,-27],[-24,-13]],[[5724,83036],[-8,6],[-10,34],[-1,14],[20,-10],[7,-25],[1,-16],[-9,-3]],[[5492,83010],[18,52],[3,16],[0,11],[-5,39],[10,-1],[9,8],[18,35],[16,3],[17,41],[9,3],[4,-5],[-7,-25],[16,-24],[-4,-22],[-5,-9],[-17,-13],[-5,-17],[-13,-7],[-11,-13],[-37,-61],[-16,-11]],[[5662,83089],[-9,11],[4,16],[-1,13],[11,1],[3,23],[-2,10],[6,21],[8,5],[8,-44],[-1,-47],[-4,-7],[-8,12],[-15,-14]],[[2855,81748],[-43,12],[-29,-4],[-3,14],[3,12],[45,19],[18,1],[12,-10],[5,-12],[-4,-24],[-4,-8]],[[2556,81604],[-5,7],[-3,23],[10,18],[30,39],[21,-7],[6,-10],[0,-15],[-8,-20],[-10,-9],[-12,-1],[-11,-6],[-18,-19]],[[3879,82491],[-6,4],[-13,36],[-1,18],[5,14],[13,13],[21,12],[21,-2],[35,-33],[17,-19],[3,-12],[-12,-11],[-29,-6],[-11,-11],[-8,-2],[-7,6],[-28,-7]],[[3999,82540],[-3,6],[-2,26],[-9,41],[18,15],[11,4],[4,-7],[13,-31],[13,-8],[9,-6],[-16,-10],[-26,-26],[-12,-4]],[[3031,81771],[4,19],[28,27],[18,25],[20,40],[11,15],[4,21],[1,41],[5,15],[20,31],[14,17],[18,6],[38,-5],[16,15],[4,12],[-9,11],[-2,19],[2,33],[11,29],[19,25],[27,20],[33,14],[24,0],[44,-29],[7,-14],[-11,-30],[-6,-28],[-28,-25],[-85,-63],[-28,-47],[-21,-44],[-16,-25],[-12,-4],[-14,-12],[-28,-31],[-12,-4],[-90,-73],[-6,-1]],[[3436,82024],[-11,1],[-31,23],[-8,14],[28,28],[20,10],[30,4],[29,26],[61,34],[19,18],[12,65],[14,11],[8,26],[33,0],[16,-30],[5,-3],[3,2],[2,24],[17,16],[-10,12],[-31,15],[-23,7],[-15,-1],[-13,9],[-9,17],[-5,18],[1,18],[8,19],[14,22],[17,12],[36,9],[32,14],[17,3],[13,-7],[3,-56],[12,-28],[21,18],[15,24],[12,32],[7,12],[11,-16],[29,-23],[-25,-35],[-47,-52],[-16,-35],[-1,-15],[46,11],[13,-1],[8,-12],[-13,-14],[-25,-13],[-21,-25],[-50,-43],[-19,-36],[-23,-14],[-30,-3],[-54,-24],[-32,-22],[-8,-12],[-11,-5],[-12,0],[-13,-9],[-14,-20],[-12,-10],[-19,-2],[-11,-8]],[[3827,82297],[-7,15],[-1,13],[5,10],[13,23],[9,8],[11,4],[3,-6],[-10,-27],[-12,-18],[-7,-20],[-4,-2]],[[2072,81431],[-22,9],[10,31],[11,17],[21,20],[24,-9],[19,-26],[-42,-34],[-21,-8]],[[1816,81303],[-58,12],[-46,-8],[-12,3],[-14,11],[-16,19],[-1,11],[15,5],[40,-16],[4,8],[34,15],[29,-4],[54,-24],[68,3],[25,-6],[0,-7],[-43,-10],[-15,3],[-38,-13],[-26,-2]],[[1329,81275],[-22,16],[22,10],[27,5],[56,28],[69,24],[54,29],[47,19],[13,32],[-41,15],[-8,13],[19,15],[16,21],[39,25],[34,-31],[8,-21],[-4,-25],[-7,-26],[-30,-14],[-4,-13],[16,-39],[-62,-34],[-93,-25],[-149,-24]],[[1085,81154],[-31,26],[3,31],[34,-26],[18,-18],[-24,-13]],[[1014,81120],[-13,16],[-5,48],[10,12],[27,-35],[-2,-6],[-17,-35]],[[844,81043],[24,111],[28,17],[11,12],[-3,33],[13,54],[28,-3],[13,-22],[0,-15],[-12,-31],[2,-20],[32,3],[10,-10],[0,-39],[-5,-11],[-4,-3],[-12,8],[-13,-19],[-59,-49],[-18,27],[-35,-43]],[[1099,81262],[-28,19],[-9,15],[-2,15],[8,26],[22,0],[12,-10],[12,-20],[4,-12],[-13,-15],[-6,-18]],[[651,81087],[-4,14],[1,12],[92,33],[22,17],[13,21],[12,40],[10,13],[6,-1],[13,-16],[-5,-21],[-11,-18],[-4,-17],[-4,-54],[-8,-7],[-15,-6],[-42,6],[-26,-2],[-28,-4],[-22,-10]],[[576,81051],[-37,33],[-5,11],[22,16],[6,12],[-3,15],[-16,22],[-30,28],[-11,20],[7,13],[14,7],[45,2],[25,-35],[18,-12],[43,-8],[-22,-14],[-13,-14],[-15,-55],[-15,-21],[-6,-20],[-7,0]],[[70406,18963],[-14,22],[-22,69],[-14,5],[-8,19],[-1,8],[15,6],[23,-20],[55,-16],[40,-38],[30,-13],[-12,-10],[-24,-4],[-34,-28],[-34,0]],[[69227,21402],[-5,19],[1,26],[-10,20],[-5,23],[4,21],[28,2],[28,-6],[8,-36],[-21,-50],[-11,-14],[-17,-5]],[[64378,22953],[-18,12],[-11,33],[23,27],[12,-19],[9,-21],[5,-27],[-20,-5]],[[60503,22649],[-56,9],[-6,23],[17,35],[9,15],[29,-8],[24,-29],[4,-9],[-9,-25],[-12,-11]],[[57713,71745],[-6,1],[-9,28],[12,66],[-11,43],[-1,18],[17,25],[11,37],[27,41],[72,48],[17,4],[-1,-38],[-24,-95],[-21,-47],[6,-38],[-34,-11],[-34,-70],[-21,-12]],[[57538,71449],[-11,28],[5,32],[-13,52],[24,76],[0,37],[18,19],[-4,-63],[-14,-50],[14,-42],[7,-48],[-16,-8],[-10,-33]],[[57732,72118],[-14,27],[0,14],[14,16],[7,4],[2,-11],[0,-24],[-3,-17],[-6,-9]],[[57477,72359],[5,47],[-13,37],[21,-21],[14,-25],[7,-5],[-2,-15],[-4,-10],[-28,-8]],[[57477,72229],[10,29],[29,39],[43,34],[14,4],[24,-21],[-44,-36],[-12,-18],[-32,-4],[-24,-26],[-8,-1]],[[57071,72350],[-17,32],[-10,51],[46,75],[11,-7],[6,-19],[-1,-67],[-10,-43],[-25,-22]],[[56999,72386],[-18,5],[-8,21],[12,43],[24,25],[11,-7],[-1,-32],[2,-9],[-22,-46]],[[57065,72001],[-18,11],[7,12],[5,15],[0,22],[-5,14],[3,5],[17,-23],[4,-25],[-13,-31]],[[57045,72189],[-21,38],[-8,21],[10,19],[31,-43],[-7,-26],[-5,-9]],[[57456,72773],[-15,8],[-19,28],[-30,3],[-9,8],[16,34],[29,17],[23,1],[34,-19],[9,2],[16,-7],[5,-36],[-22,-5],[-37,-34]],[[57217,72703],[4,24],[25,41],[34,2],[32,20],[7,1],[-15,-32],[-25,-31],[-49,-23],[-13,-2]],[[57158,72263],[-8,4],[15,10],[11,11],[5,13],[25,23],[16,30],[18,-20],[-23,-14],[-34,-53],[-25,-4]],[[57314,72102],[-17,21],[0,29],[18,-9],[13,16],[-4,18],[15,-8],[11,-23],[-22,-14],[-14,-30]],[[56746,72704],[-3,44],[12,45],[16,3],[6,-20],[-12,-43],[-19,-29]],[[56771,72578],[6,41],[-8,21],[7,18],[10,15],[5,-15],[9,-25],[-13,-37],[-16,-18]],[[56757,72188],[5,39],[3,13],[19,-19],[7,10],[3,11],[21,10],[0,-35],[-1,-13],[-57,-16]],[[56927,72622],[-8,1],[-4,9],[0,24],[3,37],[10,-9],[-1,-62]],[[56933,72802],[-21,46],[-24,32],[-9,27],[-14,17],[-4,37],[17,16],[8,1],[18,-45],[28,-5],[-2,-28],[8,-36],[4,-22],[-9,-40]],[[57005,72709],[-18,5],[-29,42],[-10,18],[-5,19],[12,2],[14,-20],[37,-10],[9,-18],[-10,-38]],[[56861,72342],[-7,25],[-2,24],[3,13],[10,2],[13,-45],[-12,-16],[-5,-3]],[[57221,73080],[-29,48],[-5,16],[21,19],[11,30],[-8,37],[-31,55],[-1,39],[46,16],[27,-33],[14,-3],[-5,-32],[2,-10],[2,-99],[-13,-13],[-2,-27],[-2,-10],[-27,-33]],[[57352,73560],[-22,1],[-64,31],[-14,32],[38,50],[8,19],[-27,-1],[-29,-59],[-46,26],[-14,23],[-4,13],[19,52],[32,-2],[17,12],[21,16],[1,25],[50,5],[18,-31],[-5,-36],[38,-58],[13,-37],[5,-36],[-3,-10],[-15,20],[-12,6],[4,-26],[13,-22],[-22,-13]],[[56593,73624],[-20,9],[-20,67],[52,-56],[-12,-20]],[[56622,73663],[13,48],[23,24],[-9,-40],[-14,-25],[-13,-7]],[[56824,73449],[-8,2],[7,18],[0,8],[-29,33],[4,44],[3,11],[22,-23],[5,-37],[26,-42],[-30,-14]],[[57103,74406],[-35,49],[34,19],[15,-14],[11,-16],[6,-22],[-31,-16]],[[57027,74054],[-10,10],[-3,19],[-1,23],[-7,-1],[-6,-25],[-5,-12],[-16,-2],[-18,15],[1,34],[-4,40],[2,14],[49,3],[14,-29],[18,17],[7,18],[21,11],[-4,-30],[-10,-20],[-8,-35],[-4,-49],[-16,-1]],[[56846,74512],[-37,40],[1,24],[19,48],[10,15],[27,-4],[15,-34],[4,-15],[-5,-27],[1,-26],[-35,-21]],[[57149,74231],[-19,18],[20,36],[37,22],[12,3],[16,-36],[-2,-24],[-64,-19]],[[45501,57015],[-10,29],[-2,11],[12,10],[5,1],[9,21],[11,14],[5,5],[5,-1],[4,-47],[-5,-20],[-12,-15],[-22,-8]],[[45434,62089],[-8,22],[-3,37],[15,55],[8,28],[14,10],[-9,-95],[-17,-57]],[[45322,69813],[-50,9],[-42,35],[-15,27],[-5,24],[14,36],[38,-31],[35,15],[43,-40],[23,-10],[-20,-28],[-21,-37]],[[45581,57021],[-16,2],[4,17],[-4,5],[5,50],[2,7],[8,-18],[1,-8],[3,-39],[-3,-16]],[[45372,67064],[-38,84],[-19,85],[-11,28],[17,21],[25,-3],[54,18],[11,7],[55,86],[55,11],[1,-28],[-60,-88],[-23,-136],[-22,-53],[-13,-17],[-32,-15]],[[46171,67560],[-21,14],[10,86],[9,25],[39,38],[32,14],[9,40],[11,16],[11,-24],[-9,-27],[-6,-86],[-22,-28],[-44,-29],[-19,-39]],[[46018,67093],[-38,15],[-6,11],[38,17],[34,51],[22,113],[35,125],[7,53],[13,21],[19,2],[8,-4],[9,-28],[0,-63],[-10,-104],[-18,-92],[-75,-50],[-38,-67]],[[46516,54861],[-18,38],[-96,58],[27,30],[66,9],[20,-18],[9,-15],[3,-28],[-7,-58],[-4,-16]],[[45677,66910],[-26,6],[-15,16],[-27,61],[-1,63],[25,42],[10,53],[64,-10],[6,10],[4,3],[5,-7],[-2,-46],[6,-46],[-1,-70],[-13,-38],[-35,-37]],[[45631,57091],[-11,5],[-4,7],[7,44],[11,20],[12,-3],[4,-6],[-2,-17],[-6,-14],[-11,-11],[0,-25]],[[45677,57292],[-16,12],[23,50],[15,9],[-1,-39],[-11,-8],[-8,-10],[-2,-14]],[[42981,60499],[-12,6],[-3,47],[-6,31],[1,14],[63,60],[21,-10],[16,-48],[-11,-27],[-42,-61],[-27,-12]],[[43064,60421],[-14,2],[-21,21],[7,22],[22,25],[15,6],[12,-45],[1,-17],[-22,-14]],[[45215,67068],[-14,14],[-14,47],[10,35],[8,16],[13,-2],[23,-26],[8,-27],[0,-16],[-23,-36],[-11,-5]],[[45569,57245],[-13,9],[-7,17],[1,29],[15,43],[14,-6],[3,-73],[-13,-19]],[[45544,57438],[-17,8],[-13,43],[-1,19],[36,5],[10,-2],[-15,-73]],[[45004,66850],[-34,36],[-8,12],[-7,20],[33,4],[33,49],[10,-24],[-27,-97]],[[43661,59942],[-18,4],[-21,31],[12,61],[0,53],[23,-11],[8,4],[15,-2],[16,-32],[3,-33],[-8,-41],[-30,-34]],[[43226,59250],[-15,10],[-15,23],[-7,34],[6,29],[29,35],[17,-12],[10,-53],[-4,-43],[-21,-23]],[[45039,67347],[-7,47],[-33,115],[20,51],[37,1],[15,-35],[5,-37],[-7,-21],[2,-43],[-4,-28],[-21,-45],[-7,-5]],[[43243,60242],[-21,75],[2,27],[4,8],[30,-20],[51,-13],[11,-17],[4,-13],[-17,-6],[-42,22],[-11,-14],[-11,-49]],[[43633,60310],[-11,45],[-6,11],[-3,63],[16,20],[8,1],[0,-66],[5,-43],[-9,-31]],[[43552,59437],[-11,26],[2,37],[-1,10],[10,40],[20,-4],[6,-29],[0,-60],[-18,-18],[-8,-2]],[[43470,59308],[-36,5],[-19,22],[-22,68],[0,53],[8,46],[-1,40],[3,10],[11,-6],[2,-27],[34,-66],[12,-13],[25,-77],[-17,-55]],[[62362,43151],[-13,12],[-23,50],[-43,47],[20,4],[12,-5],[12,5],[8,27],[1,16],[11,13],[7,-6],[14,-82],[0,-62],[-6,-19]],[[62182,43144],[-54,15],[-8,33],[-1,24],[20,-6],[24,-30],[19,-36]],[[62532,42778],[-8,16],[-5,37],[5,36],[1,29],[-14,51],[14,28],[12,-33],[6,-2],[18,-24],[-5,-42],[1,-14],[-8,-43],[0,-34],[-17,-5]],[[62068,43413],[-25,33],[-15,8],[-21,55],[8,189],[7,25],[5,10],[12,3],[14,-24],[-4,-121],[19,-82],[12,-65],[-7,-24],[-5,-7]],[[61015,45737],[-6,8],[-9,25],[16,21],[16,41],[36,60],[12,39],[5,9],[-3,-47],[-20,-102],[-18,-7],[-14,-39],[-15,-8]],[[61376,49187],[6,34],[30,44],[13,-10],[2,-10],[-1,-9],[-5,-9],[-34,-34],[-11,-6]],[[60966,46648],[-9,20],[-7,43],[-11,-11],[-19,51],[-20,3],[-17,60],[7,53],[-4,90],[21,47],[12,77],[13,-53],[3,-82],[18,-98],[15,-30],[3,-5],[21,-126],[-3,-24],[-15,-14],[-8,-1]],[[65978,38318],[-39,6],[-15,32],[-3,13],[13,13],[-1,40],[7,65],[8,27],[20,23],[8,52],[17,35],[22,4],[22,-64],[16,-67],[-3,-68],[-16,-25],[-5,-39],[-15,-30],[-36,-17]],[[65459,37811],[-27,7],[-54,50],[-15,33],[-21,94],[5,34],[17,58],[38,23],[41,-9],[18,-15],[21,-69],[28,-69],[-4,-83],[-7,-36],[-40,-18]],[[63428,42532],[-36,9],[-6,75],[18,2],[4,30],[11,4],[11,-66],[-2,-32],[0,-22]],[[63839,40349],[9,90],[36,131],[11,10],[-24,-123],[-32,-108]],[[48393,40990],[2,28],[19,30],[13,-4],[0,-35],[-9,-15],[-25,-4]],[[61041,47246],[-12,9],[-9,13],[-8,23],[15,151],[-7,110],[30,-10],[23,23],[2,-30],[-5,-28],[1,-90],[-1,-59],[-16,-83],[-13,-29]],[[65428,47636],[-13,18],[-4,36],[-18,26],[-9,25],[20,29],[23,-79],[1,-55]],[[52403,52377],[-49,28],[-9,17],[-3,24],[5,53],[4,17],[23,10],[8,8],[13,58],[4,53],[10,40],[17,13],[7,-3],[41,3],[12,-32],[-1,-46],[-43,-134],[-8,-57],[-17,-48],[-14,-4]],[[51821,50499],[-10,12],[-7,30],[-8,65],[3,31],[13,36],[28,35],[17,3],[17,-47],[0,-49],[-25,-72],[-28,-44]],[[52051,51385],[-12,13],[-3,23],[16,46],[7,11],[6,-10],[4,-12],[1,-18],[-8,-38],[-11,-15]],[[52001,53071],[-18,4],[24,78],[12,-16],[16,-7],[-8,-41],[-26,-18]],[[37688,36719],[-11,24],[24,33],[9,25],[6,-5],[8,-18],[17,-17],[9,-16],[-16,1],[-18,-14],[-28,-13]],[[36499,34823],[-18,73],[35,71],[12,-29],[-9,-56],[-10,-39],[-5,-13],[-5,-7]],[[36512,33994],[4,141],[10,47],[11,35],[14,22],[10,-31],[-8,-68],[-25,-83],[3,-36],[-19,-27]],[[37427,36287],[-11,16],[-31,-12],[-11,24],[42,99],[8,-14],[6,-19],[5,-25],[-5,-16],[-3,-22],[0,-31]],[[53089,71018],[9,37],[28,45],[7,-11],[-1,-28],[-43,-43]],[[53015,70429],[-20,18],[-7,0],[-10,13],[3,69],[3,19],[49,3],[27,-41],[4,-11],[1,-12],[-12,-23],[-10,-14],[-7,-3],[-13,-16],[-8,-2]],[[48718,82498],[-23,13],[-19,-7],[-6,2],[11,27],[13,63],[24,25],[29,65],[23,18],[9,-2],[5,-6],[11,-74],[-16,-25],[-5,-24],[-56,-75]],[[48148,83991],[-1,9],[28,40],[17,6],[6,-4],[-12,-23],[-22,-25],[-16,-3]],[[48546,83321],[-12,5],[-15,14],[-17,82],[6,29],[7,14],[7,11],[19,4],[18,-15],[7,-15],[15,-55],[3,-47],[-3,-27],[-35,0]],[[48284,83819],[-38,3],[-4,16],[8,11],[31,10],[13,80],[-47,36],[-3,10],[4,18],[5,7],[29,19],[12,4],[10,-3],[21,-21],[23,-44],[30,-8],[21,-18],[-4,-87],[-111,-33]],[[48248,83415],[0,7],[10,31],[-9,34],[4,26],[-4,5],[-9,-4],[-33,-41],[-11,-4],[-1,8],[8,34],[1,23],[5,15],[9,13],[11,10],[8,1],[9,-10],[27,28],[24,16],[10,-76],[10,-48],[0,-16],[-9,-22],[-45,-30],[-15,0]],[[48335,83532],[-14,1],[-5,10],[-3,15],[0,27],[8,19],[36,29],[-16,10],[-1,8],[10,24],[39,37],[10,7],[10,-1],[-20,-67],[-48,-113],[-6,-6]],[[49703,86315],[-27,60],[20,69],[24,-2],[4,-18],[-2,-17],[-13,-1],[-1,-5],[4,-32],[0,-37],[-2,-10],[-7,-7]],[[49639,85946],[-16,19],[16,76],[6,45],[-4,23],[-9,20],[-24,1],[-20,-10],[-4,13],[-1,16],[-5,6],[-27,-2],[-7,5],[-6,15],[-1,12],[25,9],[22,-3],[34,24],[-21,80],[-28,8],[-6,8],[5,13],[15,8],[24,40],[14,7],[17,-1],[-2,-42],[6,-42],[14,11],[22,-40],[11,0],[18,16],[-4,-37],[-18,-104],[-6,-17],[-3,-32],[-4,-6],[-6,-63],[-12,-21],[-11,-50],[-4,-5]],[[49770,86423],[-23,2],[-4,6],[-4,28],[3,31],[3,8],[7,3],[7,-6],[12,15],[6,0],[7,-11],[0,-7],[-14,-50],[0,-19]],[[49104,85295],[-15,1],[-25,34],[-9,25],[2,17],[10,5],[24,-8],[12,-28],[1,-19],[3,-7],[15,-8],[-2,-4],[-16,-8]],[[48785,81950],[-13,26],[-15,-1],[-22,50],[-4,75],[29,19],[41,-1],[33,-57],[11,-11],[30,2],[-10,-25],[-32,-27],[-22,-27],[-26,-23]],[[49260,85562],[16,35],[19,8],[36,-4],[-6,-15],[-34,-24],[-31,0]],[[49183,85270],[-10,11],[-17,39],[27,8],[12,-5],[-5,-17],[-4,-34],[-3,-2]],[[49204,85360],[-36,29],[-48,-12],[-10,4],[-6,8],[-2,10],[0,20],[-3,6],[-17,-19],[-8,2],[-4,9],[-2,19],[2,28],[10,39],[17,7],[26,-4],[29,-22],[9,-14],[0,-11],[-11,-16],[-3,-15],[21,1],[30,-13],[19,-2],[15,-15],[-8,-29],[-10,-8],[-10,-2]],[[48147,87065],[-26,28],[-21,15],[-7,13],[-6,22],[12,2],[14,-4],[36,-20],[10,-21],[1,-12],[-6,-23],[-7,0]],[[48144,86856],[-6,2],[-19,20],[-33,49],[-11,40],[-2,19],[8,-2],[7,-17],[31,-11],[8,-8],[0,-20],[10,-24],[2,-30],[5,-18]],[[48005,87226],[-21,4],[-34,17],[-12,39],[24,-1],[28,7],[13,-7],[25,-23],[9,-16],[-14,-16],[-18,-4]],[[48131,87174],[-23,15],[-57,69],[-44,114],[60,18],[43,-30],[48,-22],[-7,-80],[-12,0],[-20,22],[-15,5],[-5,-12],[1,-14],[8,-9],[24,-53],[2,-16],[-3,-7]],[[49217,85521],[-10,12],[-2,38],[-29,17],[-14,10],[-10,19],[2,6],[19,8],[32,-35],[13,-28],[23,-8],[3,-5],[-3,-19],[-24,-15]],[[48207,87313],[-20,7],[-5,4],[-5,12],[3,31],[-1,46],[22,-38],[19,-19],[-13,-43]],[[48060,84685],[-9,7],[-19,30],[35,31],[4,17],[24,17],[-2,6],[-39,25],[-15,17],[2,8],[18,20],[-9,2],[-6,11],[-10,4],[-4,9],[-1,26],[2,26],[12,11],[4,12],[5,4],[17,-6],[18,-21],[20,8],[24,-4],[1,5],[-18,51],[3,10],[10,12],[55,37],[68,61],[17,10],[5,-9],[7,-31],[-1,-43],[-36,-103],[-13,-3],[-13,-26],[-37,-28],[33,-1],[9,-9],[0,-21],[-6,-12],[-43,-47],[-29,-18],[-31,-49],[-16,-1],[-16,-31],[-13,-14],[-7,0]],[[48247,84212],[-10,1],[-11,10],[-13,28],[30,19],[13,-11],[4,-13],[0,-14],[-5,-13],[-8,-7]],[[48336,84267],[-7,4],[-6,89],[-35,-12],[-29,2],[-16,10],[-11,21],[-22,53],[-65,21],[-18,30],[-6,17],[3,10],[13,22],[17,-8],[11,5],[6,10],[0,8],[-9,19],[0,6],[66,24],[5,37],[15,3],[16,-12],[23,-39],[6,-48],[-1,-26],[-5,-30],[7,-33],[1,-23],[12,-8],[7,-11],[52,-12],[49,4],[9,-10],[1,-15],[-8,-17],[-27,-31],[-33,-50],[-10,-10],[-11,0]],[[48004,84556],[-38,1],[-54,40],[0,8],[4,12],[8,10],[9,2],[13,-6],[19,10],[15,-3],[18,15],[31,-33],[-25,-56]],[[47974,84305],[-15,4],[-10,9],[-9,36],[-2,22],[4,41],[-1,49],[32,2],[8,-7],[5,-146],[0,-6],[-12,-4]],[[47223,82465],[11,-9],[2,-44]],[[47236,82412],[-1,-17],[-21,21],[-10,23],[-56,11],[23,23],[12,-7],[40,-1]],[[47915,84212],[-9,4],[-2,8],[6,20],[19,8],[13,-11],[2,-11],[-5,-10],[-24,-8]],[[56089,86215],[-29,29],[-3,11],[11,7],[-8,24],[3,10],[22,-19],[12,-21],[-12,-5],[20,-23],[4,-11],[-20,-2]],[[55438,86098],[-12,6],[-5,23],[9,35],[22,1],[9,-34],[2,-14],[-11,4],[-8,-5],[-6,-16]],[[55499,86066],[-15,10],[-20,80],[4,20],[14,9],[12,2],[1,-43],[18,4],[5,28],[1,20],[-4,10],[-12,8],[-7,13],[10,22],[18,9],[16,-29],[12,-3],[9,0],[3,5],[15,-4],[23,-23],[4,-12],[16,-7],[5,-13],[-18,-40],[-11,0],[-8,5],[-15,-5],[-8,-7],[-3,-17],[0,-35],[-65,-7]],[[55903,87885],[-29,28],[-18,46],[42,1],[-4,-12],[-1,-10],[3,-11],[17,3],[21,20],[16,-9],[-2,-29],[-10,1],[-3,5],[-14,-17],[-2,-10],[-16,-6]],[[55316,84750],[-15,3],[-13,27],[27,42],[40,-3],[14,-8],[-48,-24],[-5,-37]],[[54576,83790],[-12,2],[-9,40],[-2,102],[5,51],[61,182],[27,15],[38,112],[10,50],[17,45],[10,40],[8,16],[17,-8],[8,-7],[-18,-24],[2,-30],[-1,-12],[-48,-132],[-12,-86],[-17,-21],[-69,-305],[-15,-30]],[[54180,83058],[-46,17],[-56,41],[9,80],[14,35],[102,-90],[1,-34],[-14,-39],[-10,-10]],[[53712,82609],[-49,47],[-7,23],[-2,19],[7,67],[-1,20],[15,23],[2,33],[27,35],[24,1],[8,-29],[11,-20],[40,-23],[6,-10],[4,-15],[-19,-28],[-6,-14],[6,-23],[30,-25],[7,-40],[-8,-20],[-31,33],[-32,0],[-18,-52],[-14,-2]],[[53384,82992],[-18,13],[7,26],[5,10],[16,11],[11,16],[4,25],[10,-13],[30,-6],[14,-8],[12,-12],[10,-19],[-10,-9],[-43,7],[-48,-41]],[[53492,83384],[-6,1],[-9,35],[14,21],[8,17],[6,0],[8,-19],[5,-30],[-26,-25]],[[53182,82836],[-117,85],[2,71],[4,28],[56,7],[28,-36],[50,-37],[33,3],[22,-16],[6,-23],[2,-52],[-24,-16],[-26,5],[-36,-19]],[[52893,82959],[-21,13],[-35,48],[-4,13],[18,-8],[23,-25],[18,-6],[25,-21],[-5,-8],[-19,-6]],[[52765,82980],[-14,14],[-28,6],[-9,91],[2,5],[14,-6],[47,-43],[16,-46],[1,-13],[-29,-8]],[[52969,82904],[-17,48],[-2,15],[20,31],[12,35],[33,53],[19,63],[7,-1],[-8,-56],[-43,-155],[-9,-29],[-12,-4]],[[52941,83509],[-17,11],[-2,38],[6,35],[-7,30],[8,20],[25,-46],[7,-22],[-9,-26],[-6,-30],[-5,-10]],[[53091,82709],[-16,24],[-17,6],[9,29],[12,11],[41,-19],[13,-37],[1,-12],[-43,-2]],[[53058,84376],[-38,20],[17,27],[42,13],[24,-4],[-27,-28],[-6,-14],[-12,-14]],[[52301,82917],[3,84],[30,89],[13,-2],[-13,-24],[-4,-17],[-5,-33],[2,-18],[70,-5],[-8,-15],[-71,-11],[-11,-36],[-6,-12]],[[49662,77615],[-18,48],[-25,41],[-5,39],[0,10],[29,-28],[29,-58],[-10,-52]],[[49637,80442],[-58,48],[-14,-2],[13,22],[37,18],[20,23],[47,-22],[22,-27],[-24,-20],[-7,-24],[-6,-10],[-15,-6],[-15,0]],[[51329,81870],[-17,12],[-4,10],[8,33],[41,54],[0,-67],[-28,-42]],[[52894,75776],[-24,29],[-35,-15],[-21,3],[-6,26],[5,15],[33,3],[11,7],[20,-3],[10,21],[9,-23],[1,-13],[-6,-16],[3,-34]],[[52339,73558],[-17,41],[-1,36],[3,10],[20,-15],[11,-14],[-16,-58]],[[52292,74758],[-13,2],[5,20],[12,40],[15,13],[6,-12],[-7,-23],[-9,-13],[-9,-27]],[[51187,74068],[-85,69],[-28,7],[-7,11],[1,35],[2,16],[57,7],[46,-25],[25,-68],[2,-12],[-8,-33],[-5,-7]],[[50436,73374],[-18,7],[-28,0],[-1,24],[4,17],[5,17],[17,-33],[27,-6],[0,-18],[-6,-8]],[[50391,73492],[-42,13],[-10,14],[9,42],[13,5],[0,29],[13,29],[60,24],[14,-20],[3,-29],[-36,-63],[-14,-8],[-10,-36]],[[41338,73789],[-21,10],[-7,11],[6,61],[17,14],[17,-25],[0,-43],[-12,-28]],[[42473,73360],[-58,16],[-16,21],[-7,41],[10,13],[25,9],[37,-8],[24,-29],[0,-37],[-9,-21],[-6,-5]],[[42270,73306],[-74,46],[-26,20],[-34,53],[96,-64],[51,-48],[-13,-7]],[[42015,73293],[-27,46],[40,23],[12,-14],[8,-17],[6,-21],[-10,-15],[-29,-2]],[[42158,73212],[-29,17],[-33,-3],[-22,32],[-5,33],[11,21],[30,0],[71,-60],[23,-24],[-35,-5],[-11,-11]],[[42933,72815],[-82,28],[-27,38],[-4,27],[0,13],[17,10],[38,-41],[17,-4],[89,8],[24,-6],[-3,-44],[-17,-17],[-52,-12]],[[54010,71693],[-24,30],[0,63],[27,-12],[25,-42],[8,-20],[-10,-19],[-26,0]],[[54235,76555],[-35,39],[-13,26],[-3,12],[46,-56],[5,-21]],[[54079,77105],[-16,22],[-4,19],[-29,6],[-17,26],[-3,11],[24,29],[13,46],[16,-27],[20,-53],[11,-14],[19,-53],[-34,-12]],[[54126,76962],[-26,24],[-23,9],[-5,17],[3,15],[5,14],[18,-2],[3,-14],[18,-37],[7,-26]],[[54211,76722],[-18,29],[-16,20],[-12,25],[-23,30],[-8,35],[-34,71],[-6,20],[18,-29],[14,-18],[12,-5],[30,-45],[30,-58],[35,-51],[-8,-1],[-7,-7],[-7,-16]],[[54222,76478],[-14,8],[-4,-2],[-68,129],[-7,25],[24,-30],[66,-115],[4,-9],[-1,-6]],[[54288,76479],[-18,9],[-18,27],[-11,30],[28,-22],[19,-44]],[[54022,76907],[-17,29],[-9,52],[-21,84],[-3,24],[11,23],[0,24],[-15,74],[12,12],[8,1],[3,-51],[7,-29],[20,-37],[-4,-59],[4,-86],[4,-19],[2,-19],[-2,-23]],[[54928,75769],[-111,53],[13,5],[12,1],[49,-19],[37,-40]],[[55766,73026],[-43,29],[-10,-13],[-13,5],[-7,34],[1,12],[-8,21],[-5,9],[-17,-27],[-11,-5],[0,24],[16,68],[7,12],[13,-23],[10,9],[8,37],[1,36],[3,11],[14,-54],[4,-68],[19,-13],[26,-62],[-2,-31],[-6,-11]],[[55782,72785],[-31,47],[-20,47],[-4,19],[20,44],[19,-45],[22,-7],[14,-21],[29,-58],[-23,14],[-26,-40]],[[55709,73329],[1,47],[10,58],[11,34],[17,16],[7,-27],[-1,-95],[-8,-17],[-11,-5],[-9,3],[-9,-3],[-8,-11]],[[55752,73173],[-17,56],[-7,40],[7,2],[7,-5],[8,-15],[0,-15],[3,-16],[7,-19],[6,-22],[-14,-6]],[[55583,73800],[-35,20],[-25,30],[-21,73],[-45,84],[0,24],[17,18],[36,13],[15,-13],[9,-14],[3,-16],[-20,-32],[-5,-15],[16,-29],[0,-11],[7,-56],[8,-21],[20,-17],[14,-5],[6,-33]],[[56530,72925],[-12,1],[-9,6],[-4,11],[5,6],[7,23],[6,7],[9,-3],[5,-10],[4,-26],[-11,-15]],[[56400,71886],[-28,17],[-8,27],[-2,59],[8,29],[5,9],[13,-34],[27,-48],[-12,-33],[-3,-26]],[[51097,81057],[-37,40],[-24,-10],[-9,19],[0,12],[25,10],[44,-4],[28,-33],[5,-10],[2,-11],[-34,-13]],[[35786,91656],[-9,5],[-9,16],[-22,72],[-7,34],[5,43],[-8,30],[39,35],[32,6],[43,-9],[72,-36],[-5,-11],[-16,-19],[-44,-24],[-15,-55],[-3,-27],[2,-21],[-12,-18],[-43,-21]],[[39670,89295],[-14,46],[4,51],[49,16],[26,-35],[-10,-52],[-12,-26],[-43,0]],[[35103,92555],[-75,30],[-12,11],[-5,14],[3,17],[24,30],[45,45],[32,8],[20,-28],[20,-37],[2,-20],[-1,-22],[-5,-19],[-9,-16],[-13,-9],[-26,-4]],[[34564,93461],[-18,9],[-15,18],[-26,5],[-9,11],[-4,9],[-12,6],[-18,4],[-30,-7],[-27,7],[-21,30],[38,20],[24,17],[91,7],[25,-8],[16,0],[25,5],[54,22],[8,10],[48,-13],[4,-17],[-39,-41],[-32,-23],[-70,-68],[-12,-3]],[[35608,92447],[-86,11],[-7,7],[-1,13],[12,38],[38,5],[45,-21],[49,-29],[6,-14],[-19,-8],[-37,-2]],[[37116,86409],[-32,15],[-16,33],[-31,14],[-34,-4],[-1,13],[110,76],[53,21],[-4,-33],[-10,-28],[-3,-35],[-32,-72]],[[14982,79657],[-34,9],[-12,10],[0,26],[6,24],[26,-9],[6,-6],[8,-54]],[[15990,78526],[-6,3],[0,16],[-3,2],[-12,-19],[1,38],[6,39],[5,1],[7,-26],[13,-30],[-1,-13],[-10,-11]],[[15971,78657],[-15,13],[-5,13],[1,28],[3,18],[3,4],[9,-8],[3,-5],[3,-52],[-2,-11]],[[15863,79261],[-26,19],[-5,15],[8,16],[16,16],[6,2],[32,-22],[3,-13],[-11,-12],[-8,-2],[-12,20],[-6,2],[5,-31],[-2,-10]],[[15879,79158],[-15,8],[-9,13],[-3,17],[6,31],[7,8],[5,-2],[2,-27],[13,-30],[-2,-12],[-4,-6]],[[15837,79186],[-30,12],[-13,11],[-3,11],[-5,36],[2,12],[13,4],[25,-45],[4,-22],[7,-19]],[[15997,78860],[-8,8],[-6,19],[-9,10],[-18,7],[-9,22],[-4,15],[0,44],[-5,13],[-10,3],[-9,10],[-14,31],[-2,8],[7,25],[15,41],[11,20],[7,-2],[9,-13],[10,-22],[-2,-16],[-41,-32],[-2,-7],[21,-9],[7,-8],[7,-26],[13,-78],[6,33],[38,-56],[0,-28],[-4,-9],[-8,-3]],[[15517,79803],[-62,46],[-27,28],[-10,19],[-6,11],[-32,30],[-5,13],[7,10],[21,-6],[35,-22],[32,-36],[43,-81],[4,-12]],[[15726,79427],[-43,42],[-29,55],[-12,33],[57,-83],[29,-28],[2,-13],[-4,-6]],[[15701,79340],[-7,2],[-5,11],[-18,104],[8,-2],[24,-33],[-5,-13],[18,-31],[4,-22],[-8,-1],[-11,-15]],[[15277,80106],[-7,67],[9,24],[2,12],[-1,13],[15,-30],[6,-21],[2,-28],[0,-8],[-19,-24],[-7,-5]],[[14811,79857],[-18,7],[-19,17],[-35,45],[-3,11],[3,8],[9,8],[3,12],[-8,32],[27,21],[25,-17],[11,-21],[13,-37],[6,-42],[1,-29],[-4,-12],[-11,-3]],[[15223,80120],[-17,50],[-28,108],[4,25],[12,36],[11,2],[18,-17],[16,-29],[3,-12],[10,-31],[5,-28],[-11,-34],[-20,-39],[-3,-31]],[[17109,69914],[-18,12],[-16,58],[-17,44],[9,13],[14,-43],[35,-65],[9,-13],[-16,-6]],[[17143,67595],[-32,124],[0,29],[9,15],[15,-3],[0,-31],[13,-26],[5,-25],[2,-60],[-12,-23]],[[16635,70558],[-15,8],[-23,56],[50,8],[21,-25],[3,-7],[-17,-32],[-19,-8]],[[16719,70595],[-21,16],[-2,22],[-7,21],[10,7],[57,-30],[30,15],[6,-15],[-4,-13],[-69,-23]],[[17139,70207],[-20,5],[-21,-2],[-6,23],[-7,33],[-4,9],[-14,3],[-1,3],[-2,16],[4,7],[45,-36],[12,-18],[14,-43]],[[30168,75038],[-3,28],[6,33],[5,1],[3,-17],[-3,-34],[-8,-11]],[[29375,73890],[-1,17],[41,112],[-8,-39],[-32,-90]],[[29379,74476],[13,57],[24,26],[9,-5],[0,-21],[-3,-17],[-16,-26],[-14,-11],[-13,-3]],[[31994,69583],[-7,2],[-5,7],[26,20],[21,47],[7,-3],[-17,-53],[-25,-20]],[[30337,74955],[-12,19],[19,9],[24,44],[16,5],[25,-25],[5,-23],[-77,-29]],[[30197,75037],[-16,2],[8,22],[3,32],[8,36],[4,10],[9,10],[-3,-96],[-13,-16]],[[30540,74909],[-49,22],[40,18],[7,7],[5,27],[1,14],[15,-59],[2,-19],[-21,-10]],[[28899,71277],[-6,3],[33,30],[23,9],[-50,-42]],[[28986,71702],[-19,65],[19,-21],[4,-18],[0,-14],[-4,-12]],[[29061,72908],[43,119],[24,99],[11,35],[-10,-70],[-19,-64],[-36,-109],[-13,-10]],[[28978,71333],[-3,5],[42,34],[14,119],[2,55],[-7,96],[1,20],[6,-31],[7,-90],[-3,-69],[-12,-99],[-10,-24],[-37,-16]],[[28742,70988],[25,74],[50,94],[14,14],[-42,-80],[-40,-95],[-7,-7]],[[23111,67148],[12,32],[21,16],[45,61],[18,4],[10,22],[4,3],[-3,-26],[-36,-37],[-61,-73],[-10,-2]],[[22948,66611],[3,51],[22,115],[46,152],[20,25],[-53,-166],[-29,-143],[-9,-34]],[[23586,67733],[61,91],[12,30],[16,-1],[-27,-51],[-48,-64],[-14,-5]],[[23004,65942],[-23,128],[-37,291],[-2,165],[6,58],[10,-234],[41,-298],[9,-83],[-4,-27]],[[26386,68011],[-30,16],[19,3],[13,-6],[35,30],[18,23],[21,9],[-48,-53],[-28,-22]],[[27371,68676],[-5,51],[-1,49],[9,30],[9,14],[-12,-144]],[[25216,68267],[-13,13],[-20,2],[8,9],[7,9],[3,10],[25,34],[-7,-25],[-4,-25],[1,-27]],[[24491,67940],[-46,52],[-3,22],[23,20],[14,-2],[22,-26],[8,-8],[3,-10],[-2,-17],[-8,-22],[-11,-9]],[[25318,68112],[7,90],[-11,76],[12,-33],[4,-40],[-5,-74],[-7,-19]],[[28451,64535],[-54,8],[-2,65],[-8,13],[-13,93],[-17,30],[-24,76],[14,20],[18,-7],[10,9],[25,8],[16,10],[12,-22],[1,-14],[-28,-37],[20,-27],[19,58],[15,-47],[8,-89],[-1,-15],[1,-13],[3,-17],[1,-25],[-16,-77]],[[28414,63458],[-13,27],[-8,2],[-11,11],[-21,29],[-5,30],[17,2],[23,-5],[39,-17],[-4,-34],[-6,-27],[-11,-18]],[[28320,63664],[-15,22],[-22,10],[-13,34],[-12,13],[-1,13],[20,8],[14,-3],[16,-27],[9,-48],[10,-12],[-6,-10]],[[28225,63769],[-10,9],[-34,2],[-23,14],[-12,12],[-6,15],[18,11],[38,-12],[13,7],[13,2],[13,-5],[19,-49],[-16,-6],[-13,0]],[[28542,65813],[-24,59],[-19,17],[30,42],[13,36],[0,79],[7,43],[-2,37],[7,38],[-9,43],[-26,34],[-50,135],[-79,33],[-41,1],[22,22],[21,-3],[32,-13],[39,-6],[23,-40],[22,-52],[21,-22],[8,-13],[-1,-15],[3,-15],[27,-24],[26,-40],[8,-117],[-36,-55],[-6,-169],[-10,-30],[-6,-5]],[[29417,63899],[-40,30],[-9,-2],[-8,31],[-3,23],[2,21],[24,-16],[12,-31],[33,-21],[6,-11],[-17,-24]],[[29303,64666],[-12,5],[7,81],[15,13],[6,-1],[6,-34],[-22,-64]],[[29538,62875],[-5,23],[-2,20],[5,31],[0,12],[-3,13],[26,13],[18,39],[27,6],[34,-27],[19,-1],[27,30],[22,64],[13,-8],[-5,-64],[-8,-43],[-30,-83],[-65,-21],[-73,-4]],[[29367,63614],[5,30],[37,53],[21,45],[11,16],[5,13],[16,17],[8,29],[-2,24],[-17,40],[0,28],[6,20],[29,9],[-8,-30],[12,-84],[-39,-105],[-33,-33],[-31,-54],[-20,-18]],[[28842,65075],[-10,19],[-10,43],[-17,24],[-5,13],[29,3],[3,67],[14,54],[-2,55],[-34,61],[-24,53],[-36,18],[-34,53],[-20,7],[-24,-10],[9,32],[6,42],[4,8],[17,-46],[46,-67],[39,-25],[42,-84],[18,-29],[4,-28],[-7,-123],[-10,-75],[2,-65]],[[28970,64361],[-21,15],[-48,72],[-23,6],[8,41],[17,-14],[39,-62],[15,-31],[25,-24],[-12,-3]],[[29209,64020],[-35,118],[-44,29],[-26,28],[6,17],[17,7],[3,37],[-7,41],[-24,82],[-13,55],[-6,13],[-1,46],[27,-72],[12,-64],[18,-62],[13,-109],[35,-36],[25,-53],[2,-62],[-2,-15]],[[29027,64772],[6,21],[19,28],[1,26],[-24,39],[-27,95],[-13,22],[-6,36],[-23,39],[5,20],[4,5],[16,-10],[35,-137],[2,-13],[59,-135],[2,-30],[-19,6],[-28,-11],[-9,-1]],[[28357,63579],[-27,25],[-9,20],[10,28],[2,30],[4,2],[4,-36],[22,-16],[1,-8],[13,-31],[-10,-13],[-10,-1]],[[27202,66128],[-20,11],[-11,21],[-5,39],[17,-42],[7,-9],[22,-5],[-10,-15]],[[28321,64860],[-9,46],[-17,28],[-2,48],[-13,-16],[-19,10],[-30,36],[-19,50],[27,8],[5,-31],[22,38],[-5,20],[-4,3],[-7,36],[32,97],[7,63],[-15,100],[14,6],[36,-35],[16,-35],[0,-47],[16,-37],[21,-88],[27,-51],[0,-72],[3,-53],[-3,-20],[-30,-35],[-8,-21],[-28,-20],[-17,-28]],[[27324,65039],[15,24],[5,35],[8,-28],[0,-16],[-10,-9],[-18,-6]],[[27730,66588],[-25,102],[-32,158],[-17,123],[12,-33],[11,-69],[47,-237],[4,-44]],[[26955,63174],[-30,17],[-20,37],[-12,36],[1,18],[19,-30],[16,-14],[13,10],[10,15],[-31,118],[2,25],[24,65],[65,-20],[11,-11],[10,-41],[14,-32],[17,-86],[2,-30],[-26,-31],[-55,-45],[-30,-1]],[[27198,66167],[-14,58],[-9,65],[13,-21],[11,-67],[-1,-35]],[[27959,63883],[-49,43],[-21,46],[-8,10],[13,1],[55,-74],[9,-11],[1,-15]],[[28126,66171],[-15,17],[-52,95],[14,-9],[38,-54],[24,10],[22,35],[4,27],[-4,13],[10,42],[29,-40],[34,-19],[18,3],[11,12],[49,-5],[41,18],[6,-32],[-1,-16],[-86,-16],[-78,-46],[-43,-31],[-21,-4]],[[27616,65255],[6,28],[22,60],[7,28],[14,18],[14,32],[1,37],[20,26],[6,4],[-35,-121],[-55,-112]],[[25556,61080],[11,34],[1,22],[16,91],[10,-1],[3,-8],[-28,-127],[-13,-11]],[[25575,60710],[-2,24],[9,61],[12,22],[8,23],[2,26],[10,-13],[-3,-26],[-15,-34],[-21,-83]],[[24501,61523],[-6,13],[63,60],[11,-2],[4,-9],[-33,-28],[-8,-21],[-31,-13]],[[27154,56001],[-21,50],[12,8],[5,-1],[7,-29],[-3,-28]],[[27415,61889],[-28,4],[-4,57],[8,6],[6,-22],[9,-11],[11,7],[4,12],[42,-9],[7,-25],[-33,0],[-14,-16],[-8,-3]],[[25835,62481],[-7,66],[11,63],[14,37],[28,4],[18,12],[2,-16],[-15,-49],[-36,-98],[-15,-19]],[[32595,60676],[-13,36],[-20,10],[-18,22],[0,4],[0,11],[4,13],[9,9],[22,-29],[11,-37],[10,-17],[2,-13],[-7,-9]],[[33069,58598],[-31,39],[-3,49],[3,29],[18,57],[15,37],[10,12],[6,-49],[-3,-112],[-15,-62]],[[33094,59018],[-11,28],[-45,-4],[-7,25],[-1,12],[22,43],[-26,11],[-10,19],[-22,90],[2,26],[9,14],[15,2],[28,-29],[20,-42],[7,0],[3,-12],[-4,-29],[12,-25],[5,-18],[12,-71],[-2,-33],[-7,-7]],[[32889,56434],[-48,12],[-37,-9],[67,72],[8,31],[29,6],[9,9],[9,160],[-4,38],[-5,21],[-12,15],[-26,21],[-5,11],[17,18],[35,10],[26,19],[55,4],[26,17],[45,4],[-22,-73],[-10,-27],[4,-67],[-5,-45],[6,-56],[13,-38],[-9,-36],[-1,-56],[-2,-20],[-45,-33],[-118,-8]],[[31040,57600],[-8,29],[-1,53],[-6,21],[-11,13],[-6,17],[0,26],[42,-41],[4,-52],[-14,-66]],[[33108,57088],[2,24],[26,40],[41,28],[10,1],[-6,-37],[-58,-50],[-15,-6]],[[32735,60354],[-19,11],[-1,31],[9,31],[5,3],[7,-41],[-1,-35]],[[33466,58210],[-25,23],[-9,29],[-1,91],[15,8],[29,-71],[17,-27],[-18,-41],[-8,-12]],[[32224,56918],[-17,2],[-13,10],[-17,34],[-16,-11],[-40,12],[-11,12],[15,42],[28,17],[10,3],[8,-25],[20,-23],[23,-2],[6,40],[32,58],[12,-21],[9,-78],[-3,-14],[-25,-53],[-21,-3]],[[32455,61237],[2,17],[35,41],[13,-3],[-6,-25],[-44,-30]],[[32856,57588],[-18,-3],[7,23],[2,37]],[[32847,57645],[10,45],[15,31],[15,-8]],[[32887,57713],[-6,-100],[-25,-25]],[[32844,60868],[-23,28],[-7,53],[1,11],[3,6],[9,-10],[12,-4],[8,-17],[1,-52],[-4,-15]],[[32976,59883],[-7,5],[-2,36],[12,24],[7,6],[10,-27],[3,-23],[-8,-19],[-15,-2]],[[32847,60541],[-31,10],[-6,29],[-1,21],[19,42],[22,-18],[9,-20],[6,-4],[0,-17],[-3,-12],[-6,-7],[-9,-24]],[[32951,59493],[-11,102],[-18,74],[3,46],[3,18],[38,-29],[12,-34],[7,-91],[-8,-74],[-26,-12]],[[32932,60080],[-22,5],[-5,43],[11,36],[-8,43],[5,26],[11,17],[18,-22],[3,-33],[11,-30],[51,-63],[-43,-15],[-32,-7]],[[32869,59928],[-11,8],[-14,51],[-9,142],[7,23],[5,9],[30,-18],[12,-20],[13,-12],[-7,-26],[4,-106],[-8,-25],[-22,-26]],[[32999,58257],[-21,40],[3,46],[12,26],[12,15],[12,2],[4,-39],[-3,-54],[-11,-26],[-8,-10]],[[29782,63677],[-29,41],[-26,6],[-36,-1],[-14,7],[10,45],[24,-16],[17,-8],[9,0],[32,-18],[19,-24],[4,-10],[-10,-22]],[[30888,57607],[-54,58],[-44,92],[-1,49],[11,-4],[12,-19],[17,-65],[52,-44],[21,-58],[-14,-9]],[[30093,63358],[-16,23],[-30,0],[-5,31],[12,5],[38,-11],[9,-27],[-7,-13],[-1,-8]],[[29708,63184],[-3,34],[18,27],[22,-32],[-37,-29]],[[30028,63404],[-16,21],[-2,16],[-6,1],[-10,15],[3,19],[22,0],[9,-53],[5,-13],[-5,-6]],[[29916,63360],[-9,2],[-2,22],[2,33],[32,-33],[19,5],[2,-7],[-11,-7],[-2,-6],[-31,-9]],[[5280,85165],[-22,5],[-17,59],[13,1],[28,39],[60,31],[15,4],[-57,-129],[-20,-10]],[[7418,84241],[-22,30],[5,47],[20,32],[97,-11],[7,-8],[1,-8],[-8,-6],[-20,-3],[-35,-19],[-7,1],[-21,-39],[-17,-16]],[[7759,86230],[17,29],[13,57],[17,-8],[3,-10],[-28,-59],[-9,-7],[-13,-2]],[[7634,85116],[-20,18],[-13,20],[9,14],[39,31],[19,1],[8,-5],[3,-10],[-2,-14],[-8,-18],[-26,-33],[-9,-4]],[[7425,84728],[-7,4],[-16,19],[-31,28],[-15,19],[-1,9],[11,9],[38,-23],[15,-21],[14,-28],[-8,-16]],[[6776,83523],[-21,2],[-12,6],[-3,16],[32,49],[7,7],[6,-2],[3,-20],[-1,-39],[-11,-19]],[[7013,83892],[-6,5],[-1,11],[5,19],[9,18],[29,35],[29,24],[15,-2],[6,-15],[-19,-30],[-48,-51],[-19,-14]],[[7151,83952],[-21,15],[3,19],[29,23],[29,-4],[3,-13],[-2,-14],[-2,-8],[-9,-8],[-17,-9],[-13,-1]],[[9279,86177],[-6,3],[-9,36],[-9,15],[-6,21],[0,8],[9,14],[18,21],[13,7],[46,-18],[6,-16],[53,4],[16,-3],[6,-8],[-7,-11],[-21,-14],[-60,-26],[-49,-33]],[[9680,86203],[-24,5],[-13,9],[44,38],[7,-7],[-5,-31],[-9,-14]],[[9829,85907],[20,39],[27,42],[26,27],[32,12],[-3,-20],[-43,-36],[-45,-61],[-14,-3]],[[8931,85898],[-7,18],[16,44],[13,24],[10,6],[35,49],[39,36],[36,52],[37,75],[6,28],[17,3],[28,-19],[17,-25],[-8,-21],[-92,-106],[-8,-14],[-8,-36],[-8,-12],[-12,-6],[-9,-16],[-5,-25],[-11,-14],[-18,-1],[-12,-7],[-6,-13],[-19,-11],[-31,-9]],[[8868,86038],[-55,11],[12,36],[42,22],[46,-35],[-30,-16],[-15,-18]],[[8948,86123],[-8,4],[-2,11],[5,16],[-18,0],[-6,41],[10,13],[4,18],[1,12],[12,52],[4,4],[2,-13],[3,-3],[7,5],[9,23],[4,3],[9,-24],[0,-16],[-9,-15],[8,-28],[-14,-47],[-6,-30],[-8,-19],[-7,-7]],[[8873,86502],[-16,8],[-3,8],[7,30],[0,12],[17,5],[21,-14],[6,-15],[3,-29],[-35,-5]],[[13137,82868],[-28,15],[-23,32],[-33,54],[-19,40],[-1,16],[-12,13],[-22,67],[-13,54],[-21,6],[-26,15],[-10,30],[7,25],[37,13],[55,-66],[9,-28],[20,-33],[3,-46],[10,-18],[24,-64],[6,-8],[7,6],[12,21],[20,-5],[14,-7],[9,-8],[-5,-31],[-4,-50],[-8,-18],[-8,-25]],[[12725,83693],[-15,75],[13,125],[31,25],[-18,34],[-39,40],[3,21],[-29,64],[-2,15],[5,53],[27,47],[37,8],[25,-20],[14,-17],[4,-15],[18,-41],[26,4],[14,-31],[11,-47],[-8,-30],[-11,7],[-13,-17],[-8,-57],[4,-58],[-4,-57],[-15,-58],[-3,-39],[-6,-12],[-7,-4],[-8,10],[-12,9],[-15,-33],[-19,-1]],[[12875,83215],[4,85],[-28,50],[28,25],[19,-7],[31,-3],[30,22],[12,-9],[6,-17],[0,-11],[-40,-39],[-1,-8],[-9,-24],[-9,-9],[-15,-27],[-28,-28]],[[13519,82989],[-21,4],[-11,9],[-3,12],[7,39],[-14,23],[-16,8],[-15,-13],[0,38],[11,28],[-7,37],[0,29],[4,9],[15,-1],[30,-29],[18,-79],[28,-77],[2,-28],[-28,-9]],[[13087,83951],[-12,8],[-5,25],[3,23],[8,19],[10,34],[8,59],[52,-65],[16,-29],[8,-36],[-18,-13],[-22,-7],[-9,-10],[-3,-8],[-36,0]],[[13253,83606],[-22,6],[-11,11],[-4,13],[4,29],[-12,16],[-42,6],[-16,7],[-9,31],[-2,40],[7,15],[21,11],[16,49],[10,7],[35,96],[17,-6],[31,-59],[39,-85],[-13,-80],[-6,-99],[-11,6],[-10,0],[-22,-14]],[[13102,83793],[-16,9],[-40,48],[-1,14],[6,16],[22,30],[10,7],[54,-3],[17,-8],[4,-14],[0,-14],[-6,-14],[-1,-15],[3,-16],[-7,-15],[-30,-24],[-15,-1]],[[12689,84954],[-38,1],[-38,22],[-19,28],[4,13],[35,12],[34,-27],[24,-35],[-2,-14]],[[14175,81553],[-37,65],[-13,19],[-28,69],[-5,30],[1,17],[5,6],[9,-5],[8,-7],[53,-77],[15,-36],[1,-54],[-9,-27]],[[13625,82746],[-3,12],[2,26],[9,43],[4,10],[36,-7],[5,-3],[1,-9],[-2,-13],[-12,-20],[-34,-38],[-6,-1]],[[13598,81254],[-9,13],[-7,19],[-4,52],[3,21],[3,8],[24,-32],[-5,-80],[-5,-1]],[[13710,82371],[-6,2],[-5,9],[-6,17],[-1,17],[4,18],[13,24],[42,49],[13,9],[14,-2],[23,-23],[5,-7],[17,-46],[-8,-21],[-20,-33],[-13,-13],[-6,6],[-18,4],[-19,33],[-14,14],[-10,0],[-5,-12],[-1,-16],[3,-20],[-2,-9]],[[13925,81968],[-18,7],[-60,100],[-43,37],[-29,49],[-30,32],[18,51],[16,-6],[56,-42],[44,-40],[25,-27],[53,-113],[-4,-17],[-22,-29],[-6,-2]],[[14450,80957],[-18,10],[-13,22],[-16,68],[2,12],[5,12],[25,24],[10,-2],[3,-18],[15,-41],[5,-11],[0,-47],[-3,-20],[-4,-9],[-11,0]],[[14321,81508],[7,31],[2,19],[-4,18],[-3,34],[-1,81],[21,50],[33,2],[-1,-26],[-14,-114],[-7,-53],[-5,-19],[-7,-15],[-21,-8]],[[14075,81861],[-11,8],[-11,16],[-19,43],[-6,19],[-4,30],[3,5],[9,-3],[5,-5],[30,-72],[8,-36],[-4,-5]],[[14090,81936],[-8,6],[-5,13],[-2,19],[4,22],[17,44],[1,18],[3,8],[12,-22],[5,-20],[3,-84],[-2,-4],[-28,0]],[[11354,91669],[-37,23],[-9,12],[42,30],[19,-1],[39,-18],[14,-16],[-45,-8],[-23,-22]],[[33039,55713],[-3,59],[5,16],[30,48],[8,9],[6,-10],[-2,-13],[14,-21],[-3,-28],[-16,-29],[-22,-19],[-17,-12]],[[27736,48687],[-27,2],[-7,7],[0,27],[6,82],[7,35],[22,34],[18,16],[23,-3],[25,-30],[-29,-56],[-16,-9],[-6,-7],[-11,-75],[-5,-23]],[[35572,49611],[38,148],[34,69],[1,137],[36,121],[34,50],[47,15],[26,-75],[-32,-210],[-9,-1],[-43,-111],[-48,-78],[-54,-54],[-30,-11]],[[28025,55335],[-5,25],[9,26],[3,0],[5,-25],[-12,-26]],[[28065,51209],[-7,28],[19,33],[6,7],[-3,-64],[-15,-4]],[[28294,51964],[-14,23],[-5,30],[8,22],[12,-7],[5,-18],[1,-37],[-7,-13]],[[33072,55866],[0,16],[9,27],[17,8],[7,9],[11,7],[6,-2],[7,-7],[-16,-16],[-8,-23],[-33,-19]],[[37611,48672],[9,67],[-4,46],[3,36],[19,35],[6,5],[-2,-43],[1,-13],[-4,-75],[-28,-58]],[[39227,42699],[-2,38],[29,47],[4,57],[15,-26],[4,-29],[0,-12],[-40,-62],[-10,-13]],[[39184,42454],[-11,5],[-5,24],[-8,23],[4,17],[8,10],[20,-1],[1,-43],[-9,-35]],[[37509,49647],[-15,11],[3,17],[4,-2],[5,47],[25,-5],[1,-25],[-18,-28],[-5,-15]],[[36110,50454],[-31,37],[-48,-3],[-15,9],[-1,54],[20,58],[40,-4],[69,47],[39,-22],[12,-31],[-40,-124],[-21,-17],[-24,-4]],[[36000,51593],[-16,10],[-15,71],[5,58],[20,20],[16,-4],[6,-8],[14,-96],[-2,-24],[-28,-27]],[[35853,50277],[-25,38],[-6,22],[5,23],[-1,9],[8,40],[43,33],[21,5],[27,-10],[5,-28],[-1,-16],[-76,-116]],[[36192,50386],[-34,30],[8,25],[25,39],[30,28],[28,13],[28,-16],[8,-33],[-2,-34],[-18,-33],[-73,-19]],[[35987,50467],[-50,36],[4,90],[24,25],[20,47],[7,58],[1,79],[8,14],[6,5],[6,-5],[3,-119],[2,-72],[-26,-71],[-5,-87]],[[36038,50684],[-5,19],[0,74],[8,41],[38,12],[4,12],[11,7],[7,-25],[-1,-43],[-32,-77],[-30,-20]],[[24892,50013],[-43,57],[3,57],[17,38],[56,19],[23,-36],[-2,-67],[-19,-49],[-15,-9],[-5,-9],[-15,-1]],[[25128,49907],[-11,11],[-7,12],[-2,15],[19,36],[17,20],[16,42],[29,25],[9,-5],[5,-9],[2,-14],[-9,-34],[-18,-24],[-17,-50],[-33,-25]],[[27317,54812],[-31,26],[-23,49],[-2,16],[1,16],[12,50],[17,18],[6,-1],[16,-58],[-11,-22],[5,-36],[22,-26],[3,-28],[-15,-4]],[[24576,50188],[-24,20],[-10,32],[-2,47],[2,16],[52,17],[17,-40],[0,-58],[-7,-24],[-28,-10]],[[24871,49676],[-16,26],[12,46],[13,-11],[9,-14],[5,-17],[-12,-29],[-11,-1]],[[24686,49867],[-67,2],[-13,12],[-18,42],[-4,38],[11,37],[34,55],[53,49],[6,38],[-21,37],[-14,73],[-34,51],[-16,156],[-11,8],[-23,-21],[-11,18],[-2,10],[25,36],[5,26],[36,12],[15,-21],[9,-39],[18,-38],[9,-109],[56,-115],[7,-64],[-5,-30],[2,-11],[27,-46],[18,-47],[-30,-112],[-62,-47]],[[24827,50255],[-52,21],[-16,34],[13,47],[11,19],[31,-17],[32,-53],[-6,-33],[-13,-18]],[[19601,34374],[2,33],[11,28],[31,-16],[15,-4],[-16,-23],[-43,-18]],[[20408,63226],[-21,19],[-8,31],[-1,50],[11,8],[17,-21],[4,-14],[6,-25],[-8,-48]],[[19173,61562],[-24,36],[6,29],[14,20],[14,-37],[7,-36],[-17,-12]],[[19295,65218],[-15,10],[-18,36],[-13,46],[1,21],[3,3],[26,-27],[8,-23],[8,-66]],[[19492,64777],[-14,32],[-6,77],[3,8],[27,-96],[-1,-11],[-3,-8],[-6,-2]],[[18566,67673],[-29,36],[-64,125],[-23,63],[-4,29],[2,66],[22,-8],[25,-44],[12,-41],[0,-46],[48,-22],[7,-101],[6,-47],[-2,-10]],[[18131,69252],[-17,28],[1,25],[4,2],[17,-22],[6,-19],[-2,-11],[-9,-3]],[[18004,67082],[-47,39],[26,69],[-4,73],[12,15],[10,-24],[13,-92],[-6,-61],[-4,-19]],[[18969,64895],[-84,111],[20,10],[23,-7],[44,-86],[-3,-28]],[[19104,65777],[12,122],[12,17],[13,4],[-2,-33],[3,-21],[-2,-7],[-11,15],[-19,-88],[-6,-9]],[[18811,67515],[-21,3],[-44,44],[-5,27],[17,162],[13,22],[39,21],[6,-19],[4,-48],[12,-72],[-21,-140]],[[18867,65007],[-24,68],[-3,47],[-10,20],[-24,16],[21,95],[17,198],[8,-36],[-18,-201],[1,-26],[8,-24],[10,-42],[1,-45],[16,-41],[3,-23],[-6,-6]],[[96394,23634],[-25,13],[-11,22],[20,36],[4,0],[12,-71]],[[84524,56752],[13,62],[10,-9],[3,-7],[0,-28],[-19,-15],[-7,-3]],[[84801,56356],[-35,77],[-8,54],[12,-2],[16,-21],[13,-79],[2,-29]],[[84121,54805],[-9,1],[-3,45],[7,21],[14,-18],[12,21],[6,-14],[3,-14],[-1,-15],[-29,-27]],[[84935,54563],[-17,79],[-7,20],[9,66],[19,-32],[0,-100],[-4,-33]],[[84986,56140],[-8,31],[7,70],[5,12],[7,-44],[-6,-54],[-5,-15]],[[84578,57276],[-15,27],[-19,80],[21,17],[21,-5],[15,-28],[15,-53],[-3,-34],[-35,-4]],[[84676,57310],[-8,8],[-7,14],[-11,46],[-3,34],[16,-19],[9,-34],[9,-19],[-5,-30]],[[87442,46655],[0,29],[8,25],[8,15],[9,1],[-18,-66],[-7,-4]],[[87404,46463],[-7,19],[-1,12],[10,33],[9,19],[11,1],[-3,-27],[-14,-48],[-5,-9]],[[85537,48682],[-24,2],[-4,7],[29,31],[13,10],[-14,-50]],[[85452,48481],[-28,17],[-12,25],[12,16],[7,4],[14,-36],[7,-26]],[[84455,46904],[-10,32],[-9,17],[1,35],[13,-13],[8,-43],[-3,-28]],[[84339,47288],[-11,3],[-9,21],[-3,20],[1,16],[5,13],[18,-13],[-1,-60]],[[83519,46250],[-8,6],[-3,57],[32,-24],[10,-2],[-2,-33],[-29,-4]],[[84151,45374],[-16,10],[4,33],[8,20],[22,29],[22,5],[13,-10],[4,-11],[-34,-11],[-14,-30],[-9,-35]],[[82647,45514],[-12,11],[5,25],[-7,40],[2,33],[16,19],[33,2],[1,-24],[-31,-106],[-7,0]],[[69401,89862],[-54,45],[-51,89],[10,21],[31,-7],[51,-1],[33,-15],[44,-9],[-5,-41],[0,-17],[14,-18],[-14,-30],[-10,-9],[-49,-8]],[[76888,95608],[-13,5],[-4,6],[1,30],[25,40],[1,12],[12,6],[31,-7],[15,-16],[2,-8],[-21,-39],[-34,-22],[-15,-7]],[[77754,97630],[7,42],[4,11],[31,6],[20,-10],[44,-8],[-45,-33],[-61,-8]],[[94839,91290],[9,39],[1,18],[-27,29],[-50,22],[-13,17],[-3,51],[11,81],[-23,43],[8,38],[59,42],[24,33],[27,25],[4,-3],[27,-24],[-2,-55],[-20,-38],[-46,-13],[-6,-27],[6,-45],[1,-58],[5,-52],[28,-54],[6,-27],[-3,-25],[-11,-16],[-12,-1]],[[86023,69216],[6,46],[22,41],[2,-26],[-21,-51],[-9,-10]],[[85111,72053],[-18,25],[-5,84],[19,-25],[8,-46],[-4,-38]],[[84679,73877],[0,31],[12,25],[12,4],[-8,-43],[-16,-17]],[[83647,67097],[0,43],[20,41],[8,-14],[5,-21],[0,-35],[-24,-14],[-9,0]],[[81545,63954],[-22,42],[-6,2],[-11,16],[-6,26],[17,1],[16,-31],[9,-29],[3,-27]],[[81324,63257],[-8,22],[-2,30],[-6,17],[14,21],[6,23],[15,-5],[7,-7],[-14,-24],[-3,-10],[-3,-55],[-6,-12]],[[81262,63279],[-6,3],[10,30],[24,21],[-1,-42],[-27,-12]],[[81632,63630],[-7,6],[-4,12],[12,23],[45,31],[-11,-33],[-2,-39],[-33,0]],[[79745,56595],[-2,30],[20,20],[7,15],[6,0],[-8,-29],[-23,-36]],[[78688,56798],[-16,48],[0,13],[27,-38],[-11,-23]],[[52374,82871],[-26,1],[-15,14],[5,15],[14,11],[11,1],[18,-6],[4,-22],[-11,-14]],[[51845,82214],[7,15],[24,12],[13,0],[-19,-25],[-25,-2]],[[31595,87124],[-19,2],[-28,12],[-35,20],[-70,52],[-105,36],[-39,19],[-13,17],[-20,10],[-260,50],[-44,12],[-27,15],[-25,23],[-100,51],[-12,11],[-67,87],[-49,103],[-17,13],[-54,14],[-45,-9],[-30,-11],[-46,4],[-30,16],[-63,46],[-64,25],[-56,40],[-29,14],[3,11],[41,59],[-12,0],[-73,-46],[-26,14],[-43,36],[-32,36],[-66,99],[-38,37],[5,8],[43,3],[34,-3],[23,8],[44,40],[19,26],[2,15],[-37,3],[-8,8],[-7,16],[-17,22],[-27,25],[-31,11],[-107,-9],[-19,11],[0,17],[21,49],[12,19],[3,11],[-4,2],[-14,-1],[-62,-43],[-14,3],[-24,46],[-15,52],[-11,18],[-14,6],[-51,52],[-72,97],[-27,31],[-30,27],[-21,12],[3,14],[46,81],[2,14],[-40,-5],[-59,16],[-28,-20],[-18,-1],[-21,11],[-12,-4],[-11,-67],[-9,-16],[-12,-9],[-11,1],[-9,11],[0,16],[-9,82],[-21,12],[-58,3],[-13,6],[-14,15],[-12,28],[-10,41],[-12,23],[-13,4],[-11,-4],[-8,-10],[-18,-7],[-28,-2],[-1,-16],[27,-29],[25,-41],[25,-54],[-15,-35],[-55,-19],[-48,-5],[-41,7],[-32,13],[-44,30],[-63,-10],[-15,-78],[-13,-5],[-60,2],[-24,-7],[-80,-43],[-25,-6],[-18,5],[-18,-10],[-27,-25],[-37,-3],[-47,20],[-39,8],[-33,-2],[-33,11],[-34,26],[-29,12],[-36,-2],[-9,4],[-54,56],[-17,22],[-35,70],[-7,28],[-1,30],[3,22],[13,33],[13,78],[12,26],[17,23],[32,30],[120,53],[24,20],[-1,14],[-27,64],[0,17],[9,9],[19,38],[9,10],[21,6],[44,-19],[37,-8],[50,-2],[83,-26],[115,-50],[66,-35],[50,-51],[36,-50],[5,-25],[-16,-40],[-9,-11],[1,-13],[9,-16],[29,-22],[7,8],[-3,27],[6,22],[15,19],[1,23],[-11,29],[-13,25],[-17,21],[-74,72],[-7,24],[25,11],[108,-24],[42,5],[16,28],[17,19],[18,11],[37,4],[51,-13],[25,-2],[23,5],[29,15],[42,52],[28,11],[41,8],[31,1],[56,-20],[35,0],[-3,34],[-23,66],[-28,67],[-23,23],[-57,42],[-68,81],[-34,50],[-9,25],[4,16],[12,25],[123,88],[97,89],[42,45],[21,31],[21,23],[22,15],[47,17],[13,22],[3,37],[8,33],[44,87],[33,23],[51,17],[33,21],[41,71],[-4,18],[-19,14],[-14,20],[-62,188],[-42,91],[-49,78],[-45,97],[-73,94],[-1,25],[13,29],[-6,6],[-76,-41],[-18,-2],[-29,18],[-20,22],[-16,40],[1,20],[11,20],[15,48],[0,24],[-5,23],[-6,17],[-9,9],[-23,5],[-38,3],[-13,-9],[43,-72],[-7,-18],[-54,-8],[-24,4],[-22,9],[-20,14],[-63,75],[-13,29],[4,20],[-5,11],[-13,-7],[-17,0],[-24,7],[-5,9],[44,41],[3,12],[-21,14],[-30,2],[-8,13],[10,12],[41,23],[15,15],[-25,11],[-13,1],[-28,-25],[-42,-50],[-30,-18],[-41,23],[-27,8],[-18,-5],[-28,-39],[-61,-28],[-109,-67],[-46,-21],[-51,4],[-9,14],[0,22],[4,19],[6,15],[2,18],[-4,75],[9,21],[17,13],[32,13],[81,-16],[37,3],[27,17],[26,26],[27,33],[5,32],[-28,51],[-10,11],[-72,41],[-40,14],[-35,6],[-26,12],[-16,17],[-15,28],[-1,19],[2,25],[15,17],[64,20],[0,5],[-53,15],[-25,-2],[-21,-17],[-27,-38],[-16,-11],[-48,23],[-29,3],[-19,11],[-11,10],[7,11],[24,11],[41,33],[3,18],[-29,29],[-15,7],[-60,11],[-72,-11],[-28,6],[-12,32],[-7,39],[-4,45],[-13,76],[-14,40],[-19,5],[-88,-16],[-20,0],[-15,6],[-57,51],[-24,18],[-13,4],[-42,55],[-16,10],[-19,27],[-22,43],[-24,14],[-26,-17],[-26,-24],[-26,-31],[-14,-27],[-2,-22],[16,-16],[91,-28],[24,-19],[19,-31],[15,-37],[10,-45],[-1,-33],[-11,-22],[-20,-19],[-57,-31],[-58,-18],[-59,-5],[-28,5],[-152,60],[-27,0],[-35,8],[-79,25],[-43,3],[-76,20],[-128,12],[-25,-10],[34,-27],[30,-14],[25,-1],[37,-24],[48,-49],[28,-29],[22,-35],[1,-12],[-23,-24],[-178,125],[-109,-44],[-51,-16],[-43,-3],[-54,18],[-121,60],[-46,21],[-16,3],[-106,-26],[-91,-1],[-185,25],[-67,17],[-18,18],[-22,8],[-40,0],[-105,20],[-97,-44],[-116,40],[-35,24],[-11,17],[-33,68],[-5,37],[10,33],[9,22],[10,13],[-64,-38],[-22,-6],[-29,-2],[-87,14],[-14,-7],[5,-13],[23,-20],[2,-11],[-48,-9],[-73,9],[-33,-4],[-14,-5],[-33,-31],[-14,-7],[-17,3],[-77,69],[-62,44],[-73,17],[-33,14],[-18,17],[-100,140],[-14,30],[-32,110],[-10,24],[-13,15],[25,3],[95,-13],[91,1],[50,-9],[57,-28],[76,-19],[53,-4],[87,7],[98,18],[11,14],[-63,25],[-57,32],[-52,42],[-31,18],[-53,11],[-146,8],[-137,28],[-93,38],[-77,42],[-31,23],[-11,18],[-12,56],[-13,93],[-12,62],[-12,32],[-1,28],[26,59],[74,65],[2,10],[-15,3],[-31,16],[-10,24],[-4,38],[0,32],[3,27],[13,33],[32,59],[46,73],[49,67],[9,22],[4,61],[7,43],[6,31],[11,23],[31,44],[38,42],[60,35],[5,14],[1,18],[3,13],[6,9],[149,114],[68,46],[57,30],[69,21],[195,44],[101,13],[127,-3],[233,-25],[28,-17],[7,-9],[10,-25],[-7,-16],[-64,-54],[-80,-45],[-53,-39],[-88,-88],[-24,-31],[-110,-178],[-26,-30],[-15,-23],[-11,-64],[4,-23],[17,-37],[59,-81],[16,-38],[0,-35],[-7,-83],[-1,-42],[3,-40],[12,-58],[22,-75],[51,-76],[79,-77],[59,-50],[59,-38],[69,-55],[15,-27],[-32,-30],[-74,-45],[-98,-20],[-52,-18],[-65,-40],[-82,-31],[-32,-19],[11,-13],[64,16],[54,20],[84,45],[50,16],[152,0],[26,-9],[-11,-27],[-7,-8],[5,-12],[17,-16],[33,-17],[13,15],[9,39],[23,157],[9,47],[5,45],[-1,43],[-11,27],[-39,16],[-53,-3],[-28,4],[-33,9],[-25,13],[-16,17],[-31,53],[-24,30],[-60,53],[-28,18],[14,21],[55,24],[33,23],[39,67],[23,11],[84,-9],[114,-52],[72,-46],[19,-5],[0,9],[-18,21],[-82,56],[-38,41],[-17,29],[8,13],[46,13],[6,15],[-63,18],[-31,-1],[-26,-12],[-28,-1],[-51,23],[-14,13],[-30,39],[-15,35],[-17,21],[-7,17],[-3,53],[2,31],[7,26],[12,22],[33,41],[19,12],[35,5],[76,-20],[203,-73],[-5,23],[-227,99],[-81,25],[-20,36],[122,136],[111,32],[56,40],[91,2],[85,-26],[1,7],[-38,48],[3,11],[48,29],[89,33],[108,26],[22,14],[28,9],[51,9],[127,4],[71,-4],[95,-20],[55,-37],[17,-21],[30,-71],[24,-98],[35,-40],[56,-23],[39,-24],[22,-27],[6,-33],[-10,-40],[7,-41],[25,-43],[20,-23],[42,-28],[1,-14],[-13,-17],[-28,-23],[-70,-71],[-90,-79],[-64,-67],[-3,-20],[133,106],[42,-4],[2,-15],[-28,-52],[-33,-46],[-33,-30],[6,-11],[63,-52],[-11,-8],[-31,4],[-12,-5],[-9,-9],[-6,-14],[0,-21],[5,-25],[-1,-20],[-6,-13],[7,-5],[18,2],[16,11],[27,35],[88,95],[57,36],[18,3],[52,-23],[13,1],[-58,73],[-5,19],[12,27],[7,9],[32,21],[26,10],[15,-4],[24,-37],[11,-26],[19,-11],[44,14],[28,31],[36,-20],[54,-50],[-5,-50],[0,-49],[3,-37],[65,-66],[44,-30],[9,0],[-2,10],[-9,22],[-24,23],[-23,34],[-20,42],[12,97],[34,51],[32,-13],[43,-29],[34,-3],[53,3],[108,-59],[58,-2],[-5,25],[-44,11],[-64,33],[-101,39],[-46,45],[-8,21],[1,22],[6,20],[10,18],[20,17],[97,51],[69,22],[51,7],[87,0],[100,-9],[55,-15],[62,-37],[79,-36],[28,-7],[33,1],[38,8],[36,-2],[114,-54],[30,-28],[18,-33],[14,-33],[8,-31],[-3,-26],[-95,-110],[-41,-19],[-28,-42],[-40,-80],[-35,-42],[-3,-9],[7,-2],[21,19],[36,55],[26,48],[47,39],[78,46],[68,22],[58,-2],[49,-6],[39,-12],[24,-9],[7,-8],[16,-35],[-1,-23],[-10,-27],[-19,-30],[-84,-34],[-47,-26],[-29,-10],[-87,-9],[4,-11],[65,-14],[71,5],[-1,-17],[-34,-45],[-11,-39],[9,-33],[-1,-26],[-26,-54],[-28,-50],[10,-7],[66,71],[18,78],[27,68],[31,38],[23,14],[74,6],[40,40],[35,12],[15,1],[29,-15],[-1,-16],[-43,-71],[-92,-116],[38,13],[25,28],[34,27],[38,41],[25,-37],[39,-28],[23,-62],[38,-30],[23,-24],[-3,40],[-33,79],[9,32],[25,16],[79,67],[55,-22],[34,-20],[17,5],[43,-3],[69,-10],[67,-19],[66,-27],[50,-31],[35,-35],[21,-25],[8,-14],[12,-35],[-9,-24],[-50,-54],[-27,-25],[-27,-11],[-73,11],[-23,-7],[-24,-17],[-76,-75],[-42,-32],[-41,-21],[-10,-11],[89,1],[24,23],[21,41],[39,43],[74,20],[103,-42],[52,1],[39,43],[44,29],[17,6],[9,-3],[33,-31],[10,-27],[0,-61],[-5,-19],[-29,-47],[-73,-70],[-47,-26],[-52,-14],[-57,-24],[-20,-19],[-20,-27],[-20,-18],[-25,-15],[33,-22],[12,0],[13,13],[33,53],[24,22],[14,5],[14,-2],[14,-10],[14,-19],[-1,-44],[-42,-176],[7,0],[26,48],[74,184],[18,36],[36,37],[80,56],[63,30],[70,25],[37,9],[43,-7],[28,-28],[37,-6],[46,8],[30,-4],[33,-11],[29,-22],[48,-24],[110,-45],[14,-10],[12,-17],[12,-25],[-1,-25],[-15,-24],[-18,-15],[-22,-6],[-23,-13],[-42,-35],[-13,-6],[-66,-15],[-61,-7],[-38,-14],[-73,-38],[-101,-70],[1,-17],[40,-8],[33,11],[45,48],[42,19],[66,15],[91,13],[39,-2],[7,-3],[5,-11],[3,-21],[-15,-26],[-17,-13],[-47,-59],[31,-16],[42,-7],[24,16],[22,37],[25,20],[27,4],[24,10],[21,15],[5,9],[-30,19],[-2,12],[12,28],[22,32],[23,19],[17,2],[57,-21],[39,-37],[98,-110],[12,-21],[34,-81],[7,-37],[-6,-25],[-8,-15],[-10,-6],[-22,0],[-130,33],[-60,-4],[-26,-10],[-21,-14],[-16,-17],[-12,-22],[-23,-12],[-82,0],[-47,-12],[-80,-29],[-28,-16],[-7,-21],[49,4],[81,27],[75,8],[127,-60],[41,-10],[23,9],[28,3],[101,-4],[35,-8],[51,-23],[78,-50],[15,-15],[9,-15],[2,-16],[0,-40],[-8,-14],[-27,-9],[-112,11],[-35,8],[-42,-10],[-34,3],[-44,16],[-48,29],[-72,-27],[-58,17],[-59,-15],[-117,-64],[13,-11],[160,55],[31,-4],[51,-20],[80,-39],[23,-16],[0,-63],[-12,-41],[-25,-47],[-37,6],[-85,29],[-35,4],[-26,-5],[-34,-18],[-17,-1],[-137,37],[-31,2],[-3,-4],[6,-7],[125,-58],[92,-6],[57,-10],[34,-17],[16,-13],[2,-39],[30,-39],[28,-15],[18,-1],[30,14],[30,2],[25,-9],[31,-22],[37,-6],[33,-13],[26,-2],[71,6],[31,-9],[8,-7],[-13,-12],[-66,-30],[-10,-29],[37,-37],[20,-28],[-1,-21],[-20,-48],[-5,-20],[6,-1],[48,39],[7,-5],[5,-55],[6,4],[16,44],[-7,60],[28,23],[88,18],[-15,-93],[-2,-49],[-39,-81],[-32,-26],[1,-5],[23,-10],[14,-1],[14,12],[33,63],[66,65],[12,1],[0,-23],[-9,-44],[31,-21],[29,21],[16,17],[37,-2],[17,-9],[5,-19],[-17,-81],[3,-20],[39,-53],[4,3],[-8,26],[-8,64],[8,28],[32,35],[65,52],[25,10],[15,-7],[24,-25],[-8,-14],[-26,-16],[-19,-28],[-13,-40],[14,-22],[53,-2],[54,34],[30,-17],[37,-43],[66,-69],[39,19],[47,-53],[-64,-42],[20,-88],[-82,4],[-46,-7],[-31,8],[-34,-3],[31,-20],[59,-9],[6,-27],[46,1],[35,5],[63,-1],[4,31],[41,17],[23,19],[20,-11],[57,-13],[77,-60],[-34,-36],[-9,-34],[-12,-29],[-6,-26],[-14,-18],[-109,-102],[18,0],[46,24],[91,37],[50,15],[36,-10],[18,-1],[16,14],[30,-16],[62,-13],[71,83],[43,-16],[40,-52],[86,-91],[45,-52],[15,-24],[-2,-24],[-41,-25],[-20,-5],[-55,47],[-50,24],[-31,-3],[-30,-18],[10,-10],[121,-73],[21,-53],[2,-24],[-81,-35],[-26,-2],[-57,17],[-32,31],[-28,12],[-37,3],[-12,-6],[41,-54],[-4,-16],[-21,-10],[-11,-26],[81,-47],[61,-48],[9,-19],[-41,-14],[-29,-3],[-62,7],[-35,10],[-9,-11],[35,-25],[14,-17],[10,-24],[7,-22],[1,-20],[-28,-18],[-35,-47],[-14,-50],[-31,-5],[-13,10],[-42,-15],[-55,20],[-20,23],[-61,93],[-1,-10],[15,-47],[-3,-28],[-64,-21],[0,-8],[39,-14],[48,-12],[-8,-43],[1,-186],[-11,-66],[-23,-58],[-34,-55],[-36,36],[-15,37],[-12,19],[-17,16],[-23,7],[-23,0],[-25,-33],[-28,29],[-26,34],[10,90],[11,45],[-4,0],[-16,-21],[-36,-66],[-23,-81],[-31,31],[-28,39],[-22,38],[-37,45],[-36,53],[-19,61],[-8,13],[-21,52],[-8,14],[-8,5],[-17,32],[6,35],[28,41],[26,29],[42,28],[50,17],[22,37],[28,67],[30,48],[33,26],[-16,5],[-42,-23],[-30,-33],[-35,-55],[-32,-36],[-84,-41],[-30,-8],[-36,-4],[-78,5],[-18,14],[9,39],[56,71],[-9,5],[-20,-25],[-27,-17],[-23,-9],[-34,3],[-41,44],[-19,13],[-39,15],[-16,15],[-66,107],[-13,29],[-7,27],[-21,24],[-35,19],[-8,-3],[13,-24],[0,-21],[-30,-12],[-31,4],[-33,22],[-3,-29],[35,-52],[1,-66],[-10,-7],[-24,-4],[-16,8],[-53,50],[-50,34],[-36,19],[-4,-14],[23,-59],[27,-59],[44,-48],[69,-57],[32,-33],[-25,-47],[-22,-15],[-13,-5],[-42,0],[-77,26],[-37,28],[-52,69],[-87,71],[-19,0],[-61,-29],[9,-5],[40,-2],[29,-9],[69,-56],[6,-24],[-18,-26],[1,-33],[20,-40],[20,-26],[41,-18],[20,-2],[8,-12],[-25,-89],[-2,-24],[7,-10],[9,-1],[52,36],[22,9],[19,2],[22,-10],[26,-23],[14,-23],[5,-23],[7,-16],[52,-25],[-5,-12],[-53,-38],[-3,-6],[11,-3],[33,-22],[31,-36],[19,-42],[4,-20],[0,-20],[4,-12],[16,-2],[7,8],[7,-2],[9,-10],[8,-32],[19,-95],[10,-27],[5,-1],[3,95],[9,16],[33,-17],[47,-37],[34,-33],[4,-15],[-25,-30],[5,-13],[19,-20],[17,8],[12,33],[22,33],[25,23],[48,-19],[39,-49],[6,-17],[26,-21],[22,12],[44,-56],[-21,-26],[-45,-37],[-5,-13],[11,3],[87,0],[23,-15],[5,-28],[-38,-79],[-35,7],[-47,2],[-24,-4],[4,-11],[65,-36],[18,-30],[25,-31],[12,-25],[-1,-12],[-10,-17],[5,-6],[44,-11],[28,10],[34,4],[30,-3],[3,-11],[-5,-29],[-31,-26],[9,-7],[36,8],[17,-12],[21,-64],[25,-50],[-20,-11],[-22,-4],[3,-64],[14,-65],[1,-62],[-5,-56],[-20,-12],[-22,1],[-8,14],[-53,166],[-13,30],[-16,26],[-56,72],[2,-12],[14,-33],[12,-49],[16,-98],[8,-64],[-4,-24],[-11,-5],[-3,-12],[5,-17],[43,-65],[21,-38],[15,-41],[13,-27],[13,-14],[-3,-12],[-19,-9],[-32,-4],[-16,5],[-58,38],[-8,-12],[32,-137],[-1,-33],[-16,-11],[-20,13],[-24,39],[-36,43],[-49,48],[-47,38],[-11,-1],[-7,-11],[-7,-2],[-9,7],[-16,28],[-16,19],[-68,63],[-7,1],[7,-19],[6,-41],[-7,-9],[-18,3],[-34,18],[-23,42],[-28,72],[-16,27],[-1,-18],[8,-69],[-1,-23],[-17,-6],[-8,6],[-7,19],[-6,30],[-17,23],[-25,16],[-14,16],[-7,30],[-5,6],[-45,-6],[-23,21],[-65,83],[-59,91],[-38,47],[-14,12],[20,-59],[22,-86],[6,-40],[-10,-1],[-22,17],[-113,111],[-69,53],[-39,9],[-63,6],[-14,-28],[34,-64],[33,-49],[32,-32],[50,-63],[46,-82],[19,-25],[62,-35],[33,-9],[34,-3],[3,-12],[-16,-23],[-4,-14],[75,-37],[28,-20],[27,-33],[15,-9],[65,-84],[16,-14],[58,-27],[19,-18],[32,-54],[20,-28],[28,-66],[21,-29],[52,-34],[22,-9],[10,-13],[-7,-30],[-6,-12],[-30,-21],[5,-29],[17,-51],[-1,-31],[-18,-13],[-37,-15]],[[27555,95600],[-45,6],[-9,18],[11,33],[15,30],[19,28],[0,24],[-39,36],[-28,17],[-27,8],[-54,-4],[-30,-10],[-33,-2],[-35,6],[-29,15],[-59,65],[-22,8],[-29,-2],[-25,9],[-23,20],[-38,20],[10,-15],[38,-36],[26,-37],[15,-36],[-7,-28],[-321,-16],[-138,8],[-28,25],[-66,107],[-14,-189],[-241,-31],[-56,5],[-93,21],[-121,51],[-50,34],[-20,34],[-15,18],[-9,3],[-30,-40],[-33,-83],[-83,21],[-104,21],[-38,82],[-2,-118],[-169,15],[-81,-4],[-23,103],[-4,115],[-33,-73],[14,-61],[5,-75],[-72,21],[-157,11],[-56,10],[7,100],[13,99],[202,98],[60,47],[44,19],[69,12],[89,7],[60,-6],[70,6],[82,17],[59,5],[11,7],[-17,9],[-63,63],[-23,15],[-23,6],[-45,3],[-45,28],[-25,25],[-28,33],[-43,63],[-44,71],[22,39],[72,31],[72,21],[73,11],[60,1],[73,-17],[103,-33],[59,-37],[74,-78],[49,-63],[39,-28],[177,-51],[59,-8],[70,4],[143,13],[70,15],[31,16],[16,24],[21,18],[63,43],[96,87],[54,69],[12,24],[11,28],[9,33],[-30,-18],[-167,-171],[-35,-31],[-97,-52],[-42,-9],[-66,3],[-89,23],[-104,-37],[-63,9],[-56,26],[0,122],[-71,97],[78,49],[65,30],[115,80],[26,0],[84,-12],[-46,18],[-45,26],[-100,-6],[35,170],[-67,-127],[-68,-67],[-42,-34],[-46,-20],[-176,-16],[43,62],[40,93],[-42,-35],[-99,-52],[-74,-27],[-61,-14],[-118,3],[-59,26],[17,64],[0,79],[36,36],[54,47],[59,63],[40,65],[158,30],[153,11],[128,35],[63,6],[60,-16],[244,-27],[100,-21],[44,-15],[33,-5],[34,22],[44,22],[152,-3],[42,4],[39,11],[47,20],[56,31],[8,15],[-38,-1],[-39,-8],[-58,-22],[-56,-12],[-57,2],[-115,19],[-200,4],[-102,8],[-47,9],[-27,13],[-23,19],[-20,25],[10,18],[41,10],[35,2],[57,-14],[63,-23],[69,-3],[-24,21],[-88,44],[-60,36],[-51,45],[-40,45],[-87,70],[-70,70],[-50,30],[-52,16],[-160,19],[-32,12],[-76,61],[-20,102],[-34,63],[32,79],[54,37],[318,-29],[135,5],[172,-10],[92,-20],[106,-48],[94,-55],[91,-37],[83,-50],[91,-74],[54,-36],[47,-22],[62,-18],[118,-24],[103,-8],[53,3],[57,17],[41,21],[-45,5],[-119,-2],[-82,11],[-47,24],[-50,32],[-79,60],[-60,40],[-131,65],[-97,64],[-78,61],[-7,27],[56,18],[69,13],[432,41],[258,50],[105,57],[12,13],[346,81],[244,30],[94,5],[85,13],[3,8],[-74,11],[-75,5],[-171,0],[-152,9],[-46,18],[10,30],[14,25],[46,42],[49,31],[209,91],[140,38],[41,27],[-302,-59],[-106,-43],[-106,-64],[-55,-18],[-39,5],[-35,-6],[-31,-17],[-25,-31],[-21,-45],[-19,-31],[-17,-16],[-43,-24],[-104,-46],[-242,-65],[-82,-16],[-70,-3],[-226,-36],[-68,-1],[-76,11],[33,31],[119,58],[32,26],[-77,-6],[-78,-15],[-172,-14],[-69,-23],[-66,-43],[-53,-27],[-40,-11],[-55,-6],[-202,-4],[-45,3],[-116,33],[-103,-12],[-43,3],[-78,23],[-23,15],[3,20],[45,38],[53,36],[170,80],[109,38],[158,32],[369,36],[17,27],[-374,-30],[-318,-37],[-52,-14],[-74,-37],[-235,-132],[-70,-34],[-106,-8],[-81,12],[-63,16],[-109,40],[-83,21],[-39,14],[-23,14],[-18,17],[-15,19],[27,16],[210,35],[284,-7],[128,7],[125,21],[186,52],[201,73],[40,23],[-74,6],[-54,-6],[-131,-26],[-208,-70],[-181,-25],[-448,-13],[-142,-20],[-63,4],[-47,19],[-52,36],[9,28],[107,32],[84,8],[15,6],[-119,31],[-11,16],[69,34],[148,52],[76,16],[137,10],[142,-5],[5,9],[-140,20],[-105,3],[-138,-13],[-369,-83],[-31,2],[-53,14],[15,21],[197,87],[6,14],[-141,-2],[-42,4],[-40,11],[-58,-10],[-75,-28],[-52,-13],[-31,4],[-78,34],[10,29],[62,36],[57,26],[77,23],[126,30],[90,10],[148,0],[70,13],[62,23],[78,37],[86,26],[140,20],[118,-6],[65,-19],[51,-32],[56,-24],[5,20],[46,24],[58,11],[69,-4],[61,-12],[79,-29],[63,-13],[30,0],[38,17],[99,0],[-2,7],[-32,17],[-40,12],[-352,85],[-10,19],[119,17],[74,21],[35,5],[87,44],[57,23],[105,27],[43,-8],[53,-23],[51,-14],[151,-14],[65,-14],[115,-83],[46,-27],[66,-27],[39,-11],[77,-7],[8,16],[-92,39],[-25,23],[11,19],[20,10],[28,1],[72,-17],[192,-58],[288,-69],[110,-16],[68,-24],[62,-30],[61,-21],[11,2],[-57,46],[-139,57],[-371,97],[-147,51],[-72,35],[-53,34],[-1,19],[50,23],[68,17],[85,7],[11,8],[-78,26],[-45,23],[1,16],[93,12],[57,-4],[108,-28],[91,-14],[15,9],[-94,76],[-9,18],[14,10],[33,10],[98,-6],[161,-37],[290,-19],[79,3],[-12,8],[-115,23],[-121,31],[-53,19],[-39,25],[-47,21],[-4,10],[75,16],[196,-3],[182,-25],[155,9],[97,-6],[39,-7],[70,-28],[224,-98],[23,-16],[26,-24],[27,-32],[38,-9],[74,22],[49,22],[-21,21],[-124,47],[-28,20],[-61,35],[-139,61],[-37,29],[-23,24],[383,23],[370,-20],[60,-15],[40,-20],[38,-30],[60,-31],[119,-48],[171,-29],[-33,20],[-127,52],[-58,36],[1,25],[10,18],[20,13],[144,49],[206,15],[24,-3],[161,-75],[76,-31],[53,-12],[2,5],[-74,35],[-56,19],[-6,11],[94,37],[59,9],[251,11],[28,-4],[24,-10],[59,-40],[22,-5],[227,-11],[73,4],[84,-26],[51,-3],[83,5],[61,-7],[226,-5],[47,-11],[-1,-12],[-48,-26],[-66,-26],[-423,-84],[-31,-14],[83,-4],[121,4],[94,9],[111,29],[37,1],[70,14],[137,39],[109,20],[49,-9],[42,-14],[28,-2],[15,11],[23,31],[14,11],[36,8],[22,-1],[35,-14],[40,-35],[36,-24],[20,0],[83,27],[41,4],[96,-10],[39,-12],[7,-13],[-25,-13],[-16,-12],[-6,-9],[14,-11],[58,-25],[83,-52],[-1,-19],[-45,-39],[1,-10],[214,41],[217,-18],[61,-13],[23,-15],[25,-25],[27,-35],[-19,-36],[-95,-56],[-98,-44],[-58,-40],[-88,-22],[-305,-95],[-149,-31],[-85,-30],[-39,-5],[-181,5],[-48,-16],[-26,-28],[-58,-14],[-84,-9],[-172,-8],[-39,-32],[-10,-21],[-17,-17],[-15,-8],[-492,-113],[-10,-19],[50,-8],[63,8],[717,138],[137,9],[128,-10],[-14,-32],[-181,-91],[-231,-83],[-115,-62],[-291,-107],[-237,-107],[-92,-55],[-122,-97],[-42,-23],[-51,-10],[-60,4],[-54,14],[-72,36],[-65,41],[-21,7],[13,-20],[126,-135],[-14,-26],[-232,-28],[-103,-24],[-53,-6],[-38,4],[-36,-2],[-36,-10],[-2,-10],[32,-11],[92,-9],[206,30],[33,-2],[52,-15],[3,-13],[-55,-44],[-166,-51],[21,-3],[48,-18],[-1,-17],[-52,-38],[-25,-13],[-160,-36],[-70,-8],[-62,4],[-281,79],[-99,11],[-94,20],[-69,-3],[-74,-23],[33,-12],[136,-22],[114,-4],[47,-9],[18,-14],[49,-52],[8,-29],[-11,-26],[-15,-18],[-18,-10],[-30,-6],[-111,4],[-41,-6],[-48,-16],[-61,-6],[-109,3],[-128,-23],[-67,-4],[-76,10],[-81,25],[-86,13],[-145,11],[12,-15],[51,-6],[104,-38],[50,-52],[47,-9],[96,-42],[69,-7],[72,-14],[102,18],[68,-3],[-14,-105],[-30,-10],[-164,0],[-79,15],[-34,16],[-76,18],[-68,-11],[-62,3],[-42,-11],[-67,1],[-174,-18],[-92,0],[-68,11],[-79,4],[-90,-5],[7,-12],[38,-3],[55,-20],[52,-30],[43,-13],[51,7],[52,14],[190,24],[84,3],[75,-10],[49,-13],[35,-15],[44,-41],[109,-5],[84,-14],[133,-60],[37,-4],[15,-15],[-28,-39],[-4,-23],[-92,-45],[-144,-13],[-158,4],[-113,-5],[-12,-5],[78,-12],[180,-52],[69,-29],[13,-16],[-100,-63],[-87,-126],[-29,-10],[-30,-3],[-77,2],[-98,-31],[-74,-7],[-134,12],[-154,0],[-13,-21],[-7,-39],[1,-58],[9,-78],[-8,-57],[-26,-36],[-32,-27],[-58,-26],[-60,-16],[-44,-6],[-75,-1],[-213,-18],[-105,1],[-81,8],[-83,26],[-140,73],[-40,16],[-38,9],[1,-15],[42,-41],[35,-27],[28,-12],[-7,-12],[-62,-20],[-67,-9],[-81,1],[-2,-8],[27,-21],[35,-20],[24,-6],[61,6],[72,25],[44,8],[89,-6],[35,-9],[110,-55],[16,-3],[82,28],[118,1],[44,-22],[16,-43],[2,-36],[-12,-27],[27,-26],[67,-25],[52,-6],[37,15],[56,35],[24,8],[23,-2],[34,-25],[46,-50],[5,-57],[-38,-66],[-46,-43],[-180,-71],[-55,-28],[-43,-29],[-63,-26],[-123,-35],[-64,-7],[-140,-38],[-31,-1]],[[29247,77133],[40,23],[82,87],[61,31],[80,91],[57,18],[11,20],[9,76],[6,27],[26,74],[33,63],[26,86],[47,56],[71,46],[66,101],[36,31],[35,22],[15,42],[21,23],[58,48],[64,13],[64,39],[50,22],[30,37],[44,19],[132,107],[36,50],[48,103],[41,52],[14,55],[60,90],[62,119],[30,85],[46,47],[89,135],[47,54],[20,6],[53,48],[34,50],[54,50],[97,62],[91,74],[123,65],[144,96],[117,51],[82,8],[100,23],[35,-2],[156,-42],[74,-51],[85,-108],[13,-29],[2,-40],[-45,19],[-40,2],[28,-23],[47,-66],[-3,-84],[-26,-75],[-79,-37],[-20,-30],[-16,-49],[-16,-18],[-39,-22],[-21,-32],[-62,-50],[-28,-6],[-32,12],[-78,48],[-47,45],[-24,-25],[-20,-26],[-46,9],[-21,-12],[-34,13],[-71,-57],[20,-7],[56,33],[19,-4],[42,-42],[100,-46],[26,-31],[25,-97],[16,-15],[35,10],[39,48],[32,26],[63,21],[-13,-32],[48,2],[48,-43],[-18,-30],[-24,-61],[-16,-120],[-49,-80],[-64,-78],[16,-19],[19,-12],[41,24],[28,-2],[31,-15],[-10,-61],[-11,-41],[7,-39],[18,-74],[25,-16],[10,-94],[14,-51],[-2,-42],[25,-26],[4,-42],[92,-12],[19,-16],[63,-16],[12,-12],[12,-23],[-63,-51],[51,-37],[47,-60],[38,12],[16,-2],[42,-37],[12,-19],[6,-16],[21,3],[31,15],[54,-4],[59,-21],[-5,-33],[-9,-22],[46,7],[28,-23],[10,12],[7,14],[57,39],[73,81],[9,-10],[3,-31],[10,-50],[28,-35],[33,-7],[45,26],[18,-23],[22,-44],[20,-58],[-1,-21],[-26,-18],[-24,-26],[99,-10],[10,-11],[10,-23],[-10,-23],[-9,-12],[-18,14],[-33,-12],[-28,-30],[-31,-17],[-20,-2],[-22,-14],[-20,-21],[-20,-6],[-65,-53],[-66,-35],[-69,-55],[-71,-34],[-73,-42],[-16,-4],[-19,2],[-41,-41],[-21,6],[-21,-7],[-25,9],[-16,16],[13,-43],[3,-39],[-6,-18],[-12,-20],[-42,4],[-16,14],[-20,21],[-9,34],[-21,25],[-13,-34],[1,-25],[-16,-35],[-18,59],[-34,-21],[-14,-63],[7,-18],[10,-47],[-16,-25],[-12,6],[-25,-70],[-31,-25],[-31,-72],[-37,-54],[-11,-37],[-62,-83],[-24,2],[-17,-2],[-26,-35],[-5,-70],[-11,9],[-12,-2],[-6,-22],[-9,-4],[-23,21],[-27,-11],[-21,15],[-27,103],[-14,36],[-26,12],[-6,-22],[-10,-21],[-25,42],[-18,158],[0,38],[26,132],[64,120],[-21,4],[-56,-83],[6,20],[9,21],[19,33],[29,32],[39,18],[27,3],[18,18],[27,31],[5,16],[-24,-19],[-39,-18],[10,24],[10,13],[209,214],[42,35],[84,45],[12,29],[-12,19],[33,-17],[-3,-24],[-5,-18],[-2,-30],[3,-29],[34,-14],[27,-54],[-13,73],[25,42],[96,55],[80,6],[25,26],[-68,18],[-81,-10],[-50,19],[-70,-12],[-73,12],[-22,-16],[-19,-35],[-23,16],[-12,2],[-11,12],[24,60],[74,89],[46,77],[12,16],[10,31],[-24,-5],[-22,-12],[-15,35],[-27,48],[-2,-20],[13,-59],[-51,-104],[-34,-7],[-44,-49],[-62,-42],[-73,-80],[-95,-68],[-19,0],[-43,56],[12,25],[11,34],[-11,-9],[-7,-15],[-25,-24],[21,-47],[-11,-17],[-30,-23],[-27,-33],[-25,-22],[-20,28],[-54,-36],[-46,-9],[-10,18],[-3,28],[-16,7],[-30,-8],[-11,15]],[[31354,77231],[-2,-18],[8,-30],[6,-58],[-9,-27],[2,-35],[26,-10],[6,-11],[1,-13],[-57,-90],[-48,12],[-26,-23],[-27,-7],[-12,-41],[-15,-8],[-20,2],[-18,12],[-13,-6],[-19,-73],[-16,7],[-6,-26],[-8,-12],[-12,-10],[-10,33],[-7,30],[-9,7],[-13,8],[-13,0],[-9,-5],[-11,-20],[-16,-17],[-12,15],[-9,22],[-8,-36],[-12,-39],[2,-45],[-5,-27],[-11,7],[-11,24],[-31,18],[-25,-1],[5,25],[24,36],[-8,7],[-11,-5],[-5,5],[8,33],[1,36],[-10,-13],[-14,-38],[-31,-30],[1,-51],[-30,-104],[-1,-45],[-19,-35],[-25,-30],[-33,8],[-25,-26],[-13,-31],[-11,-4],[-5,38],[-5,12],[-9,-57],[-9,-3],[-4,40],[-4,27],[-13,-23],[-9,-61],[-9,5],[-2,23],[-7,7],[-2,-26],[3,-37],[-5,-19],[-8,10],[-9,18],[-15,-14],[-14,-5],[0,18],[3,22],[-27,-12],[-32,-41],[-26,-56],[9,-9],[10,-18],[-44,-86],[-44,-78],[-34,-127],[-14,-15],[-11,-23],[-13,-77],[-14,-68],[8,-31],[5,-31],[13,-31],[11,-3],[11,6],[9,-1],[5,-13],[-2,-16],[-13,-4],[-26,-27],[-22,-11],[-11,-33],[-16,-38],[-32,-60],[13,-19],[50,-20],[22,-22],[34,-111],[-8,-11],[-3,-21],[30,-29],[9,-80],[25,-27],[36,-17],[45,24],[37,34],[-1,27],[-24,64],[-5,30],[-18,19],[-6,-16],[-11,21],[-2,12],[11,6],[12,-3],[14,-11],[36,-69],[10,-91],[3,-58],[-4,-20],[-11,5],[-20,-4],[-96,-30],[-21,-27],[-49,-28],[-3,14],[3,30],[-3,60],[-10,3],[-75,-99],[-30,-6],[-24,-29],[-6,16],[-4,74],[15,62],[-8,-1],[-26,-37],[-11,23],[-5,25],[-8,14],[-9,5],[7,-54],[-17,-42],[-5,-106],[-22,-44],[-68,-29],[-45,6],[-40,-9],[-53,-20],[-29,12],[-30,-21],[-103,-6],[-21,11],[-28,-40],[-44,-25],[-111,-91],[-25,-33],[-29,-52],[-21,-28],[-16,-9],[-10,-23],[-11,-15],[10,52],[12,43],[10,85],[-3,68],[-12,28],[-12,19],[14,-67],[2,-83],[-5,-49],[-27,-93],[-12,-22],[-13,-19],[-10,-8],[-10,-15],[-11,-24],[-10,-47],[6,-43],[53,-15],[15,13],[7,-31],[4,-43],[-4,-46],[-9,-47],[-7,-58],[-5,-89],[-9,-80],[-1,25],[5,97],[-9,-10],[-6,-23],[-16,-125],[-22,-67],[-21,-46],[-21,8],[5,-37],[-6,-19],[-5,-40],[-13,-27],[-12,3],[-17,-18],[-6,-14],[-1,-27],[-11,-23],[-42,-122],[-35,-36],[-9,5],[10,57],[6,59],[-22,25],[-21,13],[-23,-1],[-27,45],[-34,33],[-47,89],[1,25],[-1,41],[14,65],[14,46],[19,24],[56,24],[14,36],[8,31],[-28,-52],[-41,-18],[-22,-20],[-18,-30],[-10,-38],[-24,-45],[2,-30],[4,-22],[-2,-45],[15,-44],[30,-72],[5,-112],[23,-74],[35,-88],[27,-24],[1,-33],[-12,-53],[-17,-25],[22,5],[10,-12],[10,-45],[0,-45],[-4,-26],[-6,-10],[0,26],[-5,9],[-7,-11],[-5,-13],[-2,-51],[-5,-26],[-18,-7],[-19,-67],[-17,-38],[-67,-258],[2,-42],[-12,-14],[-19,-12],[-19,-25],[-12,-29],[-12,-76],[-22,-85],[-14,35],[-4,31],[7,80],[24,130],[26,82],[21,38],[16,79],[-21,11],[-32,-1],[6,36],[9,32],[-16,32],[-10,4],[-10,13],[12,27],[5,28],[-3,34],[5,25],[-9,-3],[-13,-28],[-8,-10],[-5,24],[-6,-6],[-4,-16],[-9,-9],[-18,22],[-26,26],[-15,45],[-8,34],[8,62],[18,11],[24,-10],[31,0],[-4,14],[-11,-2],[-33,51],[-11,30],[-18,9],[-8,-30],[-9,-8],[11,65],[15,2],[22,18],[-6,37],[-14,17],[-25,-21],[0,26],[5,34],[19,0],[16,-11],[14,54],[1,24],[-24,-35],[-5,76],[23,73],[22,32],[27,-1],[28,5],[-17,14],[-18,7],[13,29],[12,5],[11,25],[-27,-4],[3,48],[-13,-10],[-16,-4],[-6,-20],[1,-34],[-4,-22],[-13,-18],[-20,-14],[-2,24],[-7,11],[-3,-51],[-5,-17],[-15,48],[-5,-10],[1,-14],[-4,-23],[-13,-13],[1,-30],[-5,-16],[-42,26],[-1,-9],[24,-57],[17,-19],[2,-31],[-15,-25],[-20,22],[-4,-2],[11,-38],[7,-33],[-7,-28],[1,-34],[-1,-31],[-5,-27],[10,-125],[12,-34],[12,-32],[6,-30],[-12,-5],[-20,25],[-17,19],[-21,61],[-4,24],[-5,20],[3,-45],[7,-49],[65,-110],[12,-42],[9,-34],[-2,-31],[-17,22],[-15,29],[-38,32],[-49,21],[-28,75],[1,-31],[-7,-27],[-16,33],[-11,27],[-4,31],[-20,-2],[-22,-27],[-22,7],[-2,51],[5,27],[24,65],[23,33],[10,43],[-4,66],[-4,-67],[-13,-34],[-20,-25],[-27,-46],[-6,-42],[-8,-78],[11,-27],[11,-7],[34,18],[18,-8],[39,-94],[72,-38],[27,-23],[22,-49],[32,-29],[25,-41],[1,-27],[-9,-32],[-3,-43],[-11,-27],[-26,-3],[-15,7],[-84,151],[-10,14],[-31,80],[-36,42],[-11,-1],[52,-78],[21,-55],[37,-78],[26,-32],[20,-51],[18,-24],[50,-34],[-18,-24],[28,-21],[4,-38],[-3,-44],[-38,17],[-1,-32],[3,-19],[-16,-15],[-24,21],[-61,116],[1,-16],[5,-18],[35,-74],[31,-45],[27,-20],[21,-38],[7,-23],[5,-34],[-15,-24],[-18,-13],[-17,24],[-12,24],[-27,42],[-8,47],[-20,-3],[-84,60],[-68,7],[7,-12],[8,-8],[54,-15],[22,-27],[44,-24],[26,-7],[11,-74],[35,-52],[5,-37],[25,-5],[43,37],[28,-13],[40,-10],[9,-30],[7,-57],[14,-65],[37,-253],[55,-207],[7,-36],[-13,31],[-41,138],[-23,99],[-23,175],[-7,39],[-8,16],[-5,-13],[-2,-22],[4,-18],[-9,-57],[4,-27],[14,-27],[17,-68],[13,-92],[-18,37],[-19,20],[-29,15],[-25,27],[1,-38],[-2,-42],[-20,13],[-14,14],[12,-44],[-26,13],[-17,-3],[-11,-39],[-15,-23],[-23,-8],[-33,36],[-11,43],[-4,48],[-2,-57],[6,-59],[-2,-45],[32,-8],[30,7],[40,-2],[26,9],[16,14],[38,-12],[3,-55],[-4,-54],[-3,-57],[11,0],[12,18],[6,103],[35,38],[12,-2],[11,-33],[4,-34],[4,-46],[-9,-70],[-53,-82],[-38,-76],[-20,-16],[-28,9],[-32,19],[-15,4],[-12,-6],[-8,23],[-4,43],[-13,14],[-9,-2],[-7,-45],[-29,-13],[-41,19],[-42,38],[18,-41],[105,-76],[12,-14],[11,-21],[-15,-33],[-11,-37],[-2,-29],[-4,-18],[-42,-49],[-23,9],[-58,88],[27,-76],[21,-33],[43,-17],[80,28],[26,-31],[-22,-55],[-21,-39],[-28,-5],[-25,-10],[-7,-27],[-18,-2],[-27,-1],[-43,-3],[-23,7],[-33,-55],[-12,-8],[-18,11],[-7,44],[-8,21],[0,-82],[3,-22],[6,-17],[-38,-44],[-37,-56],[-13,-15],[-15,-28],[-30,-80],[-8,-59],[-11,-65],[-1,29],[2,50],[-8,56],[-5,-104],[-12,-48],[-109,3],[-47,-26],[-74,-88],[-22,-39],[-60,-150],[-16,-96],[-12,41],[3,30],[0,25],[-15,-53],[15,-78],[-13,-29],[-40,-55],[-22,-9],[-25,-16],[-8,-54],[-33,-50],[-19,-22],[-36,13],[11,-48],[-13,-36],[-23,-28],[-28,-19],[-16,3],[-13,-10],[-11,-23],[-26,-22],[-28,12],[-30,8],[-18,-14],[29,-21],[16,-31],[-3,-42],[-8,-16],[-18,-22],[-8,3],[-5,20],[-6,41],[-9,-9],[-1,-19],[-8,-7],[-25,66],[1,-50],[9,-39],[9,-19],[8,-12],[3,-18],[-18,-43],[-9,-10],[-16,-7],[-10,-27],[3,-23],[-14,-50],[-34,-32],[-10,2],[-9,-10],[5,-22],[9,-16],[-1,-15],[-9,-21],[-17,-6],[-10,-23],[3,-22],[6,-12],[-1,-22],[-21,-21],[-4,-21],[10,-6],[7,6],[6,-4],[-12,-35],[-11,-22],[-10,-38],[-24,-11],[1,-12],[13,-11],[12,-30],[-22,-54],[-13,4],[-8,12],[-5,-43],[2,-23],[-5,-47],[-8,-56],[-6,-23],[1,-44],[4,-41],[13,-54],[20,-220],[13,-76],[24,-206],[41,-199],[57,-241],[93,-293],[11,-41],[-12,-36],[-4,-36],[-1,-56],[3,-53],[11,-66],[22,-100],[-12,20],[-31,144],[-4,84],[5,120],[-7,-3],[-6,-39],[-3,-45],[-8,-18],[-11,70],[1,31],[11,37],[-3,14],[-18,18],[-4,30],[2,30],[-10,15],[-8,-1],[5,-72],[9,-44],[11,-107],[17,-64],[10,-54],[118,-577],[28,-74],[10,-52],[11,-111],[2,-141],[-19,-259],[-5,-177],[-2,5],[-2,19],[-5,3],[-16,-81],[-23,-73],[-8,-114],[-10,-57],[-33,-60],[-20,2],[-50,-45],[-35,12],[-42,-26],[-27,3],[-16,54],[3,24],[6,24],[11,5],[36,-56],[7,24],[-11,28],[-21,16],[-16,17],[-31,128],[-33,88],[-6,59],[-56,35],[-41,55],[-27,96],[-15,171],[-18,20],[-8,13],[18,63],[19,54],[-15,-14],[-11,-19],[-14,-47],[-10,-7],[-9,7],[-11,90],[3,111],[15,41],[-23,1],[-23,-15],[3,-37],[-3,-21],[-18,6],[-13,13],[-17,38],[-25,73],[-49,203],[-10,28],[-17,30],[8,9],[14,6],[32,91],[25,55],[9,38],[-2,16],[-11,24],[-14,-21],[-7,6],[-16,48],[-16,13],[-11,-10],[12,-39],[10,-15],[-4,-56],[-4,-19],[-10,-16],[-15,8],[-7,-14],[-9,15],[-9,25],[-10,41],[26,232],[24,147],[3,169],[2,25],[-2,44],[-33,98],[-145,237],[-112,281],[-97,105],[-74,-23],[-12,-21],[-6,-28],[5,-31],[-7,-13],[-20,1],[-26,-7],[-70,-74],[-25,3],[-22,-19],[-17,-15],[-43,-8],[-37,-16],[-16,9],[-10,43],[0,44],[8,-34],[13,-27],[6,11],[2,24],[-13,46],[-41,59],[-48,87],[14,-3],[4,18],[-15,25],[7,28],[10,29],[-20,-4],[-18,-21],[-1,-25],[-3,-21],[-10,3],[-18,25],[-89,70],[-77,40],[59,18],[32,-14],[-3,21],[-8,13],[-26,18],[-32,-7],[-21,8],[-21,-17],[-22,-25],[-21,-13],[-80,-18],[-65,-20],[11,21],[11,13],[38,21],[6,42],[-9,40],[-10,-9],[-11,-32],[-13,23],[-14,0],[-4,-51],[-19,-34],[-8,-34],[-54,-26],[-7,9],[16,32],[-1,18],[-19,-15],[-30,-62],[-106,-20],[5,14],[23,3],[32,19],[-7,33],[-12,36],[-11,4],[-8,21],[1,66],[-7,39],[-18,40],[-6,-8],[-12,-68],[-11,-89],[-5,-29],[-32,-2],[-28,6],[-95,-11],[-35,30],[-15,6],[-9,-1],[-41,-27],[-48,-22],[-11,7],[-16,1],[-34,-72],[-40,-34],[-102,61],[-25,49],[-22,10],[-28,6],[-29,-60],[-23,-81],[36,-45],[30,-21],[50,18],[28,39],[23,-1],[11,8],[10,20],[19,-16],[1,-16],[-14,-23],[-17,-19],[-11,-23],[20,-46],[31,-16],[12,7],[7,52],[19,33],[26,-7],[-3,-21],[3,-20],[12,-33],[-1,-48],[2,-12],[-28,-21],[-21,-7],[-17,-28],[9,-16],[-17,-15],[-11,6],[-6,-5],[-2,-17],[-9,-16],[13,-48],[26,-31],[19,-39],[74,-52],[18,2],[18,-52],[14,-18],[14,-9],[-1,-35],[-25,-27],[-7,-31],[-6,-17],[-11,22],[-11,16],[-26,-49],[-13,-10],[6,53],[-10,20],[-15,53],[-21,33],[-16,11],[-12,20],[-14,9],[-13,-3],[-21,12],[-1,29],[-6,21],[-16,24],[-78,47],[-1,-19],[6,-15],[11,-9],[13,-19],[0,-56],[-6,-24],[-2,-34],[-5,-34],[-10,-27],[-21,-19],[-10,16],[-15,74],[-22,23],[-34,3],[-23,-17],[-25,-72],[-21,-11],[-70,37],[-80,56],[2,19],[13,6],[24,-8],[-1,20],[-25,63],[-4,28],[3,35],[-8,-1],[-15,-29],[-51,25],[-14,30],[-30,83],[-42,3],[-19,50],[-35,-21],[-17,-23],[-15,-37],[6,-18],[15,-30],[-7,-15],[-49,-21],[-114,24],[-34,22],[-44,47],[-62,38],[-30,7],[-29,-8],[-86,-4],[-19,-10],[-17,-16],[-11,18],[-5,32],[10,5],[11,19],[10,38],[1,22],[-7,15],[-13,1],[-29,-97],[16,-55],[-1,-20],[-58,-11],[-132,-110],[-51,-59],[2,20],[62,77],[-21,11],[-36,-19],[-13,8],[15,63],[-4,56],[-26,2],[-16,-45],[-11,2],[-14,19],[-11,-6],[8,-101],[16,-42],[13,-53],[-36,-66],[-34,-55],[-3,-52],[-34,-68],[-32,-39],[-74,-91],[-22,-20],[-33,-42],[-47,-32],[-44,-50],[-15,-8],[28,43],[34,42],[-29,-6],[-44,20],[-28,1],[0,-16],[-21,-21],[-21,32],[-9,21],[-5,19],[-9,4],[-9,-9],[32,-130],[14,-6],[15,-12],[-19,-31],[-20,-23],[-32,-15],[-27,47],[-6,-59],[-3,-60],[-9,-15],[-15,-22],[-7,16],[-4,23],[-9,-20],[-14,-16],[-22,-3],[-17,-8],[0,-25],[4,-24],[30,19],[-11,-64],[-27,-63],[-23,-15],[-34,10],[-8,-7],[-8,-13],[40,-99],[-25,-148],[-17,-54],[-11,-7],[-12,-2],[-44,48],[-24,37],[21,-101],[58,-29],[3,-38],[-1,-33],[-11,-38],[-11,-51],[8,-36],[9,-87],[8,-40],[8,-122],[10,-53],[52,-195],[18,-2],[2,-21],[-1,-40]],[[23015,65852],[-5,-122],[-17,-101],[-55,-209],[-24,-129],[-44,-370],[-14,-243],[-3,-114],[-4,-16],[4,-17],[-10,-252],[5,-216],[-3,-33],[-17,-65],[-11,-90],[5,-40],[-1,-28],[17,-137],[5,-102],[50,-176],[28,-62],[34,-53],[13,-30],[-6,-75],[-14,-38],[-6,-60],[-7,50],[2,64],[11,35],[1,25],[-21,27],[-37,89],[-45,157],[32,-251],[11,-40],[9,-17],[14,-17],[4,-28],[0,-20],[40,-174],[45,-180],[3,-49],[18,-61],[114,-252],[70,-189],[25,-179],[15,-56],[7,-77],[46,-85],[14,-56],[24,-31],[20,-92],[38,-55],[-9,-1],[-33,28],[2,-18],[28,-39],[54,-38],[13,0],[-21,20],[-18,26],[6,4],[38,-33],[105,-11],[47,-77],[60,-33],[32,-98],[38,-103],[24,-5],[19,-1],[56,18],[88,65],[30,31],[59,43],[90,8],[28,-12],[67,27],[33,33],[11,30],[5,22],[62,31],[13,6],[63,6],[31,11],[35,7],[26,-46],[0,-23],[-17,-21],[8,-21],[31,-34],[56,-14],[19,6],[26,50],[46,49],[-1,57],[-9,31],[-13,2],[-3,18],[9,42],[-2,14],[-29,-40],[-6,0],[3,18],[6,15],[83,88],[22,36],[28,31],[60,119],[13,224],[12,39],[40,69],[4,21],[3,46],[-1,118],[2,92],[-2,105],[7,93],[7,26],[23,149],[47,66],[82,78],[19,13],[261,83],[37,20],[45,54],[33,18],[60,-2],[18,7],[4,8],[0,7],[11,7],[34,-7],[65,-32],[24,-8],[58,-38],[63,-15],[10,7],[8,11],[6,22],[-6,19],[-6,-1],[-11,-11],[-13,-1],[-25,16],[5,13],[25,-1],[17,7],[24,23],[26,-18],[35,-76],[24,-25],[2,-111],[4,-20],[8,-29],[-12,-86],[-13,-72],[-17,-58],[-37,-92],[-45,-73],[-56,-164],[-13,-76],[1,-62],[9,-59],[-3,-22],[-6,-22],[-12,2],[-22,-29],[-28,-84],[-1,-26],[13,-23],[16,11],[21,1],[12,7],[12,-2],[-3,-48],[-13,-34],[-8,-11],[-15,-6],[-17,-20],[-9,-18],[1,-56],[9,-4],[20,42],[12,-2],[2,-18],[-26,-143],[-16,-147],[-23,-85],[-8,-124],[-11,-52],[-14,-52],[-8,2],[-21,99],[-23,26],[-4,24],[12,120],[-6,66],[-11,-2],[-15,-37],[-19,-31],[0,-46],[-22,-76],[-6,-25]],[[25473,61415],[-15,-67],[15,-9],[14,6],[32,-2],[13,-74],[-4,-62],[-30,-163],[-4,-56],[-14,-84],[19,-55],[-18,-74],[-6,-47],[-1,-71],[9,-136],[-15,-196],[-25,-85],[-16,-33],[-28,-85],[-37,-25],[-51,-137],[-9,-36],[5,-39]],[[25307,59885],[15,-12],[12,-4],[24,-33],[30,-25],[18,50],[-9,31],[-8,15],[1,14],[102,-131]],[[25492,59790],[27,-17],[21,38],[12,13],[29,45],[9,10],[48,18],[23,0],[21,-46],[16,-25],[30,21],[26,5],[105,-42],[42,18],[76,4],[35,-10],[49,60],[31,12],[37,29],[-5,29],[-9,13],[56,-13],[83,-61],[89,11],[32,33],[21,9],[91,-63],[24,-48],[19,-5],[14,11],[4,10],[-18,11],[-8,15],[72,-30],[135,-228],[3,-19],[-58,68],[-31,-5],[-8,-11],[2,-37],[3,-18],[13,-2],[10,10],[24,-12],[15,-24],[19,-38],[12,-41],[12,0],[12,24],[23,3],[15,-27],[11,1],[-15,43],[-35,42],[9,2],[77,-76],[21,-95],[19,-22],[18,-29]],[[26900,59354],[-7,-22],[-9,-14],[-18,-71],[-6,-6],[-1,52],[-10,7],[-13,-19],[-7,-27],[11,-35],[10,0],[11,-10],[31,-242],[-7,-43],[-19,-68],[-18,-57],[-18,-36],[-23,-152],[-20,-248],[14,-223],[-7,-206],[6,-49],[2,-60],[-15,-11],[-8,1],[-9,38],[1,32],[9,39],[4,52],[-5,27],[-9,-59],[-15,-27],[-10,-9],[-10,-30],[10,-56],[14,-42],[4,-29],[-5,-36],[-3,-120],[-5,3],[-5,17],[-14,1],[-2,-49],[1,-27],[-12,-21],[-4,-21],[10,-15],[11,-8],[13,2],[12,-60],[3,-49],[-26,-44],[-9,-37],[-14,-45],[-8,-44],[-3,-32],[10,-101],[18,-71],[15,-45],[20,-10]],[[26766,56939],[7,-23],[8,-38],[3,-47],[36,-159],[28,-90],[62,-162],[26,-30],[45,-130],[16,-22],[9,-38],[46,-32],[13,-23]],[[27065,56145],[18,-32],[36,-56],[2,-28],[-3,-26],[10,-76],[18,-11],[19,15],[5,-14],[-4,-14],[-9,-16],[-3,-65],[31,-31],[15,-26],[51,12],[19,-7],[13,8],[-14,52],[-19,39],[1,17],[15,-12],[11,-27],[25,-33],[46,-113],[53,-28],[42,4],[39,15],[63,44],[45,80],[36,36],[116,76],[42,79],[17,10],[17,10],[36,60],[20,47],[21,23],[62,-17],[39,-22],[28,3],[27,-15],[11,-34],[12,-15],[65,4],[54,-17],[117,-101],[70,-99],[37,-106],[90,-137]],[[28507,55601],[8,-13],[23,-85],[37,-55],[38,-89],[16,-61],[12,-11],[11,-23],[-5,-16],[-12,-17],[-3,-36],[8,-20],[8,-13],[22,8],[12,42],[-8,183],[-13,91],[-15,29],[-13,36],[9,27],[24,12],[31,32],[115,175],[39,164],[30,59],[34,39],[41,-10],[33,21],[10,52],[-9,71],[-13,43],[12,61],[13,94],[-1,79],[16,47],[-6,19],[-23,-38],[-18,-17],[10,31],[33,78],[16,118],[13,50],[46,68],[10,34],[34,51],[56,111],[22,31],[108,-71],[34,4],[-6,-13],[-16,-4],[-23,-20],[-6,-42],[15,-45],[17,-13],[14,29],[14,82],[22,90],[6,96],[15,32],[24,12],[41,-19],[32,-20],[33,-2],[101,14],[164,247],[77,53],[47,52],[31,101],[8,76],[22,30],[24,0],[11,18],[3,24],[57,65],[33,9],[28,-1],[65,-58],[29,-101],[5,-70],[-40,-76],[-10,-33]],[[30189,57499],[-9,-28],[-18,-36],[-20,-21],[-106,-54],[-11,-12],[-13,-22],[0,-52],[2,-40],[32,-133],[12,-33],[41,-72],[-9,-10],[-16,-1],[12,-94],[25,-65],[1,-41],[-19,-126],[-36,-76],[-25,-88],[-20,-35],[-44,-174],[34,-103],[4,-52],[29,-74],[19,-25],[12,-30],[-6,-51],[12,-68],[15,-37],[18,-14],[23,0],[67,46],[15,20],[10,37],[34,75],[2,96],[7,115],[-8,76],[-35,107],[-15,77],[-35,71],[-21,122],[-9,38],[-6,52],[-8,93],[23,34],[-2,76],[57,21],[123,124],[77,31],[87,66],[20,33],[17,54],[14,6],[45,-51],[22,18],[9,40],[-12,77],[-26,0],[-78,-28],[-8,33],[0,30],[-18,92],[11,70],[12,56],[22,22],[33,25],[25,-38],[15,-35],[8,-35],[6,-94],[13,-95],[14,-67],[23,-50],[17,4],[12,8],[81,11],[50,-34],[63,-17],[59,-73],[60,-88],[15,-64],[6,-61],[14,-41],[-14,-42],[7,-71],[18,-71],[26,-45],[74,-13],[81,31],[125,28],[40,23],[206,13],[39,-34],[4,-34],[0,-26],[67,-128],[54,-17],[46,-41],[48,-22],[52,-31],[30,4],[22,11],[26,2],[184,213],[98,-6],[15,14],[13,19],[-36,32],[-82,13],[-25,-22],[-14,55],[27,-2],[91,19],[105,-12],[85,39],[43,6],[24,-7],[68,25],[128,-30],[101,25],[-12,-36],[-33,-21],[-53,-7],[-41,-51],[-87,9],[-61,-18],[19,-15],[0,-53],[9,-10],[8,-1],[21,-39],[6,-26],[7,-54],[-10,-58],[-12,-26],[25,9],[14,27],[-2,27],[2,32],[14,-10],[9,-14],[32,-153],[22,-80],[6,3],[5,3],[7,15],[10,38],[9,-24],[5,-9],[5,-3],[-5,34],[6,44],[-2,15],[10,4],[12,-6],[17,-12],[30,-50],[20,-52],[1,-29],[8,-17],[12,-17],[7,-27],[1,42],[-8,31],[-2,35],[40,2],[10,46],[21,-28],[56,-127],[21,-21],[62,-24],[38,-61],[23,-55],[-14,-58],[-36,-28],[-14,-36],[-9,-35],[0,-36],[-11,-41],[-1,-15],[-7,-58],[-15,-69],[-19,-75],[-104,-1],[26,-31],[23,-22],[39,-58],[30,46],[44,3],[48,51],[18,8],[88,-27],[22,37],[17,11],[48,-7],[42,-40]],[[33328,55536],[10,-10],[40,-94],[23,-20],[4,-1],[0,25],[21,-10],[52,-65],[77,-106],[108,-201],[31,-76],[20,-36],[33,-88],[9,-43],[-1,-170],[-28,-115],[-7,-87],[-2,-115],[-16,-67],[22,36],[6,104],[19,64],[24,69],[33,17],[35,-30],[28,-5],[24,-21],[53,-111],[52,-87],[18,-71],[55,-35],[32,-55],[10,-48],[7,-126],[-11,-190],[3,-10]],[[34112,53758],[4,-11],[11,68],[2,55],[8,55],[14,65],[24,32],[140,-33],[64,-31],[82,-53],[12,-57],[0,57],[-4,57],[23,41],[50,15],[75,-20],[64,24],[87,-3],[133,-47],[59,-31],[25,-29],[4,-52],[-2,-66],[-10,-63],[-21,-85]],[[34956,53646],[20,31],[27,157],[19,55],[20,8],[109,-130],[51,-12],[103,-70],[38,-90],[86,-149],[45,-47],[1,-39],[-10,-62],[29,54],[45,-86],[13,-42],[14,-78],[-5,-50],[-6,-26],[-1,-20],[14,27],[7,22],[3,53],[10,64],[15,2],[12,-39],[24,-168],[9,-34],[4,-54],[-2,-24],[2,-22]],[[35652,52877],[26,103],[3,45],[24,2],[37,-53],[30,-78],[40,-249],[6,-231],[17,-121],[46,-253],[3,-46],[7,-57],[15,-60],[16,-98],[1,-19],[-11,-26],[16,-2],[14,-16],[9,-63],[11,-42],[21,-58],[43,-19],[33,-7],[37,-32],[27,-42],[21,-143],[-7,-89],[2,-63],[-11,-24],[-30,-42],[-7,-21],[-62,-107],[-14,-50],[-33,-67],[-33,-129],[-48,-117],[-17,-30],[-26,-6],[-16,-19],[-37,-95],[-51,-32],[-4,-56],[-29,-126],[-26,-70],[-16,-23],[-41,-126],[-5,-56],[0,-96],[-28,-59],[-28,-37],[-4,-83],[-12,-28],[-11,-19],[-58,22],[-91,-90],[-30,-22],[98,-5],[32,-47],[69,31],[83,114],[32,24],[65,77],[27,52],[48,62],[10,27],[27,29],[15,-37],[1,-23],[-22,-45],[6,-30],[14,-36],[5,-51],[2,-38],[9,-67],[30,-92],[1,-30],[-4,-39],[14,-33],[15,-20],[51,-98],[39,55],[25,16],[15,23],[33,15],[27,-23],[51,-33],[37,35],[75,80],[-23,-142],[-17,-130],[-13,-53],[-13,-142],[-13,-38],[-10,-43],[17,15],[14,21],[18,54],[14,95],[55,254],[16,22],[45,29],[78,203],[31,-1],[19,-46],[19,-28],[4,56],[27,22],[-28,28],[-5,24],[-2,42],[19,56],[-12,50],[40,62],[-3,47],[14,39],[18,40],[21,19],[3,34],[13,14],[10,6],[20,-39],[22,45],[21,18],[9,-8],[12,-20],[12,-8],[10,3],[26,29],[24,-46],[15,-11],[-4,27],[-8,24],[6,20],[11,12],[36,-11],[19,-21],[21,-38],[28,-3],[23,4],[14,-22],[23,0],[11,-33],[35,-48],[7,-32],[28,-15],[27,-20],[28,-5],[28,4],[1,-40],[21,-11],[26,9],[21,-50],[53,-38],[38,-57],[24,10],[27,-15],[30,-125],[6,-89],[13,12],[12,40],[16,72],[29,24],[14,-27],[30,-45],[25,-49],[11,-32],[19,-5],[-16,-38],[16,3],[19,28],[17,-57],[13,-62],[2,-63],[-12,-36],[-10,-23],[-12,-44],[-13,-8],[-14,-15],[16,-32],[10,-32],[24,85],[16,24],[23,13],[13,-60],[2,-57],[-38,-24],[0,-45],[-12,-25],[-7,-29],[-6,-62],[-8,-50],[-23,-225],[0,-37],[27,39],[52,115],[16,122],[20,120],[22,38],[14,0],[20,-13],[1,-39],[-3,-23],[-22,-60],[-9,-33],[9,-32],[50,99],[22,35],[19,-7],[38,45],[76,10],[5,52],[16,23],[41,-6],[82,-47],[29,-38],[43,-36],[23,-42],[96,-78],[69,-8],[34,35],[43,-37],[23,-41],[44,-23],[45,-11],[35,29],[88,10],[112,44],[66,-10],[75,-29],[54,-74],[45,-41],[27,-41],[44,-43],[94,-114],[33,-66],[58,-90],[59,-38],[32,-94],[25,-43],[61,-159],[71,-111],[47,-111],[90,-72],[35,-118],[61,-14],[26,-18],[32,-50],[44,-28],[56,8],[63,-5],[50,23],[120,-45],[19,-21],[24,-51],[44,-187],[26,-207],[13,-159],[30,-124],[16,-231],[14,-73],[1,-57],[12,-12],[7,-157],[-3,-63],[-11,-82],[-1,-36],[2,-24],[-5,-34],[-2,-33],[12,-73],[0,-59],[-15,-72],[-21,-187],[-53,-310],[-51,-177],[-71,-184],[-47,-96],[-18,-10],[-17,19],[12,-50],[-11,-45],[-47,-135],[-46,-89],[-49,-153],[-4,-3],[-62,-60],[-37,-48],[-47,-88],[-43,-139],[-9,-18],[-16,10],[0,-71],[-37,-111],[-11,-17],[0,32],[7,24],[3,25],[-1,31],[-10,-22],[-22,-84],[7,-61],[-16,-93],[-60,-264],[-75,-223],[-17,-68],[-62,-150],[-45,-72],[-12,-1],[-15,6],[-7,115],[-36,70],[-10,12],[-15,-73],[-12,-21],[-18,-4],[19,-32],[6,-38],[-19,-74],[-1,-68],[-34,-74],[-20,-55],[-10,-68],[-7,-64],[16,17],[7,-13],[5,-20],[-3,-29],[-11,-56],[2,-138],[-4,-31],[11,-34],[12,58],[6,-16],[-32,-370],[13,-166],[4,-189],[15,-184],[16,-164],[1,-13],[-22,-191],[-28,-189],[-17,-153],[-11,-166],[-11,-80],[-4,-81],[13,-194],[4,-36],[-34,-86],[-37,-42],[-21,-42],[-45,-155],[-25,-230],[-1,-122],[12,-256],[-9,-104],[-14,-70],[-17,-46],[-44,-55],[-39,-134],[-17,-141],[-27,-51],[-5,-79],[-21,-85],[-56,-127],[-36,-37],[-18,-35],[-11,-75],[-35,-122],[-25,-159],[6,-54],[1,-8],[9,-183],[-3,-47],[-34,-50],[-128,-95],[-34,-39],[-77,-160],[-4,-38],[3,-54],[12,-31],[-13,-34],[-15,-61],[-22,4],[-127,0],[-69,-19],[-36,4],[-16,14],[-18,24],[-6,31],[10,47],[-6,28],[-19,-1],[-20,-13],[-4,-28],[1,-20],[8,-30],[4,-35],[-8,-32],[-40,-4],[-46,-28],[-56,-12],[-45,-21],[-21,26],[21,13],[29,-6],[32,22],[-7,25],[-45,33],[-51,-20],[-28,-39],[-61,3],[-75,-30],[-12,-30],[2,-59],[15,-13],[14,-27],[-14,-25],[-13,-11],[-79,-28],[-73,-115],[-31,-14],[-27,-51],[-3,-43],[-8,-26],[-18,-2],[-38,24],[-50,1],[-35,-19],[-183,-187],[-66,-74],[-75,-152],[-126,-171],[-67,-102],[-12,-26],[-11,-2],[-21,-21],[9,-18],[14,-1],[-6,-59],[-26,-41],[-50,-106],[-11,7],[16,56],[-25,2],[-36,20],[-15,-23],[9,-55],[-14,-23],[-24,-3],[-23,7],[-24,40],[11,-73],[51,-18],[22,-17],[8,-28],[-40,-129],[-34,-17],[-3,-18],[18,0],[10,-36],[-12,-144],[-16,-28],[-10,-1],[-10,-24],[14,-48],[13,-34],[-2,-67],[-5,-55],[0,-54],[17,-103],[6,-107],[7,-39],[4,-43],[-11,-40],[6,-64],[-19,-110],[10,-159],[-4,-148],[-8,-78],[-12,-61],[-29,-78],[-1,-79],[-62,-73],[-69,-102],[-63,-121],[-69,-171],[-80,-259],[-73,-370],[-89,-280],[-36,-101],[-48,-112],[-64,-132],[-86,-132],[-94,-117],[-34,-53],[-33,-74],[-8,31],[7,50],[-4,38],[-1,50],[19,9],[28,-31],[14,21],[11,21],[34,13],[65,128],[48,48],[28,81],[4,44],[-1,87],[16,22],[35,-7],[7,25],[-3,27],[6,61],[48,53],[22,65],[-7,165],[8,7],[20,-26],[9,11],[10,72],[-5,38],[-23,10],[-79,-82],[-26,4],[-4,64],[-39,29],[-15,53],[-4,37],[-14,14],[1,-62],[4,-62],[34,-71],[-8,-28],[-17,-33],[-11,-73],[1,-95],[-9,29],[-12,16],[-5,-102],[-23,-39],[-7,-38],[6,-45],[-12,-30],[-58,-83],[-58,-56],[-13,-27],[-6,-63],[-9,-64],[-26,-57],[-21,-113],[1,-49],[7,-71],[11,-47],[-18,-32],[-23,-61],[-19,-68],[-46,-258],[-40,-156],[-31,-76],[-44,-80],[-125,-202]],[[35174,30481],[-13,-22],[-15,-41],[-17,-100],[-58,-138],[-12,-77],[-62,-81],[-44,-91],[-29,2],[-26,-39],[-149,-118],[-54,22],[-39,0],[-37,52],[-84,19],[-53,-21],[-71,-58],[-21,1],[-15,3],[-39,24],[-21,51],[-108,58],[-88,133],[-104,3],[-79,-18],[-12,18],[-8,34],[-17,49],[-68,118],[-54,116],[-10,115],[7,124],[16,148],[-2,46],[19,26],[20,5],[19,38],[17,58],[3,44],[-13,81],[-10,113],[-10,56]],[[33833,31234],[-6,-55],[14,-234],[-8,-33],[-14,-38],[-16,-2],[-19,6],[-13,-23],[-9,-104],[-25,-223],[4,-53],[21,-86],[7,-55],[6,-42],[5,-78],[-12,-35],[-11,-7],[-14,-19],[16,-96],[13,-44],[38,-90],[144,-125],[60,-73],[68,-101],[37,-103],[3,-85],[-54,-127],[-6,-107],[11,-74],[20,-70],[52,-90],[39,-33],[52,3],[9,-25],[5,-22],[8,-183],[-1,-69],[-15,-63],[-100,-289],[-86,-177],[-31,-98],[-11,-104],[-27,-50],[-148,-158],[-230,-140],[-186,-73],[-42,-25],[-299,-80],[-58,-12],[-75,7],[-61,-10],[-68,22],[-61,25],[-34,63],[-41,8],[-11,-32],[20,-80],[-9,-96],[11,-55],[24,-11],[23,-28],[21,-38],[-35,-4],[13,-31],[15,-17],[-2,-64],[-13,-152],[-34,-33],[-9,-8],[-11,-33],[-21,-146],[-7,-94],[9,-61],[41,-128],[-15,-83],[-26,-45],[-112,-93],[-45,-37],[-70,-25],[-114,-4],[-42,5],[-97,85],[-73,50],[-66,40],[-64,25],[9,12],[4,21],[-18,13],[-13,2],[-42,-43],[-18,-45],[-5,-39],[-1,-94],[8,-79],[30,-195],[3,-105],[-14,-133],[20,-79],[24,-35],[56,-35],[21,-24],[24,4],[7,-9],[-4,-17],[-14,-34],[1,-36],[42,-10],[43,7],[46,16],[11,24],[0,52],[-53,9],[6,19],[41,21],[53,35],[27,6],[18,-23],[12,-21],[16,-56],[9,-73],[1,-88],[-7,-83],[-7,-30],[-14,-35],[-95,-45],[-26,11],[-25,63],[-8,65],[-21,44],[-46,35],[-45,-11],[-45,-60],[-44,-20],[-15,-55],[110,-89],[52,-24],[17,0],[17,-11],[-15,-33],[-16,-21],[-79,-45],[-34,-32],[-41,-62],[-57,-135],[-17,-29],[-9,-35],[-6,-93],[19,-155],[-20,-65],[12,-72],[-6,-48],[-20,-69],[-80,-109],[-14,-80],[28,-47],[-2,-41],[-9,-37],[-33,0],[-120,25],[-44,-40],[-41,-50],[-11,-24],[-14,-15],[-83,-26],[-16,-18],[-88,-190],[-38,-117],[-45,-115],[-12,-49],[-3,-68],[7,-61],[6,-45],[16,-57],[33,-66],[170,-268],[35,-23],[181,-29],[40,-37],[23,-60],[9,-52],[-10,-132],[-11,-42],[-20,-37],[-43,-48],[-51,-26],[14,-19],[21,3],[46,16],[19,-16],[15,-52],[-28,-21],[-9,-25],[-20,-39],[-105,-153],[-56,-45],[-52,-62],[-70,-62],[-27,-35],[-37,-75],[-56,-82],[-61,-174],[-2,-34],[9,-23],[-34,-306],[-12,-36],[-24,-39],[-65,-63],[-31,-8],[-41,37],[-23,38],[-22,66],[-28,68],[-1,-24],[9,-42],[-6,-43],[-70,-19],[-18,-21],[63,10],[43,-13],[18,-16],[16,-33],[15,-39],[-12,-22],[-35,-18],[-44,-33],[-53,-60],[-29,-69],[-13,-50],[-14,-101],[-4,-66],[-22,-51],[-35,-46],[2,-10],[24,23],[18,8],[16,-62],[22,-122],[10,-85],[-2,-25],[-6,-34],[-45,-9],[-39,1],[-29,-14],[15,-16],[27,6],[37,-37],[41,16],[19,-24],[13,-23],[63,-176],[55,-110],[27,-65],[-13,-29]],[[30988,19453],[-157,56],[-35,30],[-30,4],[-57,-38],[-32,-90],[-16,-26],[-40,-24],[-40,-5],[-134,-87],[-48,-8],[-33,-23],[-32,-33],[-12,-72],[5,-43],[-36,-157],[-9,-86],[0,-45],[10,-72],[-13,-124],[-25,-27],[-59,-34],[-41,25],[-69,22],[-50,48],[-63,33],[-21,20],[-56,96],[-6,31],[-4,40],[30,58],[16,4],[46,-2],[39,9],[25,-30],[6,-67],[-10,-36],[-10,-22],[3,-16],[28,23],[14,149],[94,75],[31,43],[30,67],[5,19],[2,25],[-20,21],[-44,28],[-142,-141],[-64,-37],[-42,-40],[-50,-73],[-9,-21],[-11,-48],[-5,-53],[-49,24],[-76,77],[-15,28],[15,39],[23,33],[2,110],[6,38],[16,31],[29,34],[14,8],[12,-15],[2,-26],[48,2],[93,97],[38,3],[51,-22],[57,13],[11,10],[11,23],[-42,27],[-41,13],[-115,10],[-25,-11],[-34,-51],[-11,13],[-7,26],[-39,18],[-19,-4],[-18,-25],[3,-38],[-10,-42],[-36,-41],[-25,-65],[1,-51],[-1,-26],[-9,-14],[-19,-17],[-60,12],[-34,53],[-13,36],[-38,39],[83,50],[29,27],[27,63],[20,39],[-14,28],[-17,0],[1,-44],[-18,-36],[-38,17],[-57,-54],[-35,14],[-56,-15],[-28,29],[-6,36],[10,39],[-10,65],[-16,15],[-16,-3],[-7,38],[-17,69],[-8,18],[-8,32],[9,7],[19,-9],[17,-20],[26,-3],[57,-44],[24,10],[13,11],[5,36],[0,35],[10,0],[32,-44],[21,4],[36,-12],[19,5],[34,17],[54,49],[27,50],[14,7],[16,-6],[12,-15],[0,-35],[12,-33],[17,-27],[5,-32],[-3,-32],[-31,-45],[-6,-16],[11,-17],[12,8],[18,23],[10,30],[2,16],[1,23],[-1,27],[-25,79],[-3,18],[0,36],[28,33],[8,26],[2,49],[-15,34],[-61,79],[-101,79],[-12,-8],[-8,-14],[10,-11],[13,-5],[90,-65],[24,-38],[15,-10],[19,-25],[-5,-37],[-91,-36],[-72,-77],[-55,-47],[-37,17],[-18,48],[-19,62],[-28,36],[-16,-4],[-13,7],[-11,19],[-21,-16],[-49,43],[-13,19],[35,60],[39,-23],[9,169],[-12,39],[-51,42],[-24,-5],[-34,5],[-23,20],[-26,7],[-22,11],[-29,27],[-34,14],[-47,107],[-20,57],[-11,62],[72,1],[42,10],[10,26],[-15,49],[-20,39],[15,36],[21,28],[22,-12],[56,-63],[9,-42],[39,-130],[10,-11],[4,-12],[82,-73],[11,1],[-5,61],[23,83],[23,27],[11,-1],[1,14],[-22,35],[11,45],[-7,2],[-19,-30],[-40,-143],[-24,-27],[-33,65],[-18,47],[-10,17],[4,74],[65,-15],[-22,24],[-77,42],[-19,21],[-14,8],[-25,50],[-32,42],[55,77],[27,53],[88,-28],[17,16],[-15,40],[-17,-12],[-27,24],[-43,74],[2,37],[7,69],[17,14],[36,15],[41,-23],[17,-18],[16,9],[-16,51],[-27,19],[-29,36],[3,40],[9,34],[8,36],[5,51],[-3,40],[8,18],[13,8],[1,15],[-26,-3],[-9,-50],[-3,-46],[-19,-37],[-7,-41],[-5,-50],[-10,-57],[-23,22],[-13,22],[-5,15],[3,30],[-6,179],[-1,151],[11,117],[32,47],[14,13],[13,-6],[20,1],[14,17],[-45,28],[-28,-16],[-20,-23],[-37,17],[-7,60],[-21,53],[-4,66],[2,97],[51,-9],[42,-18],[110,1],[90,-92],[40,12],[-2,19],[-30,23],[-19,52],[-11,15],[-6,31],[-1,36],[-23,133],[-9,-3],[-9,-46],[-18,-76],[-26,-37],[-40,-15],[-40,-8],[-34,14],[-8,32],[1,36],[-15,18],[-39,16],[-11,9],[-13,33],[19,49],[15,30],[18,-6],[18,-13],[23,-39],[22,-8],[25,31],[5,22],[-16,13],[-14,5],[-23,17],[-44,60],[22,61],[52,69],[16,16],[-14,59],[16,65],[-16,53],[-29,57],[-39,13],[-8,-17],[-2,-23],[6,-18],[-3,-13],[-9,1],[-50,12],[-33,38],[-54,35],[-7,27],[-6,40],[19,69],[-10,1],[-35,-54],[-53,-27],[-40,-9],[-17,-22],[-7,-18],[11,-10],[22,-3],[17,-66],[-4,-26],[-8,-17],[-19,-3],[-38,46],[-20,52],[0,41],[14,56],[61,76],[17,32],[36,35],[48,80],[41,44],[-20,37],[-21,55],[2,77],[84,31],[37,-13],[47,2],[26,19],[18,4],[40,21],[17,30],[4,23],[0,19],[-4,25],[-7,63],[7,22],[17,25],[22,8],[10,-2],[27,-23],[-6,-33],[-10,-40],[-22,-157],[-11,-36],[-17,-31],[12,-64],[-18,-45],[-76,-48],[-10,-3],[6,-17],[44,4],[34,10],[34,41],[11,61],[14,121],[18,17],[22,4],[11,-29],[-4,-63],[0,-62],[-28,-182],[-35,-73],[-4,-19],[2,-23],[27,4],[21,39],[15,50],[15,70],[-2,50],[5,32],[6,102],[11,52],[-1,72],[-19,28],[-26,16],[-7,44],[14,88],[50,-2],[48,60],[31,21],[18,-4],[62,-58],[12,-1],[-2,21],[-9,15],[-25,19],[-45,62],[-61,10],[11,81],[12,73],[30,11],[49,24],[94,110],[17,83],[4,93],[-45,25],[-48,61],[-39,32],[-35,41],[7,61],[5,99],[43,22],[20,136],[-29,105],[7,78],[38,66],[6,46],[11,51],[33,5],[1,28],[-3,50],[-22,59],[-1,82],[21,97],[33,-6],[6,4],[-23,59],[-19,64],[3,26],[18,22],[21,12],[23,-33],[33,-105],[5,27],[-13,107],[-11,134],[-35,-17],[-31,9],[-12,21],[-12,30],[11,37],[11,27],[23,34],[49,12],[35,44],[11,89],[-11,-9],[-19,-78],[-32,-27],[-16,4],[-19,15],[-38,68],[-21,16],[-20,1],[-17,-17],[-44,-120],[-19,-20],[-78,-10],[-28,14],[-31,18],[3,30],[10,31],[17,17],[1,18],[-24,4],[-28,34],[-13,42],[-5,75],[-25,119],[-5,85],[17,61],[38,239],[12,122],[20,107],[0,70],[52,65],[20,39],[45,217],[6,117],[-71,356],[-11,68],[-3,84],[17,140],[2,54],[-15,77],[-40,125],[-1,64],[17,66],[-16,82],[8,51],[9,39],[63,-21],[29,10],[15,24],[12,67],[6,105],[4,46],[5,66],[31,26],[11,63],[26,87],[26,244],[27,60],[27,70],[-11,103],[18,47],[15,35],[14,63],[19,59],[46,86],[11,104],[35,180],[7,116],[11,78],[-3,73],[21,89],[20,75],[7,41],[46,99],[8,79],[-17,54],[0,82],[-13,115],[30,43],[12,32],[39,183],[-3,73],[11,89],[-25,106],[-4,238],[-14,184],[-23,193],[2,109],[-15,134],[0,78],[11,176],[74,111],[15,125],[9,168],[-3,122],[-8,55],[-36,90],[-10,161],[7,42],[31,46],[21,63],[11,97],[23,77],[9,186],[18,148],[10,51],[30,65],[5,18],[5,49],[-2,117],[5,71],[23,141],[3,65],[26,144],[6,104],[12,55],[-5,61],[8,138],[-18,78],[-4,46],[22,141],[16,34],[24,66],[11,74],[2,47],[-32,233],[-4,80],[7,185],[11,120],[-3,95],[3,49],[6,62],[21,75],[5,53],[-7,22],[-26,27],[-21,68],[-2,67],[7,48],[2,69],[31,14],[17,38],[16,72],[20,173],[9,215],[12,130],[8,64],[7,133],[12,88],[2,81],[-2,61],[-30,313],[0,115],[13,178],[0,252],[-2,59],[-12,55],[-3,74],[-18,130],[-17,261],[0,138],[-7,117],[-16,31]],[[30439,39603],[-20,40],[-91,133],[-34,72],[-32,33],[-78,114],[-8,37],[-9,118],[-11,33],[-26,42],[-68,57],[-26,28],[-27,52],[-40,36],[-44,75],[-26,60],[-29,40],[-91,55],[-45,56],[-85,78],[-38,50],[-91,61],[-27,29],[-90,142],[-62,47],[-51,80],[-153,170],[-24,54],[-23,84],[-34,50],[-38,115],[-57,68],[-54,90],[-20,81],[-36,104],[-11,56],[-32,55],[-2,110],[-22,50],[16,25],[17,11],[21,170],[-12,86],[-56,154],[-21,75],[-15,95],[-22,57],[-34,119],[-21,105],[-45,77],[-12,28],[-7,39],[-25,27],[-1,81],[-17,154],[-25,78],[-90,145],[-2,56],[-7,101],[-20,110],[-99,341],[-26,102],[-25,165],[-22,94],[-25,167],[-37,126],[-24,110],[-25,137],[-2,73],[-45,126],[-24,115],[-42,97],[-42,73],[-18,52],[-58,247],[-8,73],[-40,136],[-40,97],[-25,79],[-32,71],[-195,217],[-69,91],[-23,43],[-10,68],[4,39],[20,38],[28,-29],[17,12],[13,48],[1,74],[-17,94],[-63,183],[5,39],[12,44],[-24,87],[-27,71],[-13,54],[15,206],[14,52],[95,209],[26,89],[40,55],[42,84],[49,64]],[[27687,48464],[6,8],[40,30],[17,30],[20,27],[18,41],[11,41],[28,185],[26,117],[-5,56],[-21,76],[-5,112],[2,34],[-3,25],[-14,-46],[4,-165],[-13,-74],[-17,-17],[-12,13],[7,120],[-13,-22],[-21,-82],[-34,-60],[-1,-20],[-9,-25],[-26,23],[-20,25],[-65,135],[-43,29],[-25,47],[-6,20],[-3,27],[26,29],[28,38],[2,84],[0,66],[-20,113],[9,148],[-5,57],[-23,123],[17,62],[60,45],[20,30],[13,97],[14,58],[27,-23],[21,3],[-28,21],[-24,88],[-3,40],[44,120],[24,31],[28,64],[25,95],[6,151],[-10,108],[-8,114],[15,30],[36,15],[30,37],[15,34],[36,-5],[41,52],[66,27],[91,60],[20,53],[-9,94]],[[28094,51333],[-8,41],[-38,59],[19,76],[46,58],[60,-45],[7,89],[-22,78],[4,149],[7,29],[16,40],[20,28],[12,8],[21,-14],[13,30],[49,-14],[15,13],[10,20],[12,15],[15,36],[9,41],[7,16],[17,-5],[1,17],[9,25],[30,54],[-1,24],[-8,52],[2,19],[17,7],[21,15],[10,50],[14,43],[15,64],[17,4],[9,75],[22,65],[46,195],[-13,-5],[-11,-26],[-13,3],[-14,16],[4,87],[-8,11],[-23,-68],[-19,69],[-2,42],[8,41],[-1,28],[-31,-21],[2,26],[19,26],[9,28],[17,30],[7,45],[4,71],[7,76],[-5,37],[-9,32],[-8,141],[2,82],[-4,64],[-8,55],[-37,72],[59,82],[21,62],[-27,127],[-35,108],[-1,64],[10,-8],[11,2],[11,136],[-3,42],[-19,68],[-24,2],[-21,85],[-13,19],[-9,54],[-34,105],[-27,54]],[[28361,54754],[-8,16],[-67,171],[-58,210],[-12,96],[15,6],[14,-3],[8,15],[9,28],[-7,64],[28,49],[11,34],[7,-4],[19,-57],[26,-32],[33,-47],[21,-10],[-26,49],[-44,65],[-13,42],[-12,59],[-17,-25],[-8,-22],[-9,-12],[-8,14],[-1,20],[-26,3],[-7,18],[-7,9],[3,-37],[5,-22],[-2,-28],[-9,-2],[-7,29],[-9,25],[-13,108],[-29,51],[-14,16],[-11,7],[-17,34],[-22,19],[-29,53],[-37,39],[-44,13],[-54,-8],[-19,-22],[-12,-27],[-6,-12],[-32,-31],[-12,-45],[-7,-38],[-16,-43],[18,-25],[-104,-146],[-21,-21],[-47,-15],[-11,-16],[-14,-29],[-2,-43],[2,-38],[14,-28],[12,-18],[29,-87],[52,-109],[9,-40],[8,-59],[-15,-28],[-12,-12],[-49,-5],[-17,-23],[-7,-36],[-18,-30],[-64,-29],[-49,-3],[-16,34],[-4,95],[-33,162],[-8,111],[-8,-14],[-18,-12],[-6,-28],[-5,-83],[-6,-28],[-14,3],[-28,29],[-37,28],[-48,174],[-5,33],[-9,39],[-37,17],[-32,29],[-34,5],[-17,-17],[-18,21],[-3,48],[-36,-21],[-47,7],[-41,21],[-28,-11],[-24,-34],[4,-87],[-7,-17]],[[26978,55253],[-19,65],[-26,63],[-23,39],[-2,90],[-9,49],[-34,45],[-30,32],[-21,-6],[13,-52],[34,-67],[3,-25],[-1,-35],[-23,6],[-21,14],[-26,4],[-17,20],[-36,80],[26,68],[8,44],[-1,92],[-6,45],[-28,68],[-44,75],[-61,61],[-29,49],[-73,38],[-27,25],[-22,46],[-3,34],[8,51],[-20,65],[-86,128],[-48,47],[-11,28],[-7,9],[7,-89],[21,-53],[55,-50],[15,-29],[6,-37],[-32,-73],[-16,-18],[-5,-39],[-10,-12],[-11,23],[-45,113],[-86,54],[-16,33],[-32,103],[-14,95],[5,63],[35,97],[11,43],[-2,26],[1,39],[-13,27],[-33,35],[-21,28],[6,14],[38,38],[2,35],[0,11]],[[26182,57025],[0,16],[-24,65],[-36,78],[-141,241],[-52,145],[-28,103],[-27,54],[-76,111],[-17,44],[-76,147],[-57,87],[-1,37],[24,46],[11,-3],[13,-32],[20,-38],[10,0],[14,17],[0,18]],[[25739,58161],[2,62],[-23,25],[-12,53],[-11,35],[3,21],[-1,25],[-31,19],[-30,-15],[-17,10],[-12,13]],[[25607,58409],[-7,-7],[5,-60],[-16,-36],[-14,-26],[-26,-7],[-44,-3],[-66,29],[-48,40],[-26,1],[8,-13],[21,-9],[27,-28],[-8,-8],[-99,59],[-114,115],[-68,19],[-78,30],[-46,73],[-35,31]],[[24973,58609],[-106,98],[-36,16],[-150,-2],[-64,39],[-73,74],[-50,67],[-115,188]],[[24379,59089],[-8,13],[-74,161],[-78,177],[-30,58],[-29,44],[-40,81],[-104,179],[-54,82],[-50,98],[-45,54],[-45,36],[-20,20],[-17,27],[-10,2],[-5,-37],[16,-18],[19,-15],[14,-1],[16,-13],[46,-50],[7,-25],[-130,99],[-53,9],[-6,16],[27,51],[-9,19],[-9,3],[-28,-36],[-11,-3],[-2,24],[1,22],[-18,33],[-11,-1],[-10,-23],[-25,-43],[1,-17],[49,-19],[16,-10],[-3,-11],[-42,0],[-51,-20],[-92,-120],[-86,-51],[-122,-116],[-54,-5],[-29,-19],[-82,44],[-105,109],[-158,34],[-107,142],[-106,58],[-67,136],[-41,6],[-26,22],[-96,49],[-95,33],[-93,119],[-61,37],[-52,48],[-115,81],[-43,44],[-41,70],[-66,71],[-28,60],[-32,22],[-45,113],[-23,47],[-20,22],[-21,8],[-62,-9],[-91,50],[-43,12],[-88,74],[-118,82],[-39,94],[-32,88],[-60,116],[-37,49],[-64,59],[-36,48],[-55,36],[-93,93],[-29,79],[-18,71],[-49,85],[-55,160],[-14,59],[-10,90],[-13,52],[-15,41],[8,30],[27,37],[46,8],[33,40],[4,33],[-2,20],[-21,50],[-26,13],[-20,1],[-5,19],[15,21],[18,49],[25,59],[18,55],[4,77],[-3,78],[7,65],[-62,76],[-7,32],[-19,86],[-34,101],[1,201],[-41,178],[-42,88],[-22,31],[-59,137],[-46,80],[-46,151],[-45,95],[-58,160],[-41,80],[-189,270],[11,0],[55,-66],[9,6],[2,32],[-7,39],[-10,9],[-15,-9],[-20,8],[-10,13],[-29,8],[-38,45],[-16,47],[-1,53],[-54,113],[-20,64],[10,-5],[14,-26],[15,-7],[17,0],[12,10],[-4,19],[-12,16],[-78,59],[-26,42],[-64,70],[-15,25],[-10,67],[-16,3],[-13,-19],[-38,-18],[-10,21],[-1,21],[27,22],[24,64],[0,22],[-14,-26],[-20,-28],[-21,-16],[-32,-14],[-16,10],[-14,14],[-22,56],[-11,181],[20,63],[23,62],[20,37],[11,-28],[12,-4],[-9,32],[-19,29],[-7,29],[-1,27],[-9,50],[-57,105],[-54,-8],[-22,3],[-20,40],[-17,67],[-9,56],[-1,30],[-5,30],[-93,49],[-28,42],[-27,53],[-12,44],[-11,32],[-9,56],[-7,65],[11,84],[13,40],[-64,30],[-24,2],[-21,-17],[-18,22],[-37,24],[-45,88],[-53,159],[-57,51],[-19,56],[-24,50],[-20,61],[-4,27],[-6,15],[-29,43],[-32,73],[-9,59],[-8,90],[-22,31],[-21,15],[-5,43],[2,24],[-7,45],[-44,108],[-23,89],[-12,28],[-11,41],[-6,83],[-18,103],[-36,125],[-29,83],[-15,84],[7,86],[-5,53],[-4,12],[3,18],[10,-10],[8,15],[-1,55],[-10,17],[-29,17],[-12,12],[-70,22],[-39,31],[-3,72],[-19,33],[-16,20],[-52,43],[-9,-22],[-7,-40],[-21,-9],[-19,-2],[-32,28],[-79,106],[-17,17],[-25,9],[-12,18],[-53,56],[11,-30],[15,-31],[14,-90],[-16,-64],[-10,-226],[11,-45],[23,-73],[16,-114],[5,-86],[14,-67],[-4,-159],[5,-49],[22,-79],[41,-75],[9,-39],[53,-57],[33,-74],[65,-101],[20,-42],[58,-157],[2,-47],[11,-57],[33,11],[15,-43],[-2,-20],[4,-16],[17,4],[15,-12],[31,-170],[17,-23],[21,-10],[24,-19],[1,-44],[-1,-34],[21,-51],[-4,-68],[17,-57],[-3,-56],[7,-45],[50,-99],[62,-80],[13,-104],[26,-95],[25,-24],[27,-40],[-4,-41],[2,-25],[35,-76],[6,-95],[30,-63],[9,-5],[6,10],[-22,63],[-10,41],[-2,64],[8,9],[62,-102],[7,-76],[21,-43],[1,-58],[13,-35],[4,-50],[20,-83],[1,-115],[10,-84],[40,-129],[32,-27],[6,-63],[33,-163],[38,-89],[19,-75],[3,-47],[-14,-69],[-2,-49],[21,-147],[31,-75],[35,-19],[6,-10],[-3,-21],[12,-18],[13,23],[7,33],[-7,38],[-1,28],[6,20],[11,3],[67,-101],[11,-38],[25,-46],[23,-55],[9,-44],[19,-36],[9,-85],[46,-37],[25,-70],[2,-44],[-12,-113],[-11,-33],[-37,-48],[-27,-57],[-27,-36],[-27,-21],[-23,5],[-23,66],[-26,199],[-18,42],[-12,62],[-20,52],[-75,78],[-37,83],[-37,55],[-39,80],[-106,133],[-44,67],[-29,67],[-19,-1],[-14,-7],[-6,19],[-1,34],[-6,23],[-62,100],[-13,56],[-3,65],[14,166],[6,98],[-4,50],[-6,6],[-6,28],[-2,80],[-15,87],[-56,178],[-41,36],[-37,25],[-101,158],[-27,79],[-7,45],[-3,91],[-14,-53],[-19,-39],[-42,3],[-48,-44],[-29,42],[-15,47],[-24,56],[-26,11],[-17,2],[-31,70],[-26,22],[-36,9],[-32,35],[-9,39],[-5,55],[-12,33],[-49,64],[-39,71],[-38,45],[-11,37],[-1,26],[59,-7],[71,-27],[34,7],[21,26],[20,19],[3,-20],[-4,-37],[20,-34],[26,-28],[19,2],[-18,31],[-12,61],[5,22],[0,31],[-26,-7],[-4,16],[23,46],[25,124],[13,121],[-27,106],[-46,74],[-98,216],[-59,111],[-17,41],[-16,20],[-48,25],[-40,62],[-71,88],[-30,45],[-21,106],[-16,15],[5,73],[-7,130],[-12,34],[-38,32],[-9,88],[-2,84],[-8,59],[-65,98],[-3,48],[0,45],[-7,45],[-35,94],[-42,82],[-14,39],[-2,79],[-15,21],[6,5],[13,-2],[8,11],[1,55],[-63,87],[-18,119],[-34,63],[-8,23],[-18,112]],[[17464,69745],[0,4],[-2,65],[-13,23],[-17,-14],[-7,84],[4,40],[-2,39],[-16,95],[-41,116],[-89,144],[-46,48],[-35,61],[-23,17],[-28,4],[-9,-27],[-32,19],[5,67],[-32,95],[-25,10],[-65,-6],[-87,52],[-25,30],[-9,56],[-41,48],[-53,47],[-30,-11],[-39,7],[-55,34],[-33,4],[-63,-10],[-23,8],[-22,42],[-24,22],[5,53],[-3,47],[4,37],[-11,82],[9,75],[-8,27],[-13,21],[-42,31],[-7,39],[7,53],[-11,35],[-35,33],[-32,75],[-40,41],[-17,69],[-25,42],[-8,38],[-56,134],[-59,105],[-9,61],[-2,82],[23,51],[12,44],[-1,41],[-4,29],[-20,52],[-79,31],[-64,128],[-4,99],[-25,100],[0,65],[-4,71],[19,15],[17,-5],[-1,-28],[5,-51],[20,-38],[19,-16],[18,-37],[13,-11],[13,-3],[-7,24],[-8,15],[-9,49],[-18,62],[-20,35],[-11,63],[-9,14],[-5,24],[20,27],[27,20],[36,5],[103,-9],[21,16],[19,-5],[13,2],[-28,17],[-16,-6],[-18,4],[-37,-4],[-15,7],[-16,20],[-11,2],[-34,-34],[-15,4],[-36,37],[-15,6],[-25,-22],[-4,-92],[8,-68],[-15,-7],[-17,28],[-27,17],[-22,26],[-32,47],[-16,18],[-18,-40],[-1,18],[9,46],[-3,78],[28,-62],[-8,43],[-22,48],[-17,17],[-20,85],[-47,51],[-38,83],[-77,137],[-5,121],[-28,153],[12,86],[-1,62],[-14,93],[-15,50],[-62,139],[-60,93],[-9,71],[-4,71],[13,63],[12,67],[8,17],[3,-7],[-2,-14],[8,-5],[3,30],[6,15],[-9,2],[1,9],[5,19],[18,87],[-1,111],[19,135],[-1,45],[-12,96],[-13,57],[-23,41],[10,60],[0,57],[-40,82],[-15,107],[-3,45],[4,121],[-11,51],[-27,84],[12,74],[12,44],[30,196],[7,15],[13,0],[22,33],[-10,8],[-16,-16],[14,77],[15,66],[10,24],[5,216],[9,164],[14,55],[-5,56],[6,76],[-4,76],[31,370],[-4,44],[9,60],[-9,157],[4,177],[-8,22],[-4,24],[8,4],[14,-26],[66,1],[42,23],[16,-7],[17,-33],[23,-6],[28,5],[-9,9],[-13,2],[-29,29],[-17,30],[-51,-2],[-11,19],[-58,-19],[-17,20],[-32,-13],[8,55],[-2,70],[2,68],[8,-50],[19,-52],[10,59],[6,76],[-19,28],[-32,22],[-11,70],[75,59],[-40,13],[-15,27],[-20,3],[-1,-21],[-6,-27],[-7,36],[-2,42],[-8,72],[-31,117],[-18,150],[-23,75],[-45,71],[-12,41],[-11,105],[7,80],[-9,56],[22,-3],[56,-44],[71,-35],[21,-25],[34,-19],[189,-29],[13,3],[24,18],[11,-2],[27,-41],[14,-5],[18,2],[14,8],[23,28],[3,-11],[-1,-26],[8,-37],[17,-48],[7,-30],[-34,-85],[-7,-1],[-1,28],[-4,6],[-64,-143],[-22,-68],[-2,-30],[0,-18],[9,-5],[21,7],[30,28],[1,7],[-28,-10],[-13,-1],[1,32],[4,15],[18,47],[19,29],[28,30],[16,25],[11,36],[30,44],[6,12],[-2,36],[2,7],[15,-5],[6,-62],[-4,-27],[-26,-34],[-3,-12],[5,-45],[-5,-5],[-10,6],[-3,-3],[25,-50],[8,-39],[1,-34],[-7,-66],[-7,-11],[-12,4],[-17,20],[-3,-6],[-13,-52],[-5,5],[-8,61],[-4,4],[-25,-27],[-11,-27],[-8,-43],[-11,-20],[31,-4],[28,8],[23,-20],[8,0],[21,19],[6,14],[17,64],[9,12],[13,0],[12,10],[19,35],[0,14],[-6,79],[2,45],[-4,14],[-8,15],[1,14],[6,23],[1,22],[-6,19],[3,21],[17,46],[3,21],[22,46],[-6,18],[-15,23],[-10,20],[-10,31],[-8,10],[-2,-4],[11,-51],[-3,-4],[-27,28],[-7,17],[-3,23],[2,18],[15,18],[18,6],[-2,14],[-22,48],[-15,22],[-11,10],[-15,3],[-7,8],[-2,11],[3,15],[9,4],[23,-6],[13,11],[-1,19],[-4,10],[1,68],[-9,55],[-5,9],[-5,1],[-6,-7],[-14,-2],[-10,18],[-10,35],[-18,83]],[[15892,79497],[-11,21],[-27,27],[-10,0],[-11,-8],[-7,-13],[-6,-27],[-4,-9],[-4,1],[-3,8],[-8,37],[2,17],[9,20],[-1,7],[-20,-5],[-8,5],[-4,10],[1,43],[-11,24],[13,10],[32,9],[34,1],[9,17],[10,45],[-24,-41],[-14,-4],[-44,15],[-29,-2],[-4,9],[2,9],[6,9],[4,31],[7,88],[9,32],[3,17],[-2,4],[-38,-61],[-3,-19],[4,-17],[-4,-34],[-18,-10],[-10,5],[-20,-29],[-6,-3],[-91,51],[-10,7],[-15,24],[-23,40],[-7,35],[9,29],[8,15],[10,0],[10,-11],[21,-48],[8,-30],[22,4],[35,38],[8,14],[-35,-14],[-15,1],[-15,16],[-16,30],[-8,35],[0,110],[5,21],[17,16],[11,26],[-1,11],[-10,23],[-15,17],[-15,9],[-4,-3],[23,-48],[0,-18],[-26,-47],[-4,-14],[0,-46],[-3,-9],[-21,-13],[-23,-37],[-39,-12],[-36,4],[-20,18],[-61,88],[-22,37],[0,31],[-42,110],[0,24],[-14,34],[-16,5],[-4,32],[33,71],[21,59],[2,18],[-1,29],[-5,64],[5,28],[-21,-37],[-4,-27],[5,-27],[-3,-31],[-12,-44],[-21,-46],[-42,-23],[-74,13],[-8,6],[-5,16],[-4,68],[-5,-9],[-8,-36],[-7,-52],[-9,-12],[-15,-1],[-12,9],[-9,17],[-19,2],[-34,-14],[-17,6],[-19,0],[-40,15],[-47,4],[-12,12],[1,22],[8,12],[49,10],[48,24],[47,12],[-2,12],[-21,4],[-108,-27],[-34,3],[-6,5],[-1,26],[13,26],[21,23],[6,18],[-12,8],[-20,-5],[-9,14],[10,56],[-9,57],[-13,-54],[-19,-30],[-91,-12],[-15,-16],[-12,0],[-58,29],[-25,17],[-23,26],[-42,59],[-33,37],[-1,70],[7,44],[15,50],[59,107],[21,20],[18,7],[87,10],[65,13],[12,6],[-95,8],[-85,-5],[-29,-17],[-37,-69],[-9,-29],[-10,-21],[-7,0],[-12,7],[-4,9],[-6,23],[-19,35],[-9,42],[-5,60],[1,27],[10,34],[28,68],[-36,-2],[4,57],[13,62],[34,37],[34,26],[31,35],[55,23],[18,-47],[47,-15],[13,-21],[17,-39],[20,-38],[25,-35],[7,-3],[-11,31],[-40,67],[-2,23],[-10,26],[-52,37],[-10,14],[-9,37],[-4,24],[6,24],[53,71],[13,37],[0,18],[-5,20],[-11,34],[-3,0],[3,-52],[-2,-20],[-6,-23],[-8,-17],[-12,-12],[-114,-162],[-12,-10],[-42,-14],[-22,-17],[-12,-23],[-19,-59],[-25,-119],[-30,-96],[-25,124],[-46,95],[89,95],[2,14],[-8,50],[2,16],[8,22],[23,32],[-1,3],[-26,-11],[-41,-73],[-16,-24],[-8,-3],[-1,43],[22,111],[18,109],[6,30],[16,32],[-15,-3],[-72,-48],[-24,30],[-20,157],[-36,61],[-60,50],[-59,23],[-13,45],[-12,54],[16,63],[26,31],[23,13],[23,-6],[1,-23],[-15,-63],[20,-6],[81,-76],[17,-6],[34,29],[18,-1],[44,-24],[15,-29],[42,-56],[-6,33],[-46,69],[-25,22],[-45,4],[-28,-11],[-12,3],[-24,17],[-21,29],[-21,63],[-5,29],[1,22],[5,20],[9,17],[17,13],[26,8],[7,8],[-32,36],[-15,0],[-52,-53],[-10,-4],[-5,10],[-4,1],[-15,-26],[-12,-12],[-42,-80],[-7,-39],[-2,-58],[-5,-36],[-7,-15],[-50,-27],[-28,-56],[-34,48],[-38,47],[-25,82],[-45,15],[-52,46],[-20,41],[28,85],[41,65],[6,77],[6,16],[70,19],[46,38],[-47,4],[-29,-6],[-52,-27],[-57,53],[-29,48],[-10,41],[10,35],[2,36],[5,47],[5,21],[12,27],[25,18],[22,54],[9,39],[44,114],[16,50],[31,69],[61,107],[-20,-6],[-10,-9],[-9,1],[-9,12],[-9,24],[-8,36],[-5,-16],[-1,-68],[-6,-59],[-11,-40],[-30,-83],[-18,-32],[-12,30],[10,52],[17,41],[3,56],[-16,67],[-10,54],[-4,41],[-1,37],[3,34],[7,37],[11,39],[-1,5]],[[13882,83582],[-14,-31],[-10,-34],[-7,-35],[-3,-39],[2,-41],[5,-36],[17,-66],[6,-41],[1,-27],[-38,-95],[-13,-46],[1,-20]],[[13829,83071],[3,-47],[-40,-78],[-52,-39],[-11,12]],[[13729,82919],[-11,13],[-65,9],[-24,85],[-12,66],[-19,57],[0,13],[17,38],[65,31],[1,13],[-24,8],[-6,14],[-7,62],[2,54],[-2,36],[-10,73],[-17,45],[-41,88],[-4,22],[18,28],[12,26],[-71,-45],[-96,-47],[-42,-33],[-9,-13],[-3,-12],[8,-31],[-1,-10],[-9,-18],[-10,-52],[-21,-55],[-10,-12],[-38,21],[-10,18],[-19,72],[5,19],[13,16],[19,35],[24,53],[45,137],[29,0],[52,27],[-82,14],[-12,7],[-11,19],[-9,30],[-17,33],[-31,12],[-13,12],[-21,41],[-14,18],[-7,22],[-1,27],[-6,14],[-21,5],[-12,9],[-3,69],[-42,18],[-18,15],[-28,43],[-7,21],[-3,18],[7,47],[-3,9],[-25,-5],[-153,74],[8,98],[-28,129],[-31,52],[6,20],[7,11],[13,0],[59,-38],[56,-45],[7,7],[-89,95],[-22,29],[-5,34],[-1,18],[7,10],[84,-9],[4,7],[-84,28],[-17,0],[-18,-40],[-9,-9],[-18,1],[-6,7],[-22,48],[-20,34],[-38,47],[-7,33],[-2,49],[5,46],[31,106],[13,18],[3,12],[-10,-2],[-9,-10],[-25,-49],[-27,-81],[-21,-27],[-14,6],[-20,33],[-43,40],[-50,11],[-31,41],[-46,114],[-6,56],[-6,14],[-25,19],[-16,27],[-24,139],[-31,96],[-8,51],[3,50],[-4,6],[-11,-40],[-3,-20],[-20,-6],[19,-40],[5,-20],[-10,2],[-19,-5],[33,-68],[14,-105],[21,-78],[14,-64],[7,-48],[9,-46],[25,-101],[3,-20],[-3,-17],[-8,-20],[-14,-7],[-45,13],[-17,25],[-24,47],[-34,21],[-84,-11],[-6,4],[0,38],[10,67],[-8,27],[-44,98],[1,20],[60,45],[-29,3],[-24,-17],[-9,11],[-14,63],[-9,24],[-5,5],[-2,-60],[10,-32],[1,-18],[-1,-26],[-7,-18],[-11,-11],[-11,-3],[-20,13],[-23,24],[-19,11],[-8,10],[-9,26],[-15,20],[-74,26],[-44,30],[-3,-8],[13,-32],[2,-19],[-11,-6],[-20,-31],[6,-4],[21,10],[23,-1],[39,-19],[35,-24],[12,-13],[6,-20],[4,-8],[34,-23],[2,-12],[-22,-37],[45,4],[27,-13],[34,-57],[11,-32],[2,-41],[-7,-11],[-14,-9],[-92,-13],[-34,-49],[-7,-1],[-25,14],[-46,39],[-58,37],[-131,110],[-3,5],[-3,22],[-9,10],[-17,10],[-25,28],[-32,46],[-19,36],[-8,27],[-18,30],[-59,62],[-31,24],[-28,13],[-24,3],[-6,9],[11,13],[2,9],[-53,12],[-50,30],[-127,82],[-65,51],[-39,25],[-16,14],[-7,11],[9,12],[26,12],[17,14],[27,52],[2,17],[-14,37],[-7,35],[0,19],[4,19],[4,12],[11,12],[9,6],[10,-4],[32,-47],[4,-17],[-1,-65],[9,-76],[3,6],[3,25],[2,48],[4,23],[6,22],[12,12],[36,-7],[17,4],[-71,34],[-44,64],[-8,7],[-24,3],[-26,-26],[-66,-85],[-19,-14],[-83,-47],[-57,-10],[-63,8],[-54,15],[-136,74],[-21,17],[31,46],[2,14],[-11,47],[-9,13],[-13,7],[-4,-5],[0,-14],[3,-25],[-10,-14],[-23,-14],[-39,-15],[-120,37],[-124,32],[-110,6],[-156,-25],[-83,-25],[-48,-2],[-47,4],[-4,18],[21,10],[-1,13],[-27,39],[-40,24],[-55,8],[-32,12],[-8,14],[-19,14],[-31,13],[-13,24],[10,74],[11,44],[10,30],[27,50],[-9,-4],[-39,-36],[-33,-38],[-32,-50],[-18,-22],[-24,-21],[-37,5],[-50,31],[-43,16],[-36,1],[-15,5],[25,27],[14,23],[19,35],[5,17],[-132,6],[-5,19],[0,14],[-4,11],[-19,8],[-27,-6],[-43,-22],[-19,17],[7,9],[14,7],[28,32],[-38,17],[-20,19],[-10,15],[1,57],[10,36],[87,35],[-27,14],[-56,-5],[-37,-30],[-43,-43],[-30,-16],[-15,11],[-20,4],[-25,-4],[-16,-11],[-9,-18],[-10,-13],[-11,-7],[-8,3],[-12,19],[-25,12],[-12,14],[-7,-9],[-9,-28],[-9,-14],[-42,-14],[-23,3],[-28,34],[-4,12],[10,30],[61,119],[-6,-1],[-20,-18],[-39,-48],[-18,-14],[-30,-2],[-14,5],[-17,-3],[-20,-13],[-13,-14],[-6,-15],[4,-3],[30,18],[17,4],[5,-8],[-24,-54],[-14,-51],[-13,-13],[-22,3],[-24,-5],[0,-15],[44,-40],[16,-6],[20,-15],[3,-14],[-7,-39],[-6,-16],[-9,-8],[-36,2],[-12,-4],[-24,-25],[-12,-20],[4,-2],[21,17],[31,9],[39,1],[30,9],[20,16],[19,-4],[18,-26],[6,-23],[-8,-20],[-15,-14],[-23,-8],[-15,-12],[-6,-17],[-3,-25],[-1,-33],[6,-59],[-5,-8],[-8,-4],[-13,-1],[-12,-14],[-27,-79],[-9,-8],[-12,8],[-10,-1],[-9,-10],[-19,-8],[-30,-5],[-25,2],[-45,17],[-18,12],[-15,19],[-40,-20],[-11,9],[-25,54],[-5,-3],[-5,-59],[-8,-20],[-25,-43],[-13,-73],[-4,-2],[-5,10],[-15,66],[-8,14],[-23,-38],[-2,-13],[6,-49],[-6,-8],[-45,27],[-11,1],[-3,-4],[15,-38],[-1,-14],[-65,-73],[-17,2],[-10,8],[-12,-1],[-41,-28],[-11,2],[-15,16],[-7,-1],[-4,-17],[-1,-33],[-15,-31],[-49,-50],[-13,-23],[-9,-32],[-8,-3],[-28,20],[-33,13],[-5,-6],[10,-20],[-2,-11],[-14,-5],[-18,2],[-22,8],[-31,-9],[-40,-26],[-33,1],[-46,42],[-12,3],[-4,12],[9,34],[13,26],[9,12],[44,33],[50,12],[31,20],[39,41],[20,31],[40,79],[-3,7],[-9,4],[-88,-75],[-13,-7],[-17,0],[-70,29],[-14,12],[-11,37],[20,82],[13,40],[35,61],[44,66],[15,42],[24,114],[-2,52],[-10,63],[-1,37],[10,12],[102,58],[49,44],[94,64],[25,0],[19,-23],[22,-17],[25,-14],[32,2],[39,16],[62,-6],[128,-43],[27,-2],[1,5],[-19,30],[-89,17],[-37,17],[-104,76],[-24,29],[10,14],[26,11],[8,11],[4,19],[15,26],[25,33],[39,32],[75,48],[-29,2],[-54,-9],[-19,-9],[-36,-34],[-14,-24],[-20,-47],[-8,-8],[-37,-7],[-101,-5],[-17,24],[-9,4],[-13,-4],[-92,-60],[-34,-32],[-23,-35],[-37,-26],[-49,-17],[-37,-20],[-39,-41],[-14,-31],[0,-15],[9,-46],[-10,-9],[-22,-3],[-36,-31],[-76,-91],[-10,-34],[0,-11],[12,-26],[-8,-17],[-22,-26],[-48,-42],[-31,-16],[-20,-1],[-20,6],[-35,27],[-28,2],[-2,-4],[39,-29],[39,-37],[24,-31],[10,-25],[0,-25],[-9,-26],[-27,-45],[-27,-14],[-70,-13],[-22,-11],[-7,-9],[48,-19],[4,-9],[-6,-38],[-13,-13],[-40,-22],[-35,-7],[-6,4],[7,30],[-2,8],[-13,6],[-19,-12],[-47,-43],[-5,-8],[17,-11],[-4,-10],[-26,-32],[-10,-21],[-17,-21],[-76,-66],[5,-16],[-19,-57],[-11,-50],[13,-21],[64,-25],[31,-6],[37,-17],[66,-47],[22,-30],[3,-14],[-2,-16],[-8,-21],[-21,-40],[-50,-59],[-22,-17],[-34,-13],[-12,-10],[-43,-56],[-12,-31],[2,-26],[-9,-19],[-56,-36],[2,-6],[20,-3],[-7,-32],[-3,-45],[-10,-7],[-36,0],[-44,-17],[-3,-5],[-1,-32],[-118,-24],[-25,-61],[-14,-18],[-45,-44],[-29,-18],[-32,-11],[-17,-15],[-1,-19],[-9,-17],[-28,-27],[-14,-35],[-10,-5],[-51,-9],[-11,-11],[-5,-47],[-9,-1],[-19,11],[-24,-9],[-53,-52],[-12,-19],[1,-11],[8,-10],[13,-31],[-1,-21],[-20,-59],[-8,-9],[-25,-15],[-10,-33],[-23,4],[-19,-6],[-12,-22],[-14,-13],[-14,-3],[-18,-17],[-22,-31],[-20,-20],[-18,-9],[-18,-2],[-18,4],[-16,-3],[-14,-12],[-13,-18],[-11,-51],[-14,-23],[-9,-4],[-17,3],[-27,11],[-28,-4],[-44,-31],[-14,-24],[28,-5],[14,-7],[-1,-7],[-14,-6],[-25,0],[-14,-5],[-19,-14],[-45,-14],[-17,-11],[-34,-59],[-4,-14],[4,-3],[19,6],[23,-9],[11,-13],[8,-16],[7,-29],[4,-5],[-43,-50],[-12,-21],[-8,-8],[-5,6],[-6,56],[-3,9],[-10,1],[-10,-17],[-22,-67],[-23,-33],[-178,-85],[-26,-20],[-5,-36],[-7,-32],[-12,-25],[-14,-16],[-3,12],[1,88],[-3,18],[-18,11],[-8,-1],[-11,-5],[-18,-19],[-10,-5],[-14,1],[-23,-19],[-55,-60],[-36,-15],[-10,-13],[-15,-33],[-10,-12],[-15,-1],[-20,10],[-16,-7],[-12,-25],[-13,-9],[-35,18],[-15,-12],[-20,-32],[-21,-20],[-22,-10],[-56,-11],[-23,7],[-5,9],[1,40],[9,29],[9,13],[11,12],[17,1],[31,-9],[-4,10],[-11,11],[-29,20],[-28,10],[-16,-6],[-23,-15],[-15,-18],[-8,-20],[-10,-64],[-6,-18],[-67,-114],[-26,-35],[-25,3],[-13,-14],[-17,-28],[-17,-14],[-14,1],[-12,6],[-8,9],[1,9],[11,9],[-4,23],[-19,37],[-13,20],[-24,3],[-4,-17],[8,-87],[-1,-20],[-15,-25],[-41,-27],[-12,3],[-37,54],[-34,11],[-2,-18],[7,-36],[-8,-34],[-25,-31],[-19,-16],[-13,1],[-1,22],[12,43],[3,36],[-6,29],[1,22],[7,16],[45,42],[20,7],[10,-11],[13,-2],[15,7],[10,14],[4,20],[20,26],[35,32],[40,59],[46,86],[53,74],[62,62],[66,49],[134,68],[10,-5],[-12,-21],[8,-14],[13,-2],[49,11],[20,14],[6,-14],[-7,-17],[-30,-17],[1,-15],[43,-68],[13,-11],[12,2],[4,9],[-3,49],[14,9],[30,2],[19,-6],[9,-15],[17,-13],[25,-10],[15,3],[6,16],[-10,20],[-48,42],[-13,17],[-3,25],[7,31],[14,46],[24,62],[21,43],[42,49],[29,24],[72,74],[140,75],[34,48],[47,53],[20,14],[0,-21],[6,-18],[32,-13],[20,-4],[10,4],[2,19],[-4,36],[-1,33],[2,32],[4,25],[21,44],[31,50],[43,59],[27,26],[25,14],[24,26],[42,60],[14,10],[30,12],[11,-5],[7,-15],[8,-10],[30,-8],[21,13],[-4,7],[-16,5],[-11,9],[-10,36],[-20,21],[-5,25],[4,38],[17,90],[3,92],[16,53],[31,19],[69,13],[-40,24],[-16,0],[-26,11],[-10,58],[0,41],[18,49],[64,81],[71,57],[-10,5],[-8,16],[32,114],[32,101],[-43,-86],[-50,-66],[-145,-77],[-99,-64],[-47,-15],[-31,16],[-24,62],[-14,21],[-18,41],[8,52],[14,36],[31,6],[34,-18],[31,-1],[-39,35],[-56,31],[-26,-10],[-19,-50],[-26,-35],[-23,13],[-14,14],[10,-43],[-18,-64],[-6,-44],[25,-118],[-5,-47],[-45,-22],[-37,39],[-76,149],[-27,43],[-60,70],[-20,-10],[-25,-35],[-24,-10],[-65,51],[-30,39],[-28,48],[-44,-26],[-38,-31],[-44,-50],[-30,1],[-81,-43],[-9,-1],[-11,-22],[-11,-11],[-10,-44],[-109,-34],[-108,19],[38,25],[42,19],[37,45],[-16,61],[-3,32],[1,39],[40,55],[-42,0],[-27,-20],[-25,42],[-12,81],[29,49],[13,37],[12,51],[1,44],[-23,74],[-63,158],[-29,117],[-50,63],[37,102],[41,94],[54,41],[-4,7],[-30,-1],[-19,-5],[-18,-31],[-18,-23],[-56,-119],[-37,-57],[-23,-17],[38,-22],[6,-19],[7,-43],[-10,-53],[-10,-28],[-45,2],[-40,-42],[-95,-46],[-128,-26],[-63,3],[-65,53],[0,31],[3,27],[-94,92],[-54,92],[-38,2],[-33,24],[-39,38],[3,31],[6,21],[-24,15],[-31,-1],[-36,10],[94,118],[32,79],[27,11],[34,-12],[47,-31],[40,-14],[14,-14],[15,-28],[-16,-46],[-14,-33],[17,9],[50,50],[37,44],[17,-4],[12,-8],[20,-45],[25,-47],[56,44],[30,55],[-25,25],[-31,14],[-79,18],[20,16],[50,-1],[19,15],[-20,20],[-25,19],[-68,-62],[-124,3],[-87,36],[-87,-6],[-13,7],[-17,20],[49,46],[34,25],[2,15],[-20,2],[-38,-12],[-17,21],[3,37],[-6,-3],[-15,-20],[-21,10],[-18,16],[9,18],[19,24],[-8,4],[-17,-5],[-16,-32],[3,-26],[0,-37],[-28,-7],[-24,5],[-17,37],[-17,80],[-48,21],[-12,40],[30,52],[-13,27],[-32,8],[-37,-26],[-17,24],[-3,25],[-1,37],[10,4],[9,-8],[74,21],[7,9],[-59,31],[-16,33],[24,18],[44,2],[61,19],[-25,35],[-6,18],[-5,31],[10,53],[72,121],[71,100],[22,23],[32,13],[30,-10],[31,-21],[6,9],[-11,9],[-13,41],[43,16],[26,46],[2,14],[-28,-20],[-29,-31],[-7,32],[-7,73],[12,69],[10,32],[24,29],[69,12],[13,-6],[2,14],[-41,44],[17,34],[15,17],[84,28],[45,-9],[58,-32],[33,-40],[-5,-20],[-8,-12],[-17,-14],[-7,-10],[3,-8],[25,24],[40,29],[23,-13],[17,-23],[20,0],[63,20],[32,21],[39,54],[51,35],[73,111],[21,45],[25,7],[23,-4],[15,-37],[23,-11],[130,9],[67,17],[46,36],[48,61],[28,41],[13,53],[-17,69],[-18,57],[-23,130],[-64,86],[-46,26],[-30,-4],[22,55],[61,-6],[40,11],[33,26],[10,21],[16,40],[-5,44],[-9,24],[-22,26],[-27,38],[-18,13],[-16,-1],[-78,-77],[-46,-1],[-35,14],[-30,-44],[-85,-38],[-45,-39],[-84,-96],[-21,-43],[-26,-2],[-19,84],[-91,81],[-28,-28],[15,-25],[21,-18],[34,-8],[-15,-24],[-11,-32],[-34,30],[-61,44],[-63,23],[-164,-3],[-108,-45],[-10,9],[-10,4],[-18,-11],[-8,-18],[-11,-12],[-22,-4],[-45,7],[-85,28],[-194,42],[-50,25],[-44,61],[1,41],[19,17],[-1,59],[-38,16],[-77,85],[-28,36],[6,4],[14,-10],[26,-7],[64,12],[22,54],[48,16],[44,-8],[-10,15],[-11,12],[-114,28],[-16,-9],[-205,50],[-162,86],[-13,17],[-15,37],[22,36],[22,17],[1,-20],[3,-20],[93,46],[48,60],[92,10],[22,17],[28,32],[41,55],[58,29],[39,26],[51,15],[44,-25],[13,-4],[80,-5],[26,11],[11,8],[8,13],[-78,46],[8,26],[10,18],[91,54],[70,18],[37,-1],[108,69],[59,20],[112,13],[92,4],[25,-25],[-49,5],[-22,-5],[15,-8],[18,-18],[-5,-23],[-31,-68],[3,-54],[-20,-17],[-19,-25],[94,-78],[146,-5],[79,14],[45,-23],[38,-6],[103,12],[78,-16],[33,6],[72,117],[28,18],[31,-20],[40,-17],[25,12],[21,-30],[-10,63],[-14,23],[-118,43],[-78,-21],[-25,24],[8,48],[-84,119],[-35,24],[-42,1],[-21,41],[-18,53],[36,22],[33,10],[30,-17],[33,-70],[32,-10],[-9,-69],[39,-64],[89,-59],[70,21],[50,0],[30,-13],[74,-53],[37,-7],[116,28],[1,53],[-9,37],[-28,24],[-78,-4],[-62,39],[-52,-11],[-96,-60],[-48,24],[-30,32],[-49,32],[-6,62],[41,70],[30,33],[-27,25],[-68,17],[-119,-17],[-5,23],[0,26],[-48,-50],[-50,10],[-66,-5],[-148,45],[-52,55],[-22,44],[-40,123],[-50,76],[-351,260],[-159,66],[-77,72],[-48,18],[-46,7],[-59,23],[40,29],[27,10],[-28,-30],[21,-8],[35,17],[18,21],[27,88],[28,132],[-7,53],[194,-11],[129,9],[43,12],[163,20],[43,15],[78,44],[92,79],[80,104],[12,28],[5,-7],[7,4],[9,40],[10,92],[39,88],[168,199],[77,79],[26,35],[27,27],[19,-25],[9,-8],[5,-11],[-16,-6],[-26,-25],[-36,-17],[-9,-9],[22,2],[63,18],[36,23],[179,41],[97,69],[3,16],[144,85],[20,-3],[23,-10],[-40,-57],[28,-15],[-25,-67],[52,-2],[12,-31],[3,27],[-1,39],[4,37],[8,27],[36,-12],[83,28],[-100,3],[-60,62],[-33,0],[111,90],[102,55],[23,-2],[11,-10],[2,-16],[-22,-11],[-21,-19],[10,-17],[15,-3],[48,14],[22,18],[105,-2],[30,13],[8,12],[134,3],[25,9],[85,48],[78,58],[36,32],[61,81],[53,52],[87,53],[21,-7],[-28,-10],[-20,-22],[27,-30],[183,-61],[46,-3],[18,-37],[-15,-35],[-47,-39],[-95,-40],[29,-15],[19,-36],[28,-4],[46,13],[35,22],[74,71],[24,40],[17,10],[62,-9],[35,-21],[40,-36],[-15,-35],[-16,-20],[52,-28],[57,-5],[55,-22],[77,45],[60,9],[57,-1],[73,25],[125,-34],[31,9],[50,-6],[53,-20],[19,-22],[-57,-46],[-9,-47],[20,-19],[36,-4],[4,-27],[23,-7],[112,2],[-9,-13],[-5,-16],[-35,-35],[200,-20],[27,20],[41,7],[88,27],[33,-12],[39,-27],[36,-6],[34,6],[78,39],[91,2],[37,-13],[39,6],[118,-45],[44,-5],[58,-59],[30,-1],[34,24],[29,0],[29,-24],[47,-7],[22,-38],[24,-13],[178,-28],[88,13],[129,-4],[62,-17],[65,2],[107,-65],[56,-10],[11,-15],[161,-16],[56,34],[98,9],[88,28],[50,0],[59,-7],[22,4],[16,12],[142,-49],[79,-56],[35,-41],[166,-59],[48,-33],[33,-36],[19,-4],[14,10],[58,-3],[22,-5]],[[10833,91735],[39,-9],[126,-19],[119,11],[221,-63],[137,-118],[111,-58],[45,-39],[72,-35],[169,-77],[53,-7],[98,-37],[61,5],[104,-9],[71,-30],[140,-80],[29,-7],[8,5],[-49,80],[-8,8],[-56,30],[-67,14],[-5,6],[-12,28],[4,11],[14,5],[50,0],[29,4],[4,12],[-21,2],[-25,11],[-30,19],[-17,18],[61,118],[21,-12],[32,27],[58,-17],[10,9],[7,61],[9,14],[16,11],[80,10],[99,-10],[11,6],[-10,40],[-1,15],[6,37],[6,19],[12,10],[46,-8],[15,-18],[15,-30],[16,-18],[49,-17],[6,-13],[-19,-46],[-19,-24],[-41,-64],[-3,-17],[63,29],[71,40],[60,22],[51,4],[36,13],[22,21],[16,23],[31,72],[21,12],[87,-4],[21,2],[13,7],[-2,9],[-19,11],[-25,3],[0,5],[9,12],[14,7],[42,8],[29,-26],[19,-2],[63,29],[98,76],[39,21],[34,4],[29,-14],[22,4],[29,43],[12,23],[17,20],[73,44],[46,10],[29,-8],[33,-19],[28,-7],[37,5],[27,-2],[13,9],[47,51],[15,0],[14,-15],[24,-37],[0,-18],[-31,-45],[-225,-129],[-69,-56],[-34,-20],[-36,-12],[-69,-10],[-27,-11],[-46,-10],[-109,-18],[-21,-9],[-14,-10],[-39,-68],[-18,-22],[-38,-34],[-41,-21],[-58,-7],[-36,-32],[-42,-62],[-33,-43],[-39,-37],[-42,-48],[-11,-25],[13,-33],[7,-11],[42,-18],[16,4],[-15,18],[-35,26],[-5,9],[9,7],[166,-19],[36,19],[12,17],[-2,8],[-45,4],[-10,16],[-7,29],[-2,24],[4,17],[10,23],[49,36],[52,16],[40,20],[22,20],[60,33],[23,27],[13,21],[2,10],[-11,8],[9,18],[43,16],[20,1],[61,-15],[11,-12],[-6,-32],[8,1],[24,41],[13,13],[14,3],[13,-5],[14,-13],[8,-39],[1,-65],[3,-27],[16,45],[11,21],[59,96],[40,52],[46,51],[65,38],[152,63],[85,17],[43,16],[21,14],[14,17],[24,19],[4,-2],[-9,-40],[-6,-12],[-56,-25],[-5,-19],[6,-30],[9,-20],[13,-9],[23,7],[33,23],[41,35],[89,88],[8,17],[22,71],[51,32],[92,35],[22,23],[-80,20],[-17,13],[-3,8],[15,20],[-36,20],[-14,13],[1,36],[11,26],[24,26],[14,4],[36,-15],[30,-19],[104,-87],[42,-44],[25,-33],[58,-105],[26,-61],[21,-63],[21,-45],[20,-28],[100,-109],[52,-47],[44,-28],[49,-23],[57,-17],[38,-2],[60,47],[1,31],[-26,51],[-27,35],[4,22],[35,41],[-3,15],[8,43],[24,-9],[10,2],[13,16],[17,29],[22,25],[27,19],[7,13],[-26,9],[-16,0],[-12,5],[-8,8],[11,9],[57,23],[11,21],[19,15],[23,6],[15,-6],[16,-18],[1,-29],[-7,-47],[-2,-38],[18,-90],[16,-19],[63,-27],[-4,-21],[-72,-95],[-16,-23],[-7,-18],[2,-14],[13,-13],[24,-8],[63,-4],[18,9],[122,2],[22,7],[19,18],[28,46],[31,14],[10,12],[19,54],[10,63],[9,26],[14,16],[19,6],[48,-6],[22,5],[88,-5],[88,4],[92,-11],[58,-13],[54,-20],[104,-48],[41,-26],[145,-116],[43,-24],[79,-23],[274,-50],[34,-14],[72,-53],[50,-30],[59,-30],[73,-25],[144,-39],[24,-13],[26,-3],[30,5],[132,-22],[35,1],[25,-4],[31,-16],[45,-6],[-2,11],[-51,61],[2,9],[21,1],[64,-10],[15,17],[21,0],[49,-9],[53,-18],[56,-29],[68,-25],[104,-62],[57,-51],[55,-64],[29,-44],[6,-25],[11,-12],[17,0],[7,-9],[-16,-55],[-9,-14],[-12,-10],[-49,-11],[-136,13],[-25,-44],[-76,-38],[-13,-16],[-4,-12],[6,-39],[-10,-12],[-62,-44],[-2,-13],[40,-18],[43,-31],[34,-8],[43,5],[54,-11],[65,-26],[45,-12],[25,2],[35,-5],[44,-11],[59,-5],[129,1],[39,-8],[54,-4],[105,1],[19,1],[33,21],[22,7],[38,0],[108,15],[38,0],[34,12],[45,23],[27,4],[10,-14],[19,-7],[27,2],[52,25],[120,72],[43,0],[32,23],[8,0],[8,-9],[30,-53],[9,-9],[20,-4],[20,-27],[20,-41],[16,-11],[113,-2],[39,-11],[12,-12],[13,-32],[7,-62],[5,-23],[16,-33],[11,-9],[10,9],[28,86],[10,14],[18,-5],[6,-4],[28,-64],[40,-47],[100,-87],[16,-32],[6,-24],[-6,-21],[-17,-19],[-27,-15],[-37,-11],[-34,4],[-32,19],[-10,1],[11,-17],[66,-72],[17,-29],[16,-19],[14,-9],[13,-16],[12,-22],[55,-58],[16,-27],[62,-86],[30,-34],[23,-20],[8,-2],[-5,16],[-79,115],[-41,72],[-5,17],[-3,26],[-2,88],[6,13],[28,12],[35,-40],[13,-6],[9,3],[5,10],[20,-10],[36,-29],[12,0],[-27,56],[-19,27],[-7,19],[18,29],[-10,14],[-45,43],[-24,43],[-21,67],[-2,25],[3,28],[-3,22],[-29,44],[-31,31],[-24,36],[-5,19],[3,52],[19,22],[36,30],[9,31],[-16,32],[-3,14],[10,-3],[70,16],[18,-5],[26,6],[35,20],[28,8],[36,-1],[20,5],[24,8],[13,10],[22,37],[12,5],[37,-4],[21,-8],[9,3],[-1,52],[7,18],[37,38],[39,4],[25,10],[30,22],[21,19],[21,30],[9,39],[-7,11],[-44,15],[-26,-8],[-59,-27],[-61,-36],[-24,-33],[-6,-42],[-12,-19],[-47,18],[-21,-1],[-25,-7],[-27,-16],[-29,-26],[-42,-4],[-56,16],[-33,4],[-34,-27],[2,-20],[15,-29],[-15,-17],[-82,-6],[-21,3],[-44,-11],[-17,2],[-12,14],[-89,59],[-9,12],[22,48],[82,130],[9,8],[152,23],[91,23],[169,72],[32,6],[108,47],[45,12],[41,-8],[60,-24],[32,-22],[22,-27],[18,-38],[23,-83],[8,-71],[14,-27],[51,-49],[26,-19],[16,-6],[14,11],[9,2],[7,-4],[7,-31],[9,-4],[30,4],[32,-13],[5,-9],[-7,-39],[9,-16],[40,-34],[37,-13],[44,-6],[81,5],[68,17],[51,27],[42,-30],[84,-73],[50,-52],[41,-24],[84,-30],[19,-15],[31,-2],[43,12],[48,-5],[54,-21],[37,-10],[127,41],[20,2],[47,20],[31,6],[36,0],[27,6],[17,12],[68,0],[122,-15],[84,-18],[49,-23],[41,-13],[32,-2],[31,4],[30,11],[32,21],[68,10],[11,6],[-1,11],[-14,18],[-39,33],[-27,32],[-5,20],[1,25],[8,14],[16,4],[26,-15],[34,-35],[98,-129],[24,-19],[13,-16],[90,-47],[42,-9],[50,29],[22,19],[11,17],[0,17],[4,24],[-5,16],[-13,19],[-36,28],[-59,35],[-53,10],[-48,-14],[-55,-30],[-23,12],[-68,83],[-17,32],[0,9],[31,-11],[2,11],[-19,40],[-12,14],[-39,63],[-5,20],[24,4],[11,7],[15,0],[70,-39],[35,17],[83,25],[-33,36],[-7,37],[3,7],[27,6],[53,-30],[25,-4],[19,12],[19,0],[21,-10],[19,-15],[37,-45],[17,-27],[20,-40],[7,-6],[97,-3],[54,36],[-1,-12],[-12,-28],[-68,-108],[1,-13],[36,6],[17,9],[10,13],[9,30],[6,9],[101,50],[29,8],[-18,-54],[-37,-194],[-8,-67],[-8,-23],[-40,-74],[1,-26],[43,-63],[8,-17],[4,-51],[8,-10],[36,-1],[37,17],[44,10],[7,-10],[-24,-62],[1,-6],[42,16],[19,2],[8,-3],[31,-32],[3,-24],[0,-35],[-3,-25],[-11,-15],[-13,-5],[-16,-4],[-14,1],[-44,-5],[-26,7],[-25,19],[-18,5],[-21,-15],[-34,2],[-37,43],[-15,-4],[-5,-7],[0,-9],[17,-28],[132,-147],[20,-30],[4,-43],[3,0],[12,43],[-8,21],[-67,86],[-9,31],[3,9],[18,8],[96,-21],[38,5],[25,15],[13,18],[9,102],[17,65],[-10,59],[-26,93],[-21,54],[-47,56],[-5,20],[53,168],[9,14],[12,6],[42,3],[30,14],[47,-20],[26,-5],[33,17],[72,71],[28,22],[36,41],[43,61],[48,44],[76,41],[47,33],[10,12],[-44,3],[-10,5],[-9,32],[4,57],[-1,33],[-5,29],[-9,26],[-14,23],[-13,13],[-11,5],[-8,-2],[-4,-9],[-12,-55],[-15,-41],[-20,-21],[-43,-14],[-72,-11],[-30,20],[-4,16],[10,64],[25,28],[66,54],[42,44],[1,7],[-39,0],[-9,9],[-9,54],[3,20],[6,22],[27,17],[84,21],[65,24],[2,-9],[-52,-72],[-5,-17],[20,-15],[50,41],[32,35],[6,12],[-30,4],[-1,14],[5,27],[-2,18],[-33,22],[-40,-12],[-34,-24],[-28,-7],[-41,0],[-30,5],[-18,12],[-23,25],[-26,39],[-33,39],[-12,5],[-10,-5],[-22,-38],[-9,-4],[-130,53],[-56,30],[-26,22],[-34,14],[-39,4],[-32,10],[-24,17],[-19,24],[-15,32],[-27,39],[-62,79],[-16,51],[-2,19],[4,50],[58,85],[10,24],[20,18],[29,12],[21,3],[47,-11],[-28,26],[-3,14],[29,46],[-6,2],[-78,-35],[-20,3],[-28,21],[-52,77],[-1,48],[17,67],[5,40],[-15,34],[6,9],[16,10],[7,10],[-7,38],[11,20],[38,38],[36,34],[22,11],[19,-2],[19,-11],[21,-19],[34,-19],[26,-6],[19,11],[33,73],[11,19],[-11,8],[-63,-1],[-28,6],[-16,7],[-11,28],[9,15],[62,52],[29,54],[86,75],[87,35],[43,12],[34,2],[15,-5],[18,-37],[4,-40],[47,-49],[38,-4],[24,7],[76,-3],[18,-13],[-1,-16],[-9,-25],[6,-22],[51,-41],[47,-28],[42,-35],[63,-75],[13,-21],[10,-22],[16,-83],[2,-31],[-6,-91],[-5,-17],[-16,-21],[5,-8],[50,-24],[39,-47],[21,-15],[49,-26],[9,-9],[12,-16],[28,-68],[46,-61],[3,-13],[-10,-29],[7,-9],[18,-11],[16,6],[14,21],[15,6],[17,-9],[12,-16],[17,-39],[25,-32],[-2,-10],[-12,-8],[-68,-9],[-37,6],[-35,16],[-25,16],[-22,25],[-9,-3],[-12,-20],[-25,-30],[-16,-27],[18,-13],[89,1],[19,-8],[23,-19],[-26,-32],[-60,-55],[-129,-105],[-38,-28],[9,-7],[14,-2],[45,4],[41,14],[51,-6],[22,-11],[-8,-12],[14,-18],[83,-43],[52,9],[53,41],[41,20],[51,-2],[14,-5],[-5,-10],[-38,-23],[-34,-26],[-3,-7],[42,10],[94,-16],[45,-4],[34,4],[31,-7],[29,-17],[9,-11],[-27,-7],[-25,0],[-22,-10],[-18,-21],[-13,-27],[-8,-33],[-19,-14],[-31,6],[-13,9],[7,13],[-9,2],[-25,-9],[-20,0],[-5,-10],[137,-107],[44,-94],[30,-39],[3,-10],[-20,-26],[-1,-20],[9,-58],[-4,-46],[-14,-81],[13,-25],[29,-22],[18,-28],[12,-10],[9,-23],[10,-14],[12,-6],[8,7],[5,21],[11,20],[31,35],[30,55],[5,18],[-5,43],[4,19],[28,65],[9,45],[8,71],[15,49],[32,42],[56,84],[20,17],[22,8],[40,-2],[28,-27],[39,-50],[49,-46],[90,-61],[25,-24],[51,-61],[21,-61],[15,-85],[13,-52],[10,-17],[5,-26],[-1,-35],[-4,-27],[-7,-20],[-11,-11],[-27,-3],[-34,5],[-9,9],[-18,41],[-7,2],[-31,-30],[-4,-17],[12,-56],[-2,-104],[3,-23],[33,-110],[55,-83],[138,-160],[8,-18],[15,-65],[7,-14],[9,-8],[11,-3],[15,7],[51,49],[44,53],[31,27],[18,2],[18,10],[21,17],[13,18],[7,21],[9,78],[8,38],[21,52],[8,14],[107,131],[9,16],[45,152],[17,69],[2,42],[-6,37],[3,30],[12,25],[13,17],[22,17],[13,24],[7,3],[19,0],[24,-17],[17,-3],[113,19],[0,10],[-66,32],[1,16],[5,22],[21,25],[26,7],[6,16],[0,19],[9,31],[-8,12],[-62,43],[-36,-2],[-9,6],[-31,35],[-11,51],[-1,21],[4,34],[4,9],[-2,16],[-8,21],[0,19],[6,16],[-4,20],[-14,22],[-6,20],[15,57],[1,17],[-15,25],[-10,9],[8,6],[25,3],[31,-8],[36,-18],[43,-1],[52,18],[52,9],[91,-4],[21,-5],[90,-53],[70,-27],[32,3],[156,-11],[68,5],[35,-2],[68,-29],[-4,-24],[-30,-41],[-38,-8],[-34,-14],[32,-22],[92,-28],[22,-46],[6,-21],[-11,-19],[6,-10],[21,0],[55,16],[61,-10],[89,-36],[10,-7],[15,-28],[-2,-11],[-78,-70],[-41,-27],[-54,-28],[-1,-15],[75,-3],[58,-8],[27,-9],[14,-13],[19,-28],[3,-23],[-2,-30],[-6,-20],[-69,-60],[-31,-19],[-53,-22],[-23,-17],[-26,2],[-28,22],[-28,4],[-52,-17],[-29,1],[-13,-6],[-2,-13],[25,-38],[14,-15],[6,-11],[-11,-19],[3,-6],[8,-7],[47,-83],[10,-6],[10,3],[20,24],[13,9],[5,-1],[0,-12],[-22,-72],[-2,-20],[0,-17],[11,-36],[23,-40],[30,-35],[45,-47],[60,-51],[22,-25],[33,-58],[7,-22],[-9,-61],[-24,-100],[-15,-56],[-7,-14],[-45,-40],[-26,-10],[-42,2],[-14,-8],[-22,-32],[-30,-57],[-24,-36],[-17,-15],[-32,-17],[-50,-53],[-24,-20],[-86,-21],[-69,-71],[-28,-23],[-30,-13],[-32,-1],[-19,11],[-10,43],[-7,14],[-24,30],[-50,86],[-22,29],[-14,6],[-30,-4],[-14,3],[-33,26],[-11,18],[1,7],[25,9],[-11,14],[-43,39],[-18,20],[-2,7],[-43,26],[-43,7],[-53,-43],[-21,-29],[1,-10],[26,-11],[11,5],[22,27],[11,9],[33,-5],[28,-18],[10,-16],[4,-11],[75,-86],[26,-17],[12,-21],[8,-34],[16,-38],[36,-63],[39,-77],[8,-30],[-20,-15],[-10,-1],[-30,11],[-78,36],[-9,-1],[-20,-18],[-17,-43],[-5,-4],[-42,16],[-78,38],[-52,32],[-27,26],[-32,42],[-37,58],[-45,18],[-52,-21],[-76,-7],[-158,6],[-21,-5],[-8,-7],[14,-32],[-4,-8],[-10,-6],[-3,-10],[18,-33],[27,-23],[79,-31],[52,-26],[32,-23],[10,-19],[1,-21],[-15,-42],[-8,-15],[-183,-209],[-70,-84],[-35,-52],[-32,-34],[-27,-17],[-45,-9],[-62,-2],[-81,8],[-42,27],[-76,72],[-54,42],[-23,14],[-20,40],[-18,8],[-39,6],[-39,22],[-92,72],[-48,29],[-44,15],[-39,3],[-15,-4],[27,-36],[-12,-3],[-31,9],[-32,0],[-55,26],[-55,-4],[-39,5],[-48,15],[-51,7],[-82,-1],[-29,-3],[-5,-7],[40,-31],[68,-39],[-9,33],[2,9],[23,11],[107,-20],[122,-43],[31,-4],[34,-15],[38,-26],[52,-52],[99,-120],[32,-30],[43,-28],[215,-40],[75,0],[149,-12],[79,-21],[22,-16],[7,-53],[-7,-26],[-43,-82],[-27,-59],[-168,-252],[-22,-58],[-9,-35],[-30,-36],[-76,-56],[-76,-47],[-46,-10],[-41,11],[-26,14],[-39,47],[-3,-5],[29,-74],[-7,-7],[-23,9],[-53,33],[-17,-6],[-10,-9],[-14,0],[-18,10],[-32,27],[-9,13],[-7,41],[-6,7],[-64,-23],[-10,-8],[26,-16],[9,-12],[25,-60],[2,-13],[-19,-8],[-61,23],[-7,-2],[30,-60],[12,-29],[1,-15],[-39,-67],[-25,-29],[-35,-10],[-21,7],[-24,17],[-18,-2],[-11,-22],[-20,-16],[-29,-10],[-37,4],[-45,18],[-120,64],[-37,10],[-70,8],[-9,10],[1,8],[10,8],[-3,7],[-15,6],[-15,-5],[-16,-17],[-28,-5],[-40,7],[-59,24],[-116,64],[-128,54],[-74,71],[28,-64],[-3,-21],[-14,-19],[-2,-18],[29,-45],[40,-17],[40,2],[1,8],[-16,11],[-15,16],[-7,25],[7,4],[36,-13],[23,-15],[177,-83],[53,-16],[40,-16],[11,-9],[-14,-21],[-71,-52],[-1,-8],[49,5],[59,45],[33,21],[32,13],[43,-22],[55,-58],[44,-33],[63,-18],[37,-20],[62,-54],[10,-28],[6,-115],[-2,-27],[-8,-28],[-14,-27],[-26,-15],[-38,-3],[-30,-11],[-65,-61],[-28,-9],[-117,18],[-45,17],[-21,-1],[-12,-13],[-12,-6],[-46,-6],[-8,-11],[3,-17],[9,-23],[11,-13],[18,-16],[26,-11],[53,-12],[6,-32],[-2,-10],[-18,-20],[-20,2],[-35,24],[-18,1],[-15,-13],[-21,-4],[-27,4],[-15,-11],[-3,-26],[-9,-19],[-31,-31],[-17,-22],[0,-18],[18,-13],[21,-29],[23,-46],[5,-20],[-15,6],[-19,18],[-24,30],[-36,28],[-80,36],[-15,-1],[8,-9],[53,-38],[20,-24],[3,-18],[-45,-39],[-1,-13],[12,-11],[3,-10],[-16,-19],[-26,-16],[-51,-2],[-4,-9],[19,-19],[6,-13],[-16,-16],[-11,-3],[-58,8],[15,-42],[9,-14],[18,-21],[32,-19],[1,-7],[-11,-17],[-19,-20],[-81,-61],[-56,-72],[-8,-22],[14,-47],[1,-12],[-15,-21],[-33,5],[-7,-8],[8,-22],[2,-33],[-5,-43],[-24,-67],[-43,-91],[-33,-83],[-23,-75],[-16,-37],[-31,-3],[-23,-23],[16,-12],[9,-15],[7,-22],[-7,-68],[-19,-115],[-13,-91],[3,-282],[-3,-124],[-9,-69],[-14,-38],[-24,-11],[30,-11],[20,-18],[9,-26],[8,-43],[12,-20],[13,4],[13,-5],[11,-12],[33,-61],[37,-17],[2,-34],[-15,-189],[0,-25],[17,48],[18,147],[23,65],[19,14],[77,7],[81,-16],[31,-2],[27,9],[28,-18],[6,-19],[8,-77],[8,-44],[48,-157],[23,-88],[29,-138],[10,-39],[59,-183],[11,-50],[5,-38],[-2,-27],[-11,-41],[-19,-56],[-18,-43],[-17,-29],[-18,-22],[-18,-14],[1,-4],[21,7],[20,15],[39,38],[15,8],[43,5],[1,-13],[-20,-28],[4,-3],[30,23],[64,32],[252,105],[59,10],[85,-20],[69,-44],[75,-58],[79,-42],[124,-39],[37,-18],[73,-20],[34,-22],[40,-53],[65,-68],[49,-44],[54,-40],[55,-75],[88,-169],[22,-20],[54,-28],[102,-36],[151,-83],[66,-33],[43,-13],[43,-23],[43,-33],[32,-37],[23,-39],[19,-25],[35,-28],[18,-21],[2,-30],[-42,-120],[-1,-10],[42,86],[24,25],[19,12],[39,-2],[59,-14],[53,0],[44,14],[39,6],[31,-1],[23,4],[14,10],[17,0],[68,-30],[27,-1],[99,-28],[63,10],[11,-6],[22,-36],[19,-3],[31,6],[31,-10],[51,-48],[23,-42],[23,-84],[2,-25],[-42,-196],[-13,-75],[-2,-66],[8,-38],[37,-64],[6,-16],[22,-95],[6,-40],[-3,-46],[-11,-76],[3,-59],[9,-87],[-3,-60],[-17,-31],[-11,-31],[-9,-55],[0,-21],[9,-41],[16,-24],[26,-26],[24,-39],[45,-95],[33,-52],[39,-78],[8,-38],[-11,-26],[-14,-18],[-32,-24],[-14,-17],[3,-4],[47,13],[27,-2],[23,-19],[19,-37],[32,-31],[43,-26],[44,-43],[74,-103],[13,-24],[19,-54],[26,-84],[13,-55],[1,-26],[-14,-26],[-49,-47],[-50,-83],[16,4],[32,35],[56,69],[30,13],[29,-8],[45,-20],[39,-28],[35,-37],[51,-98],[55,-78],[30,-67],[-9,43],[-20,49],[-51,78],[-22,40],[-5,20],[-2,21],[4,39],[10,56],[13,40],[16,23],[10,24],[6,26],[8,19],[44,35],[12,-3],[9,-42],[10,-9],[21,-7],[17,-14],[14,-23],[10,-22],[6,-23],[13,-76],[9,-35],[2,43],[11,66],[8,27],[27,40],[-2,18],[-11,23],[-56,99],[-1,25],[15,14],[11,27],[5,41],[12,29],[35,42],[30,63],[16,43],[12,23],[13,6],[-18,18],[-4,11],[-1,53],[-8,55],[-12,25],[-34,55],[-6,16],[-6,62],[4,31],[9,27],[-5,25],[-32,45],[-12,40],[-14,97],[-13,121],[-14,89],[-16,57],[-3,35],[9,15],[11,45],[10,11],[16,-3],[1,5],[-25,25],[-12,30],[1,11],[21,30],[-3,13],[-16,17],[-49,28],[18,10],[11,24],[-2,7],[-20,10],[-22,18],[-17,28],[-20,43],[-13,35],[-12,57],[-22,65],[-9,17],[-11,10],[-12,5],[0,10],[13,15],[210,109],[18,16],[103,61],[48,34],[48,49],[66,51],[32,32],[21,31],[105,126],[44,64],[26,55],[37,65],[49,77],[31,65],[13,55],[16,94],[4,84],[3,123],[-1,109],[-14,172],[-7,54],[-15,64],[-37,129],[-6,35],[-23,59],[-74,155],[-92,104],[-18,27],[-36,30],[-56,36],[-36,28],[-94,108],[-31,13],[-11,27],[-3,20],[4,51],[5,36],[7,26],[7,17],[52,79],[29,63],[20,35],[22,27],[41,35],[23,44],[-6,18],[-18,20],[-4,19],[31,49],[4,13],[-4,46],[6,11],[38,2],[54,-66],[13,6],[-17,18],[-21,45],[3,18],[40,48],[1,22],[-12,30],[-1,24],[23,58],[-6,12],[-65,11],[-11,16],[4,7],[31,20],[2,7],[-54,128],[-9,39],[23,47],[26,21],[-3,12],[-35,3],[-21,6],[-21,37],[8,23],[8,11],[20,54],[20,12],[-4,10],[-74,-24],[-35,19],[-35,-5],[-16,6],[6,20],[62,89],[29,48],[18,43],[10,29],[1,15],[-6,96],[3,26],[25,25],[37,46],[-51,41],[-32,41],[-21,20],[-16,19],[-21,42],[-15,54],[-17,109],[-3,60],[4,44],[7,21],[11,22],[47,42],[82,62],[64,25],[47,-14],[90,-14],[73,-36],[222,-88],[40,-40],[-37,-33],[5,-8],[84,63],[22,12],[19,3],[63,-24],[25,-4],[32,-20],[76,-68],[6,6],[-21,34],[12,17],[60,36],[62,29],[44,29],[47,38],[32,20],[16,3],[21,-11],[56,-51],[36,-26],[29,-27],[40,-48],[16,-11],[31,-32],[41,3],[13,-4],[4,-6],[7,-22],[4,-14],[0,-15],[-9,-43],[-30,-68],[13,-1],[18,15],[24,26],[19,9],[40,-21],[38,-33],[13,-18],[15,-29],[12,-14],[12,-29],[-1,-9],[-11,-14],[-46,-23],[9,-9],[53,15],[17,14],[11,24],[16,7],[63,-42],[9,-15],[-4,-12],[-10,-13],[-27,-14],[-24,-36],[-4,-15],[17,-11],[41,-5],[0,-9],[-24,-15],[-3,-21],[53,-74],[36,-32],[21,-6],[48,-1],[39,-13],[86,-41],[51,-8],[44,13],[29,3],[25,-17],[8,-12],[4,-23],[0,-35],[14,-25],[28,-14],[23,2],[31,28],[25,5],[9,20],[7,38],[8,21],[18,6],[15,-11],[9,-17],[16,-53],[4,-23],[-1,-22],[-8,-19],[-16,-20],[-23,-22],[-19,-32],[-22,-72],[-9,-48],[-2,-28],[1,-30],[4,-33],[9,-28],[21,-39],[1,-13],[2,-31],[-2,-14],[-12,-27],[-34,-28],[-46,-7],[-152,-1],[-41,6],[10,-25],[43,-8],[38,1],[145,-16],[20,-16],[17,-28],[12,-29],[12,-59],[2,-28],[-6,-31],[-15,-34],[-10,-45],[-5,-57],[8,-30],[78,-3],[15,-20],[-1,-16],[-28,-57],[-3,-16],[13,-39],[-2,-11],[-7,-12],[-8,-29],[-7,-47],[-9,-30],[-21,-24],[-11,-5],[-8,6],[-21,64],[-9,10],[-8,-6],[-4,-10],[0,-14],[-4,-14],[-7,-15],[-31,-24],[-50,-16],[1,-17],[34,-9],[43,-28],[25,-5],[38,23],[75,73],[31,19],[27,8],[30,1],[34,-6],[68,10],[17,-7],[20,-16],[25,-25],[17,-25],[9,-23],[15,-87],[21,-23],[4,-17],[2,-26],[-1,-51],[-23,-102],[-11,-38],[-31,-51],[-36,-23],[-64,-22],[-33,-19],[-25,-25],[-1,-14],[72,43],[79,22],[23,23],[17,24],[17,51],[32,133],[18,42],[25,7],[11,-14],[26,-78],[0,-20],[-7,-17],[-42,-76],[15,8],[43,71],[9,23],[5,32],[14,23],[5,-11],[13,-84],[0,-61],[3,-20],[-5,-58],[5,-10],[13,50],[4,38],[6,27],[7,16],[52,52],[61,41],[40,37],[33,18],[50,17],[31,34],[14,52],[12,36],[10,20],[33,35],[17,2],[17,-13],[20,-26],[21,-41],[13,-31],[4,-23],[4,-81],[4,0],[19,62],[3,22],[-2,23],[-6,23],[-20,50],[-7,32],[1,19],[22,11],[31,4],[5,9],[-23,20],[-1,12],[22,37],[13,2],[26,-6],[-5,19],[0,12],[7,5],[42,-12],[5,15],[36,1],[4,13],[-32,18],[-30,12],[-10,10],[-7,15],[-9,36],[2,9],[9,0],[14,-10],[9,19],[9,45],[9,18],[28,-21],[1,9],[-23,69],[4,14],[35,5],[21,-9],[55,-51],[11,6],[-9,14],[-28,30],[-26,20],[-23,9],[-17,17],[-19,46],[-3,19],[2,24],[13,51],[7,11],[14,9],[19,5],[21,-5],[44,-34],[7,11],[-23,18],[-13,17],[-6,22],[2,24],[19,51],[9,41],[39,112],[12,20],[12,13],[8,14],[31,3],[57,-40],[18,-24],[4,-34],[-30,-45],[-51,-34],[-16,-15],[10,-9],[49,27],[42,13],[34,0],[28,-54],[4,-75],[-16,-63],[21,31],[26,18],[22,-41],[2,-34],[12,-31],[24,-41],[25,-37],[-28,-38],[-33,-23],[7,-18],[46,-18],[6,-18],[-5,-25],[7,1],[32,38],[27,-6],[34,-82],[-25,-47],[-39,-21],[-30,-9],[-43,1],[-17,-7],[8,-16],[41,0],[63,12],[47,19],[20,2],[22,-8],[7,-7],[-23,-13],[-1,-5],[8,-14],[18,-44],[-2,-10],[-17,-26],[27,-6],[38,12],[11,-13],[23,-54],[15,-55],[-64,-75],[-32,-15],[-48,-40],[-13,-32],[-28,-41],[18,1],[49,65],[24,15],[18,-3],[7,-12],[-3,-18],[16,3],[66,38],[28,7],[36,3],[3,-13],[-22,-92],[-38,-71],[-70,-43],[-24,-25],[-31,-42],[12,-7],[66,54],[45,21],[64,17],[28,-2],[51,-108],[28,-10],[24,6],[44,-32],[16,-29],[-4,-22],[-15,-13],[-7,-20],[18,-60],[-11,-33],[-32,-30],[-23,-15],[-24,-4],[-24,-27],[-10,-3],[-33,6],[11,-16],[16,-8],[26,-5],[30,9],[30,-1],[46,-19],[20,-24],[0,-6],[-10,-14],[-15,-43],[-10,-16],[9,-12],[23,-18],[17,-6],[23,6],[25,-8],[82,-102],[-4,-53],[-12,-41],[5,-45],[0,-57],[-44,-15],[-148,26],[-84,40],[-5,13],[24,26],[-21,2],[-24,-10],[-11,-10],[29,-43],[77,-37],[35,-45],[38,-4],[11,-8],[21,-26],[-6,-10],[-39,-3],[-30,-30],[19,-18],[69,-16],[49,-4],[25,-17],[-20,-20],[-58,-23],[-2,-34],[43,-14],[38,8],[16,-3],[11,-83],[7,-17],[-41,-15],[-1,-16],[28,-13],[45,-11],[15,-14],[3,-25],[9,-13],[26,-3],[29,31],[17,26],[25,-10],[1,-32],[30,-37],[10,-6],[9,-52],[24,46],[17,-9],[20,-3],[-7,-44],[-11,-36],[15,-22],[12,-33],[33,-45],[-9,-21],[-38,-47],[-20,-73],[-5,-25],[-20,-42],[-26,-41],[16,4],[60,75],[36,26],[78,13],[19,21],[29,9],[18,-24],[1,-43],[24,-14],[24,14],[22,-12],[-13,-27],[-71,-112],[-21,-44],[-6,-32],[24,44],[90,99],[9,15],[20,43],[18,28],[48,-10],[25,-20],[11,-56],[19,-61],[30,-67],[78,-33],[28,-5],[49,22],[7,32],[38,10],[27,-4],[9,-61],[29,-32],[28,-27],[27,-14],[40,-6],[22,-29],[0,-12],[-22,-31],[-22,-46],[-38,-32],[-53,-1],[-72,-20],[-3,-18],[-16,-20],[-39,-20],[-21,-15],[-35,-74],[-20,-32],[-24,-6],[-34,3],[-22,-6],[-16,-14],[-10,-20],[-7,-8],[-45,-20],[-82,-56],[-44,-2],[-26,7],[-21,-5],[-14,-16],[-39,-27],[-12,-17],[-7,-19],[-5,-40],[-5,-14],[-7,-8],[-33,8],[-37,26],[7,-28],[58,-45],[17,-26],[-16,-22],[-37,-35],[-4,-18],[15,-10],[-6,-16],[-20,-16],[2,-7],[2,-7],[51,24],[45,51],[29,52],[14,14],[58,20],[34,22],[49,41],[54,59],[58,78],[74,61],[91,44],[66,22],[42,1],[2,7],[-37,14],[-32,3],[-39,-10],[-12,24],[2,10],[12,17],[33,16],[161,-22],[55,-17],[60,-141],[14,-45],[4,-33],[-6,-21],[-24,-25],[-69,-48],[-9,-13],[-1,-7],[30,-10],[9,-13],[15,-55],[31,36],[58,85],[48,40],[40,10],[47,6],[17,-1],[6,-28],[25,-55],[23,-15],[45,-7],[40,-69],[15,-48],[14,-28],[-1,-18],[2,-16],[11,-24],[5,-20],[-3,-46],[-23,-79],[17,-72],[-7,-33],[-4,-52],[14,-35],[5,-20],[-13,-12],[-88,-28],[-35,-1],[-9,-17],[27,-5],[48,1],[59,-18],[27,-20],[11,-27],[-3,-22],[-17,-16],[-33,3],[-32,15],[2,-14],[47,-36],[14,-18],[26,-23],[5,-30],[-6,-31],[-90,-124],[-73,-78],[-74,-69],[-119,-132],[-12,-7],[-21,-2],[-57,21],[-45,-5],[-85,-26],[-24,-16],[-47,-46],[-18,-6],[-51,-9],[-47,6],[-19,-6],[-23,-23],[-6,-12],[-7,-39],[-115,-173],[-31,-59],[-59,-62],[-65,-108],[-57,-44],[-19,-60],[-54,-37],[-100,-9],[-47,-11],[-55,17],[-42,-26],[-62,-8],[-30,6],[-121,-58],[-31,55],[-23,21],[-68,4],[-55,23],[-50,4],[-48,10],[-32,0],[-33,-6],[-52,1],[-29,-30],[-96,9],[-41,28],[-34,5],[-44,-6],[-43,-20],[-94,23],[-100,-20],[-87,14],[-24,13],[-138,-36],[-53,21],[-48,-56],[-32,12],[-35,-8],[-12,10],[-23,-7],[-15,-30],[-20,-4],[-33,-53],[-56,-42],[-82,-233],[-7,-89],[-31,-61],[-27,-8],[-22,-1],[-141,-45],[-63,-35],[18,-29],[-21,-20],[-33,-9],[-36,-26],[-24,-29],[-11,-40],[-72,-66],[-84,-151],[-40,-111],[-49,-80],[-34,-31],[-25,-4],[-25,9],[-41,38],[-30,4],[-76,53],[-177,52],[27,-19],[23,-33],[47,-8],[47,0],[99,-65],[48,-23],[30,-20],[25,-44],[-18,-86],[-19,-71],[-24,-55],[-85,-140],[-41,-47],[-72,-168],[-74,-79],[-40,-49],[-42,-76],[-99,-58],[-37,-14],[-34,7],[-41,-47],[-49,-28],[-15,-44],[-117,-117],[-45,-15],[-39,-31],[-11,-53],[-34,-32],[-10,-25],[-29,-74],[-53,-96],[-66,-16],[-24,-33],[-27,-54],[-39,-37],[-77,18],[18,-23],[69,-35],[7,-52],[-34,-13],[-72,-70],[-98,-120]],[[27555,81713],[-58,16],[-24,11],[-71,43],[-135,63],[-46,31],[-10,23],[25,49],[13,20],[15,12],[143,22],[55,-10],[65,-100],[38,-68],[15,-54],[0,-26],[-6,-24],[-19,-8]],[[29414,90628],[-74,5],[-29,9],[-26,14],[-29,45],[-19,47],[-1,20],[5,18],[7,11],[91,16],[74,-20],[64,-23],[83,-4],[25,-8],[9,-7],[7,-12],[9,-54],[1,-29],[-2,-21],[-60,-6],[-135,-1]],[[28349,87863],[-23,14],[-64,60],[-59,70],[-19,39],[8,16],[25,11],[51,12],[83,-6],[16,-5],[24,-26],[24,2],[14,-20],[32,-65],[3,-11],[-1,-21],[-17,-26],[-18,-15],[-37,-20],[-42,-9]],[[26750,87297],[-4,8],[-4,50],[-9,27],[-40,59],[-2,14],[0,17],[3,13],[45,55],[101,199],[24,10],[49,-23],[24,-7],[17,1],[72,42],[68,-5],[63,25],[29,0],[23,-4],[13,-10],[11,-17],[3,-25],[-4,-33],[-7,-31],[-10,-27],[-25,-46],[-76,-79],[-28,-43],[-22,-26],[-124,-114],[-16,-6],[-16,2],[-34,18],[-34,3],[-90,-47]],[[27829,86962],[-23,21],[-30,43],[-24,27],[-31,18],[-17,24],[-3,24],[-1,77],[1,39],[4,32],[7,26],[16,36],[44,77],[26,29],[16,7],[43,-5],[18,1],[14,9],[15,-1],[22,-16],[36,-53],[14,-28],[4,-36],[-10,-49],[-5,-46],[-13,-35],[-25,-43],[-22,-51],[-20,-59],[-15,-38],[-13,-19],[-14,-10],[-14,-1]],[[20913,96163],[-84,24],[-56,10],[-45,43],[-49,58],[-39,64],[-14,38],[-28,23],[-10,37],[-51,59],[8,8],[48,9],[77,-11],[36,-21],[47,-34],[60,-56],[18,-25],[4,-33],[11,-19],[51,-3],[63,-45],[12,-17],[13,-35],[-1,-17],[-10,-35],[-18,-12],[-43,-10]],[[23934,96357],[-159,13],[-438,6],[-19,11],[-58,54],[-4,22],[11,25],[12,16],[14,8],[128,41],[55,5],[70,-22],[76,12],[81,1],[182,-10],[120,7],[31,-4],[47,-15],[25,-17],[23,-30],[-59,-18],[-50,-92],[-7,-4],[-54,-2],[-27,-7]],[[22515,97703],[-76,22],[-23,14],[-1,11],[-8,21],[-50,29],[-95,-5],[-40,3],[-16,8],[-10,12],[-9,49],[2,17],[11,30],[7,8],[70,27],[20,3],[85,-11],[75,-1],[38,-8],[34,-17],[20,-26],[9,-34],[6,-77],[-6,-39],[-14,-28],[-12,-7],[-17,-1]],[[24973,96214],[-37,1],[-212,69],[-43,35],[-8,23],[-2,32],[0,45],[9,30],[12,11],[25,11],[49,6],[46,-4],[70,-12],[70,-20],[92,-61],[34,-29],[7,-38],[0,-23],[-5,-17],[-10,-11],[-24,-14],[-73,-34]],[[23740,94689],[-45,3],[-30,11],[-43,23],[-91,56],[-45,2],[-116,20],[-63,60],[-24,11],[-25,-18],[-7,4],[-6,12],[-7,21],[-12,10],[-48,-5],[-9,6],[-2,18],[0,16],[9,24],[51,66],[25,5],[31,12],[17,37],[-2,34],[48,50],[28,15],[51,35],[172,56],[48,5],[63,-5],[62,-17],[47,-29],[97,-72],[44,-44],[23,-45],[21,-25],[26,-56],[-9,-21],[-6,-29],[3,-14],[18,-45],[3,-18],[1,-39],[-8,-50],[-5,-9],[-7,-4],[-4,-13],[0,-22],[-7,-13],[-15,-5],[-99,-10],[-62,2],[-91,-6]],[[19023,96844],[-68,5],[-103,49],[-118,-14],[-123,-29],[-48,-5],[-14,8],[-19,22],[3,11],[36,33],[82,34],[60,20],[118,28],[141,16],[52,17],[33,24],[92,38],[53,16],[73,14],[58,-1],[74,-31],[56,-15],[34,-17],[49,-35],[17,1],[21,-6],[10,-9],[29,-44],[6,-22],[2,-28],[-5,-24],[-10,-19],[-27,-12],[-62,-7],[-87,11],[-75,-15],[-35,-2],[-93,10],[-24,7],[-52,26],[-40,11],[-16,-5],[-20,-24],[-37,-29],[-23,-8]],[[17052,95210],[-57,4],[-75,28],[-61,9],[-21,9],[-3,10],[20,27],[26,21],[62,42],[105,81],[69,31],[67,21],[69,49],[38,21],[33,2],[33,-9],[4,-14],[-35,-65],[-25,-27],[-49,-69],[-93,-115],[-28,-18],[-79,-38]],[[20739,93669],[-26,14],[-39,30],[-63,62],[-75,61],[-12,36],[-19,28],[-96,64],[-62,27],[-48,13],[-7,18],[33,52],[37,42],[23,15],[70,14],[236,28],[54,1],[56,-14],[78,-57],[32,-7],[20,-13],[17,-21],[9,-22],[0,-45],[-8,-66],[-11,-25],[-47,-85],[-49,-47],[-10,-30],[-20,-24],[-35,-30],[-24,-16],[-14,-3]],[[22593,92713],[-33,7],[-32,23],[-24,10],[-51,-1],[-15,12],[-15,22],[-35,79],[-50,55],[-42,63],[-108,92],[-56,54],[-75,88],[-31,20],[-26,8],[-51,6],[-12,11],[-19,30],[-32,23],[-11,3],[-19,-6],[-50,-20],[-63,21],[-14,16],[-8,26],[-8,14],[-21,13],[-18,33],[-119,64],[-71,74],[-14,27],[-2,11],[7,35],[17,41],[21,39],[14,17],[46,34],[37,8],[51,-4],[27,-8],[24,-23],[11,-27],[12,-18],[38,-19],[20,-16],[30,-37],[24,-44],[21,-15],[52,-4],[53,7],[114,28],[5,3],[7,17],[13,101],[8,0],[39,-47],[11,-5],[16,10],[10,23],[-1,11],[-24,54],[-15,24],[-13,15],[-14,4],[-31,-4],[-24,10],[-5,15],[4,21],[13,21],[14,12],[27,6],[32,-6],[44,-26],[28,-5],[40,7],[-51,15],[-70,60],[-30,11],[-36,-26],[-25,-9],[-47,-13],[-37,-2],[-156,93],[-9,9],[-11,24],[1,11],[16,17],[38,22],[58,14],[39,3],[34,-17],[49,-46],[43,-26],[4,9],[-8,26],[-20,39],[-14,11],[-34,11],[-33,27],[-15,20],[-8,21],[-1,23],[7,15],[13,9],[120,22],[83,-25],[53,-4],[22,31],[-7,6],[-28,-8],[-32,0],[-19,17],[-1,10],[25,24],[37,10],[235,-127],[33,10],[71,7],[73,19],[102,15],[63,28],[26,8],[45,5],[25,0],[70,-15],[29,-11],[15,-11],[16,-20],[28,-50],[4,-19],[-1,-5],[-26,-30],[-17,-14],[-36,-12],[-30,-4],[-27,-23],[-29,6],[-9,-20],[4,-12],[8,-7],[15,2],[17,9],[33,-5],[18,-13],[15,-22],[-11,-20],[-59,-29],[-87,-32],[-105,-100],[-56,-42],[-11,-13],[-6,-13],[2,-25],[2,-11],[16,-4],[51,35],[34,17],[33,8],[60,1],[25,-5],[44,-21],[41,-32],[9,-12],[-4,-12],[-17,-12],[-2,-8],[39,-16],[43,-44],[3,-27],[-19,-27],[-5,-17],[9,-9],[21,5],[51,30],[55,15],[22,-1],[14,-7],[14,-41],[12,-46],[2,-38],[-9,-32],[-13,-24],[-33,-30],[-30,-12],[-16,0],[2,-5],[35,-25],[15,-21],[6,-19],[-2,-19],[-5,-16],[-41,-59],[2,-8],[12,-4],[26,-34],[3,-80],[-93,-24],[-22,-19],[-25,-29],[-29,-23],[-67,-23],[-33,-2],[-167,19],[-17,11],[-11,20],[-7,29],[-1,23],[2,17],[0,10],[-5,2],[-19,-16],[-19,-30],[11,-34],[52,-93],[10,-40],[2,-18],[-3,-12],[-59,-55],[-34,-18],[-36,-10]],[[26280,87866],[-29,11],[-20,78],[-41,230],[-7,15],[-8,10],[-10,4],[-138,-30],[-76,3],[-75,-51],[-19,-4],[-39,2],[-27,8],[-7,6],[-5,22],[2,23],[9,25],[34,69],[28,42],[13,13],[129,76],[31,25],[16,25],[0,27],[-6,33],[-23,82],[-5,75],[0,38],[8,57],[33,138],[11,68],[20,241],[11,69],[16,63],[15,38],[42,76],[31,30],[41,21],[8,-2],[8,-9],[15,-32],[56,-30],[18,-29],[12,-32],[7,-41],[-7,-18],[-26,-28],[-5,-11],[1,-10],[51,-43],[38,-104],[10,-8],[11,4],[20,30],[44,84],[13,8],[18,-2],[65,-54],[24,-30],[13,-42],[14,-16],[51,-22],[49,-7],[65,-22],[23,-17],[51,-80],[6,-5],[59,-33],[89,-73],[23,-11],[87,-24],[32,-18],[30,-28],[34,-50],[39,-79],[31,-127],[2,-25],[-3,-14],[-12,-16],[-50,-52],[4,-9],[48,3],[105,32],[65,-23],[22,-3],[5,1],[24,40],[25,-6],[38,-39],[24,-31],[10,-24],[-2,-13],[-25,-5],[60,-23],[53,-36],[-11,-23],[-57,-53],[-57,-46],[-67,-68],[-17,-11],[-9,-1],[-37,13],[-54,33],[-164,75],[-51,15],[-64,10],[-9,17],[-16,113],[-29,20],[-99,24],[-29,13],[-2,23],[7,39],[-14,19],[-33,-1],[-33,-8],[-53,-27],[-25,-24],[-9,-27],[-6,-56],[-7,-27],[-18,-35],[-82,-91],[-33,-27],[-33,-8],[-13,-9],[-22,-34],[-33,-82],[-14,-24],[-21,-24],[-46,-37],[-46,-29],[-77,-35],[-42,-11]],[[28696,90304],[-46,3],[-24,6],[-17,10],[-19,31],[-23,53],[-18,59],[-23,105],[0,12],[21,85],[29,58],[50,85],[57,83],[14,14],[26,14],[64,24],[54,-6],[23,3],[29,11],[33,3],[53,-9],[145,-52],[14,-19],[7,-17],[4,-19],[0,-39],[-3,-16],[-14,-38],[-1,-11],[11,-127],[-1,-69],[-10,-58],[-21,-46],[-31,-35],[-24,-20],[-105,-49],[-75,-13],[-79,-2],[-100,-14]],[[27916,93575],[-89,41],[-32,23],[-11,17],[-21,50],[-17,60],[-9,49],[-10,37],[-31,13],[-90,15],[-30,20],[-14,17],[-13,28],[0,28],[7,26],[6,6],[11,1],[-25,30],[-9,34],[-1,47],[4,30],[7,13],[17,8],[39,6],[58,-1],[81,-35],[64,-3],[98,-28],[47,-8],[300,15],[63,-11],[189,-66],[48,-22],[25,-29],[21,-46],[10,-10],[69,-27],[28,-33],[10,-17],[14,-39],[31,-22],[36,-13],[11,-12],[-5,-49],[15,-23],[33,-28],[13,-18],[-26,-23],[-61,-13],[-170,14],[-228,31],[-133,-9],[-67,-14],[-161,-51],[-51,-8],[-51,-1]],[[22326,94895],[-89,11],[-80,3],[-16,12],[-18,23],[-35,72],[6,18],[86,10],[2,6],[-61,26],[-70,19],[-32,15],[7,28],[-2,7],[120,32],[88,64],[54,26],[4,12],[46,14],[106,7],[4,18],[-200,-10],[-274,-36],[-85,-18],[-71,10],[-300,-55],[-13,0],[-31,17],[-27,34],[19,23],[88,44],[44,38],[-5,21],[35,37],[56,5],[96,-30],[49,-31],[45,-14],[39,3],[41,21],[-11,3],[-69,-11],[-8,3],[-35,33],[-15,22],[-10,21],[-1,15],[21,29],[-79,9],[-29,20],[-14,25],[3,11],[25,29],[67,39],[-8,11],[-97,0],[-22,5],[-42,24],[9,28],[39,40],[30,24],[19,7],[31,0],[73,-16],[21,-8],[56,-39],[14,-22],[-2,-21],[11,-16],[43,-23],[186,-118],[35,-28],[23,-12],[43,-9],[26,2],[20,8],[3,11],[-80,41],[-20,22],[-17,30],[7,10],[24,3],[58,-4],[69,8],[-76,13],[-50,17],[-52,1],[-64,26],[0,9],[16,8],[87,12],[17,5],[1,8],[-29,18],[-26,10],[-132,21],[-47,25],[-15,11],[-4,11],[17,29],[71,36],[51,17],[89,13],[71,-2],[40,-5],[94,-60],[45,-41],[77,8],[-22,42],[-15,46],[23,17],[64,30],[51,-16],[66,-41],[15,-13],[75,-26],[44,-8],[23,-13],[7,-18],[3,-26],[-4,-21],[-9,-14],[-1,-17],[9,-18],[37,-47],[12,-26],[2,-25],[-2,-17],[-23,-34],[-10,-44],[-1,-23],[14,-36],[0,-17],[-26,-28],[-54,-25],[8,-13],[117,-32],[9,-7],[0,-72],[20,-78],[-8,-2],[-28,25],[-52,29],[-63,-54],[7,-93],[42,-41],[12,-23],[-4,-14],[-35,-7],[-12,3],[-35,19],[-21,28],[-7,-1],[-6,-13],[4,-14],[24,-25],[11,-30],[-11,-9],[-36,-7],[-48,-1],[-76,-13],[-38,-2],[-36,7],[-49,2],[-41,-3],[-24,6],[-23,14],[-26,-4],[-57,-35]],[[22234,96559],[-88,23],[-87,35],[-26,23],[-22,28],[-5,11],[-9,45],[-4,10],[-37,25],[-32,37],[-63,4],[-147,38],[-63,9],[-64,-3],[-89,-15],[-17,4],[-15,12],[-14,18],[-3,14],[14,24],[-262,-30],[-75,-35],[-105,5],[-53,15],[-69,34],[-32,29],[-30,40],[-3,30],[24,20],[25,12],[26,4],[142,-24],[125,-12],[54,12],[25,32],[-30,18],[-120,7],[26,17],[101,17],[53,26],[-10,9],[-30,10],[-137,-3],[-48,10],[-3,9],[11,11],[77,52],[-3,10],[-33,17],[-29,22],[-11,3],[-68,-20],[-95,-77],[-22,-11],[-22,0],[-21,13],[1,16],[21,20],[44,60],[-4,21],[-42,14],[-114,-10],[-63,-1],[-9,17],[-3,32],[3,29],[15,47],[22,35],[13,13],[151,-8],[245,22],[71,3],[78,-22],[65,-12],[77,-38],[73,-81],[4,-10],[0,-13],[-3,-17],[-9,-21],[-13,-13],[37,-16],[4,-7],[-3,-18],[4,-12],[23,12],[19,19],[5,13],[4,33],[57,17],[60,24],[28,5],[47,-5],[112,-58],[43,-5],[16,-7],[14,-13],[1,-15],[-23,-33],[-9,-20],[6,-13],[58,-12],[134,23],[117,-55],[65,-64],[47,-22],[8,-12],[-14,-11],[-13,-30],[-39,-23],[-8,-10],[21,-27],[1,-16],[-2,-24],[7,-13],[53,-14],[119,-96],[22,-27],[14,-33],[1,-11],[-17,-19],[-19,-52],[-10,-12],[-49,-10],[-88,-10],[-83,-18]],[[24829,96770],[-84,5],[-137,18],[-136,29],[-125,45],[-91,45],[-36,24],[-11,18],[34,16],[119,20],[119,13],[-19,11],[-217,26],[-71,5],[-38,-7],[-44,4],[-34,20],[-45,39],[-23,25],[3,10],[17,6],[99,-5],[13,4],[-49,19],[-157,38],[-59,34],[-11,13],[-4,13],[1,13],[59,25],[183,61],[62,9],[63,1],[44,17],[38,57],[189,21],[146,26],[12,7],[-109,-5],[-155,5],[-65,39],[-45,7],[-49,0],[-57,-13],[-98,-36],[-47,-8],[-107,-38],[-29,3],[-15,4],[-5,8],[19,25],[28,17],[-5,5],[-42,4],[-48,-1],[-34,-6],[-122,-32],[-55,-25],[-17,-2],[-59,38],[-95,21],[-21,17],[20,64],[27,14],[73,11],[217,58],[13,12],[20,29],[-50,-6],[-109,-29],[-90,-14],[-71,0],[-51,4],[-33,8],[-40,18],[-128,85],[-36,41],[-4,36],[-9,28],[-38,66],[276,-41],[107,-8],[208,-3],[10,4],[3,11],[-4,17],[2,14],[7,9],[77,24],[12,8],[-91,4],[-168,-40],[-59,0],[-67,57],[-71,-10],[-34,5],[-53,14],[-26,13],[-16,15],[-7,13],[2,11],[14,11],[62,17],[28,1],[73,-10],[55,1],[-18,17],[-79,44],[-70,49],[5,82],[57,17],[60,3],[58,-20],[77,-3],[56,-24],[37,-44],[44,1],[69,-9],[155,1],[-28,16],[-49,14],[-109,18],[-53,66],[-114,33],[-88,18],[1,15],[67,81],[80,29],[128,-11],[85,16],[108,29],[106,-14],[28,1],[16,9],[14,17],[0,16],[-14,14],[-34,18],[-135,2],[-60,7],[-23,10],[-7,14],[-4,15],[0,15],[4,9],[11,5],[33,6],[126,1],[76,8],[83,-11],[173,-40],[55,-21],[60,-34],[31,-31],[36,-50],[134,-118],[61,-43],[103,-53],[13,-19],[1,-8],[-3,-29],[30,-10],[88,-17],[99,-29],[18,1],[34,18],[42,5],[54,-5],[26,-12],[19,-18],[8,-14],[1,-10],[-19,-19],[2,-8],[12,-9],[2,-11],[-20,-42],[5,-16],[50,-38],[45,-19],[89,-21],[58,2],[36,-14],[1,9],[-17,24],[-34,35],[-65,18],[-9,20],[-5,35],[6,23],[33,18],[27,6],[84,1],[45,-8],[80,-26],[8,-14],[4,-28],[3,-56],[-2,-12],[-67,-31],[-15,-22],[17,-6],[58,-4],[90,-20],[35,-2],[35,-45],[27,-43],[-20,-53],[-26,-84],[-21,-20],[-21,-29],[15,-6],[88,12],[18,4],[59,29],[86,-7],[29,-7],[15,-10],[26,-32],[22,-43],[16,4],[40,52],[15,12],[20,13],[9,-3],[40,-48],[91,-85],[31,-35],[6,-25],[-39,-31],[-30,-15],[-223,-64],[-99,-36],[-50,-28],[-25,-10],[-54,5],[-12,-5],[-16,-45],[-18,-19],[-46,-31],[-65,-57],[-38,-25],[-68,18],[-17,27],[-10,59],[-1,25],[2,13],[9,21],[29,51],[-3,5],[-14,-4],[-45,-26],[-18,-13],[-16,-23],[-8,-40],[7,-72],[-6,-29],[-18,-14],[7,-12],[53,-15],[9,-7],[6,-12],[3,-18],[-3,-16],[-16,-26],[-30,-10],[-38,12],[-82,62],[-36,-3],[-9,-7],[8,-23],[25,-50],[5,-41],[-12,-35],[-23,-54],[-16,-29],[-9,-4],[-41,-1],[-35,15],[-104,95],[-51,41],[-76,79],[-19,16],[-12,4],[-10,-34],[20,-32],[68,-74],[41,-54],[29,-45],[4,-19],[-9,-7],[-15,4],[-20,16],[-62,26],[-26,15],[-16,17],[-31,13],[-45,9],[-45,2],[-45,-6],[-8,-8],[50,-23],[18,-13],[13,-17],[9,-20],[-17,-13],[-63,-8]],[[25668,94590],[-114,12],[-116,3],[-22,9],[-15,19],[-1,16],[6,23],[17,35],[28,46],[10,24],[-26,11],[-15,15],[-13,2],[-41,-18],[-27,-51],[-20,-15],[-9,12],[-7,31],[-9,16],[-11,-1],[-11,-9],[-11,-15],[-15,-6],[-22,4],[-7,-8],[6,-20],[2,-18],[-2,-17],[-18,-17],[-52,-25],[-31,-8],[-79,-3],[-48,7],[-96,29],[-53,2],[-64,49],[-51,11],[3,18],[22,33],[-1,10],[-69,-48],[-10,-15],[9,-36],[-10,-3],[-47,13],[-47,-10],[-12,3],[-32,26],[-57,26],[-25,30],[-39,92],[-20,61],[2,12],[29,17],[-4,13],[-36,35],[-39,28],[-12,20],[-5,20],[-5,29],[-1,22],[5,14],[22,43],[62,78],[8,14],[3,14],[-8,41],[-12,41],[-12,30],[-34,40],[-46,43],[-66,75],[-48,59],[-58,83],[-28,8],[-32,-4],[-70,-29],[-24,-13],[-5,-9],[-52,-3],[-148,8],[-56,9],[-42,-3],[-72,-21],[-77,4],[-48,59],[-110,31],[-33,18],[-22,24],[7,16],[63,14],[26,15],[12,13],[-62,-11],[-27,2],[-186,79],[-57,14],[-10,7],[-4,9],[0,12],[5,17],[55,-22],[25,-1],[39,6],[14,14],[-9,8],[-64,26],[-30,20],[-12,15],[12,20],[3,14],[21,8],[37,2],[48,10],[88,27],[59,9],[59,-1],[142,-28],[142,-35],[89,-27],[52,-5],[44,8],[38,-2],[56,-24],[53,-36],[40,-17],[13,-8],[5,-9],[6,-28],[0,-13],[-3,-10],[-18,-25],[-15,-31],[-30,-28],[-16,-21],[-14,-26],[31,16],[119,86],[77,-10],[117,8],[141,35],[67,6],[67,-3],[50,-11],[108,-48],[37,-23],[14,-16],[3,-12],[-22,-18],[-67,11],[-111,10],[-20,6],[-18,0],[-12,-7],[8,-25],[22,-6],[133,-5],[436,-81],[19,-25],[-5,-12],[-16,-12],[-31,-17],[-252,-19],[-143,17],[-120,26],[-41,-6],[35,-36],[72,-10],[61,-22],[25,-17],[128,-14],[21,-13],[40,-36],[33,-2],[33,-25],[27,-42],[13,-6],[39,8],[64,-37],[21,-19],[0,-15],[-15,-23],[-29,-31],[-73,-37],[-6,-11],[86,4],[16,-5],[101,-65],[13,-1],[8,7],[10,23],[-4,21],[-13,30],[4,21],[19,14],[19,6],[19,0],[21,-8],[102,-78],[131,37],[24,-17],[20,-31],[9,-5],[49,63],[30,15],[123,-75],[75,-16],[30,-16],[55,-18],[79,-7],[13,28],[-45,36],[26,15],[109,31],[58,-5],[107,43],[66,6],[40,-1],[133,65],[31,10],[23,23],[52,-3],[141,-37],[40,3],[150,37],[56,9],[55,-1],[141,-22],[105,-23],[33,-12],[-12,-30],[6,-9],[13,-7],[35,-9],[131,0],[57,-8],[46,-28],[10,-12],[-1,-12],[-45,-30],[7,-7],[45,-7],[100,-3],[22,-7],[21,-39],[21,-53],[0,-21],[-35,-36],[-95,-47],[-106,-40],[-7,-11],[34,-18],[35,-9],[27,2],[85,18],[19,0],[38,-19],[18,-18],[17,-25],[-30,-22],[-121,-27],[-72,36],[-24,8],[-16,-3],[9,-16],[35,-29],[11,-19],[-12,-9],[-6,-18],[1,-27],[-3,-28],[-11,-43],[-5,-2],[-263,-8],[-32,-8],[-74,-31],[-56,-15],[-36,-2],[-36,5],[-96,32],[-64,-6],[-25,3],[-55,21],[-13,10],[-22,28],[-16,37],[1,24],[7,33],[-4,17],[-16,0],[-17,7],[-52,33],[-32,10],[-6,-6],[10,-26],[6,-8],[34,-19],[6,-22],[-14,-56],[-5,-9],[-34,-41],[-25,-12],[-68,-1],[-105,-29],[-50,-4],[-67,7],[-42,13],[-27,15],[-27,22],[-13,1],[-7,-47],[-13,-6],[-23,1],[-35,15],[-28,34],[-9,-1],[-4,-19],[-7,-13],[-8,-6],[-74,-22],[-41,0],[-43,25],[-28,-3],[-36,-13],[-87,25],[-21,1],[18,-40],[-29,-7],[-62,1],[-103,13],[-64,-19]],[[23058,96567],[-14,12],[-6,19],[3,13],[9,16],[-21,15],[-92,29],[-54,40],[-8,13],[-2,11],[119,8],[52,8],[23,13],[4,8],[-23,3],[-82,27],[-138,16],[-7,19],[-57,38],[-6,35],[-12,10],[-39,16],[-6,5],[-12,23],[-1,13],[2,11],[71,24],[-10,17],[-54,63],[-14,35],[2,13],[34,18],[47,1],[124,-6],[59,-8],[59,-15],[65,-22],[97,-19],[31,-13],[58,-42],[7,-13],[-4,-13],[14,-12],[66,-15],[113,7],[41,-12],[106,-40],[32,-23],[8,-18],[0,-9],[-35,-19],[-71,-30],[-17,-22],[63,-28],[32,-25],[15,-17],[0,-19],[-42,-49],[-31,-14],[-48,1],[-23,-4],[-60,-23],[-95,-22],[-129,-9],[-35,-14],[-65,-22],[-43,-3]],[[18840,96293],[-55,12],[-75,47],[-78,19],[-34,21],[-33,11],[-9,17],[-3,13],[6,11],[14,11],[4,9],[-13,26],[-6,25],[-22,35],[-4,21],[0,13],[4,15],[15,25],[8,6],[46,4],[60,13],[139,39],[305,48],[93,-5],[40,10],[75,4],[223,-14],[9,-3],[1,-11],[-17,-34],[-25,-25],[-119,-31],[-153,-28],[-32,-14],[2,-8],[13,-10],[25,-13],[119,3],[29,-6],[10,-8],[6,-12],[4,-16],[0,-54],[-6,-31],[-17,-28],[-48,-20],[-86,-27],[-59,-12],[-46,5],[-46,-3],[-202,-50],[-62,0]],[[16553,95393],[-14,27],[-15,52],[-14,30],[-20,15],[-26,59],[-12,19],[-11,8],[-10,2],[-15,-11],[-33,-85],[-54,-22],[-29,-4],[-30,2],[-74,24],[-60,8],[-41,-10],[-68,-34],[-27,-9],[-37,4],[-16,13],[-14,21],[-1,13],[10,5],[17,24],[0,10],[-17,15],[0,11],[6,7],[-2,6],[-8,3],[-17,-3],[-61,-17],[7,18],[29,38],[71,74],[26,22],[16,6],[209,24],[15,7],[99,100],[28,23],[29,18],[143,61],[13,13],[22,42],[13,11],[31,15],[102,85],[94,61],[47,38],[65,38],[75,16],[227,29],[163,-38],[38,-2],[19,10],[17,18],[25,-7],[60,-6],[14,4],[25,20],[-17,11],[-73,20],[-5,10],[2,10],[26,23],[31,14],[90,12],[41,-3],[43,-16],[55,-33],[127,-58],[21,-23],[2,-9],[-10,-10],[-33,-15],[-164,-52],[-32,-25],[12,-21],[59,-42],[60,-36],[13,-18],[-28,-18],[-55,6],[-20,-2],[-20,-8],[6,-16],[60,-54],[20,-28],[0,-15],[-11,-14],[-26,-20],[-40,-25],[-68,-20],[-148,-27],[-5,-21],[1,-16],[-3,-39],[-6,-18],[-17,-31],[-13,-14],[-22,-10],[-32,-5],[-40,0],[-67,26],[-30,17],[-42,36],[-8,24],[5,30],[11,46],[18,47],[25,48],[8,29],[-10,12],[-18,1],[-54,-20],[-35,-7],[-27,-14],[-20,-21],[-11,-23],[-6,-44],[-10,-24],[-29,-13],[-44,0],[-17,-7],[-8,-16],[6,-14],[43,-27],[6,-31],[-6,-18],[-46,-34],[-11,-12],[-29,-53],[-11,-13],[-24,-13],[-24,2],[-23,19],[-33,37],[-22,32],[-12,26],[-9,12],[-16,-8],[-19,-27],[0,-22],[4,-32],[-1,-19],[-28,-24],[4,-10],[49,-28],[6,-13],[0,-20],[-3,-9],[-20,2],[-16,-23],[-19,-18],[-49,-34],[-69,-4],[-57,-16],[-12,0]],[[18606,94550],[-138,17],[-44,13],[-46,21],[-93,51],[-26,18],[-31,39],[18,26],[50,31],[75,27],[150,37],[135,60],[49,11],[130,9],[66,-6],[48,4],[31,8],[47,21],[68,43],[50,40],[12,19],[-16,17],[-25,3],[-81,-42],[-41,-13],[-44,-1],[-61,-14],[-60,-6],[-11,0],[-62,40],[-33,7],[-16,-4],[-14,-11],[-26,-29],[-16,-10],[-27,-8],[-107,-8],[-104,-15],[-23,9],[-14,17],[-3,10],[-1,34],[-7,14],[9,29],[12,22],[14,15],[71,44],[10,12],[-34,-3],[-80,-21],[-11,7],[-18,25],[-9,3],[-11,-11],[-6,-14],[-13,-60],[-13,-31],[-32,6],[-40,19],[-15,2],[-9,-6],[3,-10],[41,-51],[0,-18],[-26,-32],[-114,-52],[-44,-14],[-16,6],[-14,14],[-13,23],[-29,31],[-18,7],[-19,1],[-18,-6],[-17,-14],[-10,-15],[-10,-27],[-20,-21],[-13,-4],[-115,44],[-93,77],[-101,-12],[-46,3],[-138,28],[-17,17],[-10,23],[1,13],[6,12],[17,26],[35,38],[15,12],[21,10],[29,8],[73,5],[189,1],[37,6],[206,74],[24,13],[30,23],[7,10],[-1,6],[-254,-58],[-109,-13],[-166,10],[-31,9],[-8,16],[35,44],[18,16],[48,15],[114,22],[154,19],[100,1],[84,15],[51,17],[-170,-1],[-204,-8],[-30,6],[-58,23],[-3,17],[23,20],[9,15],[-17,33],[5,13],[38,29],[68,30],[42,4],[81,-10],[230,-11],[45,4],[-28,13],[-40,10],[-178,17],[-37,7],[-7,11],[-3,15],[2,20],[13,21],[55,43],[162,35],[64,5],[65,-2],[65,-16],[29,-14],[15,-17],[7,-16],[1,-27],[3,-11],[12,-18],[37,-43],[28,-13],[128,25],[53,5],[54,-7],[78,-26],[101,-77],[130,-78],[-1,-17],[-49,-26],[-10,-12],[7,-8],[50,-5],[46,4],[45,-6],[10,-6],[16,-29],[23,-51],[27,-38],[31,-25],[31,-13],[45,-1],[46,8],[74,-3],[381,-29],[23,5],[16,16],[9,27],[4,22],[-5,30],[-8,14],[-236,98],[-21,39],[116,54],[8,13],[2,17],[-4,22],[-15,21],[-62,41],[-55,6],[-82,39],[-12,10],[-11,16],[-8,22],[1,16],[11,12],[80,40],[33,22],[100,100],[46,41],[33,19],[34,12],[74,5],[77,-37],[17,-2],[7,-10],[-3,-18],[-10,-16],[-27,-30],[-7,-13],[2,-13],[19,-30],[6,-19],[4,-33],[3,-5],[47,-28],[42,-37],[20,-57],[-16,-20],[-35,-27],[-21,-23],[-7,-18],[5,-11],[27,-5],[35,-2],[41,6],[46,-4],[21,-13],[15,-24],[0,-13],[-3,-11],[-6,-9],[-60,-59],[-14,-21],[19,-5],[10,3],[59,45],[45,14],[34,3],[57,-9],[22,-7],[15,-9],[9,-11],[22,-43],[16,-55],[2,6],[1,31],[3,24],[55,16],[1,5],[-20,14],[-16,18],[-12,34],[4,13],[12,14],[35,29],[42,17],[36,4],[137,-30],[54,-25],[21,-13],[8,-9],[12,-29],[23,-80],[-1,-26],[-10,-41],[-44,-78],[-7,-52],[-44,-131],[-31,-36],[-33,-25],[-138,-44],[-104,-44],[-26,-7],[-27,-1],[-86,15],[-99,28],[-57,-8],[-56,-20],[-36,-6],[-33,3],[-33,7],[-44,19],[23,9],[10,10],[-9,10],[-46,15],[-48,-33],[-139,-75],[-187,-26],[-58,-15],[-44,-20],[-22,-16],[-35,-39],[-53,-29],[-96,-32],[-123,-49],[-220,-50],[-138,-9]],[[23849,93127],[-98,26],[-32,-1],[-110,-17],[-52,8],[8,91],[-8,97],[-16,93],[-82,166],[-9,29],[-6,32],[-3,34],[0,34],[6,69],[0,35],[-4,91],[-11,136],[-1,48],[1,19],[3,14],[18,20],[34,14],[17,2],[108,-41],[50,-14],[33,0],[2,5],[-30,9],[-27,18],[-46,52],[-20,45],[-5,15],[-1,16],[3,16],[6,15],[23,23],[18,10],[68,27],[69,16],[151,11],[42,-8],[66,29],[38,7],[67,-11],[109,-28],[53,-18],[26,-12],[50,-42],[25,-12],[97,24],[68,9],[151,-11],[127,-34],[48,-25],[28,-24],[-7,-26],[-24,-42],[-27,-40],[-56,-63],[-47,-31],[-11,-15],[-8,-21],[-18,-30],[-50,-67],[-14,-11],[-71,-29],[25,-13],[11,-11],[-10,-30],[-45,-70],[-46,-66],[-33,-39],[-59,-56],[-32,-16],[-44,-5],[-263,49],[-66,-1],[-176,-26],[17,-12],[64,-19],[41,-21],[55,-65],[8,-16],[3,-19],[-2,-37],[-4,-10],[-87,-99],[-29,-73],[-18,-60],[-29,-17]],[[23167,91030],[-114,46],[-71,-6],[-58,9],[-64,49],[-51,28],[-97,39],[-6,6],[-4,13],[-2,21],[-5,14],[-6,7],[-16,0],[-15,-14],[-30,-12],[-46,3],[-20,8],[-15,13],[-8,15],[-1,18],[-5,13],[-7,10],[-16,0],[-26,-9],[-10,-11],[5,-14],[-4,-7],[-46,0],[-18,7],[-34,25],[-15,25],[-19,44],[2,12],[12,27],[16,18],[103,11],[48,11],[53,30],[61,53],[13,16],[1,11],[-4,13],[-19,30],[-7,21],[6,10],[25,1],[-13,11],[-11,17],[-4,10],[1,17],[19,4],[24,-9],[47,-47],[18,-10],[32,-7],[-34,33],[-35,69],[-4,24],[1,13],[9,38],[8,15],[11,10],[33,21],[53,15],[28,2],[27,-12],[24,-23],[54,-38],[8,-15],[-1,-8],[-20,-10],[-3,-9],[8,-15],[9,-7],[16,6],[12,20],[8,3],[12,-3],[39,-35],[29,-36],[32,-26],[50,-23],[110,-75],[32,-51],[34,-79],[31,-60],[26,-42],[29,-33],[46,-37],[41,27],[18,7],[15,-12],[14,-27],[-7,-13],[-18,-16],[-29,-18],[-42,-1],[-20,-6],[-32,-29],[-26,-35],[-36,-12],[-67,-59],[-37,-22],[-55,-6]],[[18649,91040],[-44,2],[-30,8],[-28,24],[-30,38],[-60,100],[-17,42],[6,72],[-4,41],[-20,90],[-4,8],[-105,33],[-70,11],[-104,2],[-128,-5],[-127,11],[-68,12],[-67,20],[-114,52],[-7,5],[-8,18],[-12,29],[-28,38],[-78,85],[-31,50],[-5,13],[-7,37],[-10,61],[-3,37],[9,23],[7,4],[162,45],[284,48],[261,33],[118,-3],[69,-15],[70,-7],[126,-4],[160,-23],[31,2],[72,16],[21,12],[113,-1],[22,7],[20,14],[-26,26],[-108,56],[-286,100],[-70,22],[-100,22],[-58,3],[-74,-12],[-28,0],[-72,-19],[-69,-13],[-131,-12],[-189,-9],[-26,3],[-39,15],[-28,5],[-185,-12],[-165,15],[-188,153],[-32,47],[7,20],[23,20],[93,59],[34,14],[139,32],[138,39],[110,36],[53,12],[52,2],[42,12],[-9,11],[-34,13],[0,19],[18,9],[69,9],[72,-12],[37,4],[10,13],[-10,10],[-69,21],[-331,-60],[-155,-6],[-107,-26],[-59,1],[-70,26],[-10,8],[-1,10],[22,35],[75,21],[38,58],[-41,1],[-134,-12],[-59,5],[-79,22],[-23,27],[-10,19],[-2,23],[3,65],[6,35],[5,8],[98,108],[62,23],[43,34],[1,14],[-10,14],[-40,35],[-17,17],[-9,17],[7,27],[23,36],[67,59],[162,117],[82,50],[79,26],[110,57],[284,94],[254,94],[93,-25],[27,-19],[12,-17],[10,-23],[9,-30],[12,-65],[1,-33],[-2,-33],[-6,-31],[-9,-27],[-19,-33],[-29,-39],[-60,-67],[-7,-20],[18,-7],[32,6],[47,20],[60,16],[74,13],[19,-16],[12,3],[22,25],[4,17],[-3,18],[1,41],[12,24],[44,52],[23,18],[37,9],[89,-6],[84,-29],[112,-29],[165,-72],[52,-31],[5,-27],[-29,-57],[-71,-81],[-57,-29],[-22,-18],[37,-12],[24,-21],[36,30],[27,33],[38,28],[13,3],[3,-6],[-7,-14],[-2,-14],[1,-14],[4,-9],[23,-4],[13,5],[50,40],[49,60],[75,39],[20,20],[65,17],[-1,11],[3,47],[-22,19],[-77,41],[-37,50],[8,37],[42,-5],[115,-4],[24,-5],[111,-64],[39,-40],[31,-20],[65,-29],[22,-23],[16,-10],[5,-10],[-5,-10],[-2,-24],[12,-8],[42,-9],[12,-10],[16,-30],[19,-52],[17,-56],[27,-106],[54,-141],[18,-88],[7,-17],[12,-11],[34,-16],[27,-23],[31,-8],[7,3],[8,19],[20,32],[94,61],[5,9],[-11,14],[-3,10],[1,6],[20,6],[-66,77],[-43,73],[-27,91],[-4,27],[-4,56],[-9,15],[-15,14],[-6,17],[2,22],[-3,18],[-17,39],[-67,268],[0,26],[9,20],[24,11],[38,3],[13,6],[-15,9],[-25,29],[-3,13],[17,27],[86,-12],[62,-24],[106,-57],[11,3],[12,29],[22,18],[34,-6],[96,-41],[112,-74],[74,-36],[53,-50],[35,-46],[23,-36],[1,-14],[-5,-14],[5,-19],[16,-23],[8,-21],[7,-44],[15,-57],[3,-29],[99,-258],[19,-45],[12,-22],[69,-99],[37,-73],[3,-48],[5,-14],[2,-22],[-2,-31],[-8,-27],[-14,-22],[-14,-31],[-22,-68],[-1,-17],[15,-23],[97,-82],[59,-97],[28,-17],[74,-61],[81,-35],[27,-15],[26,-22],[7,0],[16,4],[4,6],[1,9],[-22,46],[-2,18],[11,3],[83,-79],[45,-31],[61,-33],[105,-76],[15,-6],[57,7],[15,-5],[10,-8],[4,-10],[2,-45],[16,-22],[90,9],[25,-2],[16,-7],[13,-14],[20,-48],[17,-95],[1,-34],[-8,-58],[-13,-21],[-17,-6],[-48,6],[-33,18],[-18,24],[-16,50],[-7,9],[-7,-10],[-16,-46],[-10,-20],[-13,-14],[-24,4],[-35,20],[-66,51],[-23,13],[-15,-2],[-31,-18],[-49,-32],[-20,-24],[8,-15],[6,-19],[3,-24],[-2,-17],[-6,-11],[-16,-13],[-34,-2],[-49,10],[-39,18],[-68,47],[-15,7],[-21,-11],[-8,-14],[13,-19],[34,-26],[42,-42],[11,-8],[11,1],[4,-8],[5,-23],[-2,-39],[-21,-78],[-2,-18],[9,4],[57,77],[29,21],[65,34],[27,25],[82,7],[30,-14],[18,-24],[1,-10],[-21,-28],[-4,-14],[-1,-17],[2,-16],[5,-14],[14,-13],[26,6],[8,-3],[14,-14],[9,-21],[0,-29],[-19,-64],[-34,-21],[-105,-39],[-36,-20],[-70,-14],[-26,-19],[-17,-6],[-74,3],[-85,-12],[-98,24],[-69,10],[-79,37],[-30,-9],[-31,-24],[-148,28],[-18,21],[6,14],[35,44],[2,9],[-1,8],[-68,7],[-75,24],[-75,11],[-57,-3],[-37,9],[-36,19],[-19,18],[-4,15],[0,18],[3,35],[-5,24],[-16,20],[-34,17],[-33,-2],[-28,-19],[-26,-36],[-50,-98],[-24,-17],[-65,-72],[-24,-17],[-117,-28],[-140,-12],[-52,-22],[-49,-42],[-60,-40],[-146,-49],[-135,-27],[-142,-12],[-105,-19],[-31,9],[-47,-3],[-51,-28],[-57,-5],[-219,-10],[-100,-18],[-55,-5]],[[15851,92587],[-44,3],[-32,18],[-29,27],[-22,29],[-56,121],[-24,42],[-21,20],[-55,74],[-15,15],[-209,93],[-101,53],[-25,18],[-23,11],[-130,-7],[-18,3],[-4,7],[15,28],[6,17],[2,17],[-2,27],[2,5],[49,27],[-8,6],[-5,11],[-4,15],[5,11],[15,6],[17,25],[21,44],[15,25],[22,16],[38,43],[27,17],[23,21],[1,10],[-10,7],[-3,17],[5,51],[-1,27],[5,22],[8,18],[11,11],[97,37],[4,11],[2,13],[-3,14],[-5,10],[-15,8],[-26,2],[-23,21],[-5,11],[9,29],[44,46],[14,24],[48,103],[86,65],[23,69],[65,73],[0,11],[-21,25],[-60,17],[-29,27],[-19,30],[-87,175],[-15,13],[-5,20],[-18,14],[4,12],[341,52],[235,17],[243,45],[68,3],[52,-9],[52,-24],[69,-41],[90,-40],[170,-59],[106,-12],[-42,-47],[-6,-14],[0,-10],[2,-3],[71,55],[44,3],[30,-5],[10,-7],[6,-11],[3,-24],[2,-59],[4,-7],[9,3],[16,14],[78,88],[33,24],[23,7],[96,13],[65,-1],[71,-8],[54,-12],[88,-36],[69,-41],[63,-44],[212,-166],[90,-48],[35,-28],[15,-20],[13,-26],[4,-23],[-5,-22],[-10,-16],[-21,-13],[-130,-55],[-69,-17],[-67,-25],[-162,-86],[-111,-41],[-144,-81],[-272,-129],[-32,-26],[-15,-18],[-77,-148],[-29,-34],[-71,-35],[-89,-8],[-25,-10],[-5,-51],[-32,-85],[-15,-56],[-22,-153],[-5,-15],[-16,-28],[-28,-31],[-86,-35],[-64,-19],[-86,-15],[-21,10],[-21,25],[-22,2],[-13,-4],[-114,-106],[-109,-43],[-47,-39],[-33,-18],[-27,-5]],[[34396,78169],[-19,9],[9,18],[7,6],[9,2],[4,-6],[-1,-13],[-3,-10],[-6,-6]],[[23715,95348],[-35,12],[-10,13],[-8,18],[-5,22],[-7,18],[-10,13],[-2,12],[6,9],[11,5],[27,1],[57,24],[11,-3],[8,-12],[7,-32],[9,-20],[22,-34],[10,-23],[-2,-7],[-7,-6],[-55,-10],[-27,0]],[[27937,81245],[-26,5],[-22,15],[-13,19],[86,52],[18,-6],[0,-10],[-13,-28],[-3,-18],[-6,-15],[-9,-9],[-12,-5]],[[28089,83726],[-10,1],[2,19],[14,39],[8,35],[2,29],[6,26],[10,22],[11,11],[15,0],[4,-72],[-5,-34],[-10,-28],[-14,-23],[-19,-17],[-14,-8]],[[27843,83533],[74,170],[1,13],[-14,8],[-6,-4],[-60,-107],[-34,-42],[-23,13],[-6,11],[2,13],[59,108],[54,77],[22,48],[9,46],[4,34],[0,37],[3,10],[3,-2],[3,-14],[1,-39],[-12,-80],[-10,-39],[-12,-32],[5,-7],[22,18],[18,39],[15,59],[9,51],[10,82],[3,-3],[4,-16],[10,-12],[15,-7],[9,-10],[6,-27],[7,-12],[23,-11],[9,-8],[6,-30],[-1,-16],[3,-10],[7,-4],[-8,-32],[-23,-60],[-18,-58],[-25,-108],[-15,-4],[-13,26],[37,127],[1,14],[-1,12],[-11,19],[-11,-22],[-52,-143],[-13,-23],[-11,-12],[-9,-3],[-22,3],[-44,-41]],[[27807,84096],[-14,12],[0,30],[13,23],[10,-2],[10,-12],[-3,-16],[-9,-24],[-7,-11]],[[27831,84502],[-9,24],[7,21],[-1,14],[2,11],[12,23],[7,6],[4,-2],[4,-30],[-1,-23],[-4,-5],[-12,4],[-5,-39],[-4,-4]],[[27770,83766],[-17,9],[9,43],[14,18],[36,18],[7,11],[11,6],[17,0],[19,16],[21,33],[7,4],[-14,-47],[-16,-35],[-80,-71],[-14,-5]],[[27689,85793],[-2,7],[7,25],[12,3],[13,26],[12,-9],[-4,-15],[-16,-23],[-13,-12],[-9,-2]],[[27794,82033],[-18,3],[-9,11],[-8,16],[-2,12],[7,11],[21,-7],[10,-28],[-1,-18]],[[27731,85878],[13,35],[10,17],[12,11],[24,4],[16,-14],[-15,-26],[-31,-23],[-29,-4]],[[27902,84029],[-7,1],[7,52],[-8,19],[-1,10],[4,8],[5,2],[11,-16],[6,-17],[2,-17],[0,-16],[-4,-12],[-6,-6],[-9,-8]],[[23071,93676],[-41,42],[-2,38],[3,22],[5,18],[15,17],[43,18],[19,-14],[7,-16],[6,-7],[28,-14],[13,-17],[-2,-19],[-8,-29],[-10,-19],[-11,-8],[-20,-6],[-45,-6]],[[22873,94588],[-18,14],[-8,12],[65,55],[28,14],[27,-17],[7,-13],[-3,-10],[-14,-19],[-84,-36]],[[22507,94200],[-90,30],[-24,10],[-9,10],[4,9],[16,9],[69,13],[25,10],[11,14],[17,11],[24,8],[65,8],[146,42],[72,6],[28,-4],[9,-11],[2,-11],[-4,-11],[-22,-28],[-30,-22],[-79,-47],[-35,-12],[-80,-13],[-36,6],[-20,-17],[-15,-7],[-44,-3]],[[24908,91499],[-9,6],[-28,39],[-8,25],[10,12],[22,15],[15,8],[20,-7],[6,11],[8,-10],[6,-37],[-24,-50],[-8,-9],[-10,-3]],[[24840,91474],[-14,24],[-12,5],[-5,17],[-24,3],[2,26],[7,12],[22,10],[17,-3],[17,-26],[8,-20],[7,-26],[-2,-15],[-23,-7]],[[29429,87564],[-55,7],[-69,28],[-35,26],[2,8],[15,4],[18,-4],[29,-18],[80,-9],[25,-11],[8,-16],[-3,-10],[-15,-5]],[[29178,90960],[-32,37],[-66,41],[-25,30],[-1,15],[2,23],[8,28],[23,31],[24,5],[35,-7],[25,-22],[27,-61],[19,-30],[5,-22],[-9,-10],[1,-10],[4,-6],[-1,-11],[-8,-17],[-10,-10],[-21,-4]],[[28147,86442],[0,9],[16,24],[59,21],[44,7],[-10,-21],[-26,-16],[-45,-17],[-38,-7]],[[28037,90865],[-30,31],[0,18],[6,42],[55,10],[24,-25],[11,-25],[-43,-45],[-23,-6]],[[28671,88022],[-38,14],[-38,25],[-85,83],[64,55],[102,-64],[31,-42],[-7,-65],[-29,-6]],[[32039,87430],[-50,13],[-17,9],[-16,22],[7,16],[25,5],[4,7],[-6,12],[0,10],[7,10],[53,-7],[33,2],[14,-9],[13,-29],[-17,-41],[-19,-16],[-31,-4]],[[32554,90182],[-19,20],[13,5],[19,24],[26,22],[11,17],[43,7],[15,-1],[5,-6],[-24,-26],[-55,-46],[-34,-16]],[[31021,86156],[-12,12],[0,36],[8,27],[29,57],[25,63],[15,15],[31,-10],[18,-19],[18,-30],[8,-23],[-7,-34],[-22,-31],[-25,-21],[-61,-38],[-25,-4]],[[30442,87525],[-37,5],[-40,12],[-23,14],[-19,30],[-4,34],[-38,49],[-42,17],[-23,34],[24,3],[34,-8],[49,-15],[45,-19],[64,-44],[21,-40],[21,-30],[7,-22],[-6,-10],[-13,-7],[-20,-3]],[[31984,86820],[-6,2],[-21,31],[-28,13],[-10,12],[-84,66],[-9,28],[-2,23],[28,11],[56,10],[49,0],[46,-14],[9,-14],[24,-27],[-6,-31],[-2,-41],[-10,-19],[-15,-15],[-12,-28],[-7,-7]],[[31127,91666],[-72,27],[-6,22],[36,24],[29,13],[22,2],[22,-4],[21,-26],[-25,-24],[-20,-30],[-7,-4]],[[27784,91652],[-20,2],[-31,13],[-19,16],[-4,18],[-7,4],[-9,-10],[-8,2],[-19,27],[-14,11],[-92,16],[-4,7],[5,12],[14,18],[20,6],[52,-8],[4,5],[4,22],[4,9],[36,-2],[22,5],[13,-12],[12,-27],[17,5],[26,-4],[28,10],[43,24],[33,9],[46,-14],[11,-34],[7,-10],[-11,-16],[-41,-33],[-92,-13],[-46,15],[22,-46],[4,-19],[-6,-8]],[[28112,91634],[-15,2],[17,24],[58,68],[49,7],[16,14],[14,-4],[8,12],[1,17],[17,14],[16,0],[32,-15],[14,-29],[3,-16],[-20,-18],[-74,-33],[-46,-30],[-22,-6],[-31,6],[-37,-13]],[[28412,88355],[-59,10],[-8,8],[-2,10],[9,13],[61,13],[26,0],[14,-4],[1,-5],[-22,-17],[-20,-28]],[[26928,89690],[-25,21],[-18,25],[-5,16],[-2,17],[4,3],[28,-32],[28,-7],[21,0],[4,-8],[-22,-29],[-13,-6]],[[27978,91254],[-23,11],[-8,20],[-4,19],[4,10],[10,9],[13,22],[18,34],[27,22],[60,21],[8,8],[27,59],[9,10],[30,6],[3,8],[-10,14],[0,15],[10,16],[15,11],[39,11],[35,-2],[9,-4],[7,-10],[11,-28],[1,-6],[-16,-25],[-42,-37],[-26,-32],[-5,-10],[-3,-13],[-9,-17],[-31,-38],[-20,-38],[-21,-20],[-56,-20],[-43,-22],[-19,-4]],[[28577,91428],[-26,3],[-17,14],[-13,19],[-16,48],[6,22],[2,40],[3,15],[6,7],[37,14],[21,-1],[32,-15],[69,-5],[18,-14],[4,-8],[-1,-11],[-4,-12],[-34,-36],[-17,-25],[-12,-30],[-23,-18],[-35,-7]],[[31964,87044],[-66,39],[-18,39],[-1,20],[7,18],[10,9],[13,-1],[16,-9],[11,-28],[6,-5],[7,6],[6,-5],[4,-17],[6,-12],[17,-15],[5,-11],[0,-11],[-14,-16],[-9,-1]],[[25907,91928],[-34,6],[-35,15],[-17,-7],[-41,11],[-20,15],[-17,22],[0,13],[43,14],[17,12],[54,-20],[32,-5],[30,6],[22,-5],[13,-17],[9,-18],[5,-18],[-12,-13],[-49,-11]],[[26838,89353],[-31,15],[-12,8],[-13,18],[-6,1],[-9,-5],[-2,-8],[4,-10],[-5,-2],[-39,6],[-6,6],[3,18],[27,28],[-23,8],[-8,10],[-35,-17],[-19,-4],[-30,12],[-4,63],[-3,23],[-14,15],[-9,16],[-13,13],[-27,12],[-23,31],[-4,15],[3,10],[13,15],[79,-32],[48,-29],[46,-37],[23,-27],[2,-18],[-5,-17],[-14,-18],[11,-20],[35,-23],[36,-14],[57,-7],[8,-5],[0,-10],[-8,-18],[-19,-21],[-14,-1]],[[25934,90600],[-19,9],[-43,36],[-9,15],[-4,18],[0,21],[3,21],[14,43],[-26,34],[-6,20],[3,10],[14,27],[4,16],[14,23],[37,45],[37,-10],[32,-37],[9,-25],[-3,-27],[3,-38],[8,-50],[3,-37],[-4,-23],[-14,-42],[-12,-20],[-16,-19],[-14,-9],[-11,-1]],[[26464,89314],[-15,4],[-13,17],[-11,30],[-17,23],[-39,29],[-7,11],[-11,38],[-2,38],[-9,35],[0,17],[7,25],[33,6],[26,-10],[5,-6],[8,-15],[6,-18],[31,-49],[18,-39],[25,-81],[0,-15],[-7,-16],[-13,-17],[-15,-7]],[[24143,87109],[-26,30],[-5,15],[33,10],[23,-27],[-2,-13],[-12,-14],[-11,-1]],[[21301,95357],[20,35],[56,57],[-44,23],[-158,-39],[-60,24],[51,62],[-51,5],[-71,1],[-46,36],[16,44],[94,24],[122,21],[131,31],[103,-2],[40,-15],[14,-51],[12,-60],[18,-5],[55,-42],[58,-37],[3,-8],[-11,-7],[-75,-19],[-29,-16],[-25,-36],[-19,-17],[-101,-9],[-103,0]],[[21809,95837],[-33,7],[-2,11],[29,14],[95,22],[57,41],[21,5],[73,5],[43,-1],[55,-9],[-132,-51],[-134,-41],[-72,-3]],[[21036,95690],[-24,5],[-14,18],[-28,67],[-19,37],[-8,25],[5,14],[24,14],[82,21],[36,0],[23,-5],[9,-11],[-3,-14],[-14,-19],[13,-3],[43,12],[27,2],[30,-23],[8,-14],[110,-36],[38,-17],[5,-11],[-13,-15],[-33,-21],[-31,-13],[-44,-11],[-222,-2]],[[21356,96756],[-37,7],[-6,8],[0,9],[3,10],[42,37],[38,13],[23,2],[18,-12],[10,-19],[-59,-43],[-32,-12]],[[21713,96496],[-69,3],[-83,21],[-22,25],[-5,40],[1,22],[7,4],[51,5],[96,6],[78,-4],[88,-23],[36,-14],[18,-10],[22,-21],[8,-9],[5,-16],[-110,-4],[-52,-6],[-30,-13],[-39,-6]],[[25007,95786],[-22,4],[-31,17],[-36,33],[-41,49],[-32,43],[-1,12],[10,19],[32,14],[76,16],[52,-1],[48,-32],[14,-11],[8,-13],[1,-13],[-4,-11],[-22,-25],[-10,-17],[0,-17],[5,-24],[9,-16],[13,-8],[0,-8],[-13,-8],[-42,4],[-14,-7]],[[23095,95123],[-16,6],[-15,20],[-14,33],[10,24],[35,17],[93,27],[26,13],[3,15],[6,9],[8,5],[62,-24],[29,-17],[22,-18],[-2,-8],[-31,-19],[-21,-19],[-23,-1],[-30,18],[-32,-7],[-45,-37],[-16,-22],[-12,-8],[-37,-7]],[[23513,94608],[-25,4],[-93,26],[-16,11],[-4,8],[21,9],[8,11],[23,12],[42,0],[44,-30],[21,-28],[1,-12],[-9,-8],[-13,-3]],[[18304,96516],[-51,1],[-89,28],[-103,86],[-14,31],[39,6],[28,9],[17,14],[34,14],[76,23],[10,-9],[-2,-18],[6,-17],[28,-3],[26,-13],[53,-36],[36,-8],[13,-8],[6,-12],[22,-22],[0,-11],[-30,-22],[-29,-13],[-76,-20]],[[16346,95343],[-24,7],[5,15],[54,41],[3,12],[0,10],[-7,11],[14,15],[22,6],[7,-6],[2,-13],[-5,-36],[-6,-18],[-10,-15],[-14,-14],[-19,-12],[-22,-3]],[[18413,95918],[-289,28],[-15,9],[-8,12],[52,34],[64,14],[146,12],[51,-13],[34,-15],[19,-14],[8,-24],[-20,-24],[-42,-19]],[[21025,94923],[-90,18],[-54,34],[-17,17],[2,7],[9,8],[13,22],[31,65],[12,17],[48,38],[36,10],[75,-3],[44,-20],[18,-12],[13,-15],[13,-33],[3,-22],[22,-25],[7,-14],[0,-14],[-6,-14],[-12,-15],[-29,-21],[-85,-25],[-53,-3]],[[35120,78096],[-6,6],[-8,25],[6,123],[4,41],[-9,31],[9,53],[1,20],[-6,7],[-10,-4],[-17,-27],[-22,-48],[-23,-43],[-42,-59],[-18,-12],[-8,3],[-8,8],[-12,25],[1,22],[5,30],[17,70],[34,104],[28,74],[5,32],[-7,14],[-7,27],[-11,80],[-13,66],[-16,29],[-41,32],[-7,-7],[-4,-45],[-48,-128],[-8,-55],[-6,-21],[-9,-14],[-21,-17],[6,30],[22,66],[-3,6],[-28,-53],[-21,-29],[-26,-8],[-16,2],[-15,-8],[-65,-125],[-3,-42],[-11,-34],[-32,-62],[-17,-21],[-24,-4],[-21,11],[-15,-2],[-33,-19],[-38,-9],[-16,4],[-10,8],[-19,24],[-2,17],[1,10],[10,26],[22,32],[18,12],[45,17],[33,24],[25,36],[12,22],[47,113],[60,40],[29,32],[21,41],[3,15],[-30,-21],[-15,-5],[-25,7],[-11,14],[-34,-4],[-47,7],[-7,-11],[-6,-55],[-6,-29],[-7,-10],[-11,-6],[-21,-5],[-55,19],[-11,11],[-14,8],[-60,-18],[-13,2],[12,13],[60,40],[6,116],[-3,18],[-17,-16],[-28,-17],[-20,5],[-9,10],[-8,-8],[-19,-61],[-12,-8],[-17,-2],[-38,-23],[-73,-14],[-14,-16],[-49,5],[-145,34],[-52,-4],[-62,21],[-12,9],[-87,-4],[-26,5],[2,25],[-3,7],[-25,-28],[-23,-18],[-29,-16],[-91,-27],[-49,-6],[-28,19],[-11,19],[-17,61],[-12,76],[0,14],[6,26],[19,37],[87,97],[69,98],[30,51],[28,18],[46,43],[2,5],[-45,-6],[-32,12],[-32,5],[-62,-12],[-62,0],[0,22],[29,41],[62,71],[6,0],[-19,-33],[-5,-24],[8,-17],[9,-10],[36,-4],[8,14],[12,75],[27,88],[14,63],[25,48],[13,7],[11,-9],[37,-12],[38,-44],[12,-3],[4,4],[-14,13],[-11,20],[-5,20],[14,60],[16,18],[3,12],[-32,0],[-26,17],[-8,28],[1,48],[9,29],[21,38],[25,25],[15,-6],[30,-34],[18,9],[-3,11],[-27,55],[-9,40],[1,19],[59,192],[29,103],[40,157],[9,25],[20,46],[9,13],[25,0],[16,6],[-23,20],[-8,14],[-1,15],[6,16],[9,12],[31,25],[22,41],[13,49],[-2,17],[-7,16],[0,9],[17,10],[42,58],[5,11],[16,78],[19,34],[17,17],[28,22],[86,53],[51,47],[34,-2],[10,-33],[49,-22],[9,23],[-12,29],[10,12],[40,10],[7,-4],[12,-16],[-2,-15],[-20,-59],[-14,-29],[-13,-9],[-28,-9],[-59,-9],[-25,-9],[-3,-39],[4,-21],[8,-16],[11,-5],[24,10],[9,-2],[7,-8],[6,-15],[3,-20],[0,-27],[-4,-32],[-20,-74],[-25,-41],[-33,-34],[-7,-13],[-5,-15],[-4,-49],[-16,-39],[-52,-100],[-20,-22],[0,-17],[-8,-47],[-16,-38],[-43,-87],[-10,-31],[-5,-25],[1,-34],[-2,-15],[-10,-29],[-14,-27],[-3,-14],[6,-24],[5,-8],[1,-22],[-4,-36],[18,23],[40,80],[31,49],[20,16],[15,22],[15,47],[20,46],[19,14],[9,-8],[7,-23],[-1,-28],[-10,-34],[0,-10],[24,25],[41,21],[15,-3],[30,-31],[26,3],[40,19],[7,-9],[-7,-27],[-15,-27],[-37,-37],[-90,-74],[-28,-50],[5,1],[20,22],[20,12],[21,1],[9,-6],[-3,-15],[-3,-38],[-54,-76],[13,2],[62,35],[39,-48],[52,17],[31,16],[0,-10],[6,-21],[0,-34],[3,-4],[15,11],[3,12],[-1,60],[5,6],[10,-9],[6,-16],[2,-43],[-7,-44],[-9,-40],[-23,-59],[3,-25],[-6,-27],[5,-1],[23,25],[1,11],[-2,24],[3,12],[19,27],[31,31],[11,5],[4,-8],[-2,-19],[10,5],[20,28],[18,17],[17,6],[18,20],[19,33],[20,28],[21,21],[9,2],[-3,-36],[4,-41],[1,-35],[4,-7],[17,37],[9,14],[11,5],[12,-3],[87,14],[27,-10],[30,-24],[37,-38],[14,-34],[3,-43],[-4,-30],[-27,-37],[-24,-25],[-14,-25],[-5,-25],[-5,-15],[-16,-22],[-72,-60],[17,-2],[41,13],[28,3],[1,-9],[-11,-17],[-21,-17],[-2,-8],[1,-11],[22,-13],[29,6],[24,-9],[-3,-14],[-19,-47],[-5,-30],[-26,-25],[-50,-38],[-13,-15],[3,-4],[46,29],[24,7],[14,1],[17,27],[26,9],[26,-17],[39,47],[14,7],[24,-6],[15,9],[26,32],[20,16],[4,-2],[4,-13],[2,-37],[-5,-33],[-6,-21],[-21,-47],[-13,-16],[-12,-6],[-21,2],[-9,-7],[-20,-36],[-35,-37],[-22,-15],[14,-20],[5,-38],[-8,-12],[-37,-12],[-2,-7],[-13,-9],[-31,-13],[21,-6],[39,10],[4,-7],[-5,-27],[-11,-28],[-46,-73],[0,-7],[7,-35],[9,-27],[11,-19],[26,-1],[19,8],[27,49],[62,150],[55,42],[45,47],[11,-10],[5,-11],[-2,-11],[-23,-38],[-12,-32],[-31,-97],[-12,-46],[-6,-48],[1,-84],[4,-14],[9,-19],[19,16],[31,41],[20,40],[15,64],[10,25],[10,-1],[10,-14],[2,-30],[8,-43],[6,-43],[-4,-47],[-5,-26],[-63,-191],[6,-34],[2,-21],[-2,-21],[-20,-92],[-19,-57],[-11,-25],[-12,-15],[-15,-6],[-13,9],[-11,22],[-10,11],[-9,1],[-17,-4],[-42,-47],[-9,-2]],[[34555,80513],[-8,7],[-1,12],[8,24],[21,12],[17,-3],[-1,-12],[-9,-20],[-9,-13],[-9,-7],[-9,0]],[[34781,79795],[-9,11],[-12,36],[2,12],[12,2],[7,-5],[1,-11],[5,-6],[9,0],[32,35],[16,6],[6,-7],[-4,-18],[-43,-35],[-10,-13],[-12,-7]],[[34608,81212],[-3,7],[6,23],[15,26],[20,7],[-6,-38],[-18,-24],[-14,-1]],[[34925,79849],[-5,5],[-1,38],[4,30],[5,5],[16,-18],[17,37],[13,-4],[20,-39],[11,-10],[-72,-42],[-8,-2]],[[34346,78195],[-9,14],[2,17],[13,40],[-1,12],[-14,78],[2,13],[4,6],[21,-17],[3,-21],[-10,-48],[7,-32],[9,-23],[-3,-14],[-24,-25]],[[34923,78557],[-14,1],[2,18],[17,35],[8,25],[1,15],[3,12],[13,13],[11,23],[-5,-44],[-22,-78],[-14,-20]],[[22112,91186],[-13,14],[-11,23],[-4,4],[-7,-1],[-14,-15],[-7,0],[-5,10],[-3,20],[0,29],[7,45],[1,16],[-4,13],[3,11],[10,10],[12,5],[30,-4],[23,-18],[12,-23],[23,-19],[7,-13],[-10,-58],[-9,-19],[-11,-5],[-22,-22],[-8,-3]],[[22217,91322],[-34,10],[-15,13],[-13,29],[-2,7],[3,11],[14,25],[9,9],[23,-10],[10,-15],[8,-23],[3,-20],[-6,-36]],[[22133,92231],[-60,22],[-23,13],[-8,10],[-5,19],[-3,30],[12,14],[27,-1],[28,-11],[44,-33],[-12,-9],[-1,-22],[5,-20],[-1,-7],[-3,-5]],[[23421,91548],[-13,8],[10,24],[7,8],[1,22],[-5,36],[-6,22],[-16,13],[-12,1],[-3,-12],[5,-24],[-4,-32],[-13,-38],[-9,-18],[-18,9],[-8,15],[2,24],[-4,22],[4,23],[12,35],[17,23],[21,11],[26,-1],[29,-13],[24,-17],[37,-39],[0,-20],[-5,-32],[-11,-24],[-16,-17],[-23,-8],[-29,-1]],[[21874,91580],[-4,1],[2,16],[-2,8],[-6,6],[20,13],[3,10],[-7,8],[-27,14],[-8,13],[2,12],[10,10],[19,-2],[41,-19],[19,-27],[8,-20],[-13,-3],[-11,-8],[-11,-17],[-12,-10],[-23,-5]],[[21698,91104],[-16,10],[-90,36],[-11,11],[10,15],[33,20],[22,20],[17,30],[51,-15],[19,-15],[8,-12],[3,-18],[-3,-42],[-17,-10],[-15,-29],[-11,-1]],[[20945,90995],[-28,10],[-43,21],[-31,22],[-21,24],[-3,16],[16,9],[24,5],[57,-3],[28,-9],[36,-35],[7,-19],[2,-13],[-5,-10],[-23,-15],[-16,-3]],[[20014,90353],[-6,5],[-9,24],[-20,11],[-21,26],[0,57],[8,25],[-2,36],[22,22],[16,-26],[5,-43],[-4,-21],[16,-22],[7,-6],[4,-17],[-2,-21],[-14,-50]],[[19744,90685],[-49,27],[-18,17],[-6,13],[5,5],[31,-6],[23,4],[17,-24],[7,-24],[-2,-8],[-8,-4]],[[20015,90080],[-6,17],[-26,36],[-9,35],[35,-5],[45,1],[-8,-46],[-17,-29],[-14,-9]],[[19622,90750],[-38,35],[8,30],[35,-31],[5,-19],[0,-13],[-10,-2]],[[33060,83657],[-43,10],[-15,9],[-1,10],[2,15],[8,17],[20,13],[11,-7],[23,-18],[3,-10],[-11,-25],[3,-14]],[[32878,84487],[-44,4],[-50,43],[-10,31],[1,6],[7,5],[13,-7],[12,11],[13,4],[29,-15],[23,-18],[6,-64]],[[30735,85402],[10,40],[1,28],[-5,27],[8,14],[30,1],[0,-32],[4,-12],[7,-5],[-1,-14],[-17,-43],[-23,5],[-8,-9],[-6,0]],[[56182,86116],[-13,18],[-6,24],[-13,17],[-18,12],[9,17],[5,24],[13,9],[35,-13],[15,4],[17,-31],[-29,-19],[-2,-25],[12,-15],[4,-22],[-29,0]],[[55916,86302],[-15,27],[-9,46],[3,10],[12,11],[9,-26],[42,-39],[-4,-27],[-19,3],[-19,-5]],[[56036,86081],[-10,4],[3,35],[16,15],[28,2],[-9,-36],[-28,-20]],[[32099,86194],[-32,15],[-50,31],[-20,21],[-7,22],[0,31],[15,6],[37,3],[32,-44],[9,-6],[26,-38],[-10,-41]],[[85043,71033],[-12,4],[-12,41],[-5,32],[-13,18],[20,28],[25,-50],[1,-59],[-4,-14]],[[70118,46066],[-5,60],[-17,42],[7,0],[15,-21],[6,-57],[5,16],[-1,18],[3,17],[-2,18],[-9,29],[3,6],[13,-25],[2,-19],[-2,-49],[-6,-24],[-12,-11]],[[11216,45170],[-3,29],[6,16],[8,7],[13,-9],[8,-13],[-1,-11],[-13,-14],[-18,-5]],[[93789,45261],[-16,7],[-36,31],[-1,14],[20,6],[15,-4],[12,-18],[6,-15],[0,-21]],[[55700,86025],[-10,12],[-21,-2],[-3,7],[8,12],[17,8],[22,-3],[12,-17],[-2,-14],[-23,-3]],[[55983,86076],[-15,17],[6,13],[17,14],[18,-2],[4,-17],[-6,-19],[-24,-6]],[[56860,88955],[-33,12],[-1,38],[21,19],[37,7],[52,-18],[7,-10],[-29,-8],[-12,-20],[-42,-20]],[[58268,91804],[-6,15],[11,22],[14,45],[22,-2],[22,-17],[17,-21],[-27,-24],[-53,-18]],[[51352,86653],[-19,6],[7,57],[10,9],[15,3],[16,-30],[-4,-38],[-25,-7]],[[52223,87995],[-32,9],[-21,19],[-3,17],[38,21],[37,13],[18,-23],[1,-39],[-11,-17],[-27,0]],[[52321,88189],[-20,13],[46,27],[72,25],[6,16],[9,2],[12,-20],[2,-27],[-8,-13],[-88,-22],[-31,-1]],[[53452,89512],[0,25],[13,22],[20,14],[26,4],[29,2],[9,-12],[-17,-16],[-58,-37],[-22,-2]],[[53424,89594],[4,26],[21,25],[8,17],[4,20],[18,15],[26,-19],[1,-33],[-13,-30],[-44,-17],[-25,-4]],[[55526,91983],[-32,5],[-9,20],[-10,32],[-27,32],[-4,28],[23,4],[23,-34],[15,-7],[14,5],[11,-6],[23,-32],[25,-12],[2,-15],[-23,-16],[-31,-4]],[[56231,92244],[-21,3],[-53,28],[-31,30],[-17,26],[49,0],[17,6],[33,-5],[19,26],[42,-3],[80,19],[29,-11],[67,62],[21,-1],[32,17],[13,-16],[-6,-18],[-9,-18],[-23,-19],[-66,-76],[-38,-12],[-13,-12],[-15,-7],[-48,10],[-14,-15],[-14,-10],[-34,-4]],[[55733,91976],[-12,8],[-17,6],[-20,-3],[-16,26],[1,21],[23,29],[45,16],[36,-7],[10,-8],[-12,-69],[-15,-14],[-23,-5]],[[57155,92507],[-49,4],[-28,35],[-47,9],[0,11],[30,26],[46,27],[74,-23],[25,0],[37,-42],[19,4],[-3,-26],[-37,-12],[-58,-8],[-9,-5]],[[56433,92109],[-17,8],[2,38],[-5,11],[-23,-15],[-24,19],[-1,19],[7,16],[23,26],[37,17],[25,-7],[83,67],[9,-14],[10,-27],[5,-27],[2,-23],[-26,-33],[-59,-44],[3,-11],[-20,-11],[-31,-9]],[[56618,92255],[-31,20],[-13,21],[-1,46],[7,28],[25,15],[16,-11],[4,-9],[29,-8],[34,-30],[-17,-49],[-53,-23]],[[53674,90754],[-8,55],[16,20],[12,23],[19,4],[17,-2],[30,51],[42,14],[26,2],[25,-7],[17,-10],[43,3],[8,-4],[-6,-16],[-19,-19],[-39,-11],[-18,-28],[-12,-10],[-34,0],[-20,-6],[-25,-25],[-20,18],[-5,-13],[-4,-23],[-11,-7],[-34,-9]],[[53562,90651],[15,57],[22,58],[30,33],[16,-13],[-7,-27],[0,-28],[-7,-13],[-28,-35],[-41,-32]],[[54745,91358],[-2,19],[-32,14],[-42,0],[1,15],[8,10],[36,15],[7,32],[-7,55],[7,27],[1,19],[23,22],[77,-10],[9,20],[-6,14],[-39,23],[6,15],[28,14],[28,2],[8,23],[1,10],[4,6],[34,-34],[15,10],[29,4],[22,-12],[18,-21],[22,-1],[13,-28],[7,-37],[-16,-27],[-22,-13],[-6,-32],[9,-45],[-49,-15],[-58,-7],[-22,21],[-45,-39],[-46,-62],[-21,-7]],[[55076,91667],[-40,13],[-19,26],[6,15],[40,5],[1,25],[10,14],[13,8],[9,32],[16,8],[30,-8],[20,22],[11,4],[14,-18],[6,25],[-6,24],[3,15],[38,41],[17,30],[24,20],[22,-4],[7,29],[-7,29],[3,19],[20,46],[22,2],[11,-41],[1,-67],[25,-32],[22,3],[6,12],[15,6],[30,-17],[-4,-29],[-42,-36],[-30,-52],[-38,-13],[-18,7],[-35,-30],[-27,-32],[-28,-39],[-2,-21],[-5,-15],[-104,-16],[-37,-10]],[[53985,90863],[-25,7],[0,39],[50,51],[41,34],[142,25],[88,103],[21,112],[21,41],[-10,23],[-24,4],[-1,35],[12,38],[47,53],[25,23],[42,63],[20,15],[23,0],[23,-17],[-4,-34],[-34,-62],[-50,-52],[6,-38],[20,-31],[5,-53],[1,-50],[-38,-69],[-9,-33],[4,-5],[38,58],[41,17],[3,20],[16,19],[-2,32],[9,25],[21,7],[13,9],[15,4],[27,-20],[15,-23],[19,-51],[-8,-50],[-50,-38],[-40,-18],[-41,-44],[-20,-36],[-17,-8],[-11,3],[-10,8],[-21,1],[-22,-32],[-68,-25],[-27,7],[-1,31],[-16,-2],[-26,-38],[-25,-12],[-16,-4],[-31,14],[-83,-64],[-78,-12]],[[54174,91116],[-38,3],[-24,16],[-3,18],[-14,5],[-37,-23],[-25,-3],[-32,18],[-9,29],[34,35],[16,28],[38,-2],[10,-9],[21,-5],[13,33],[-3,23],[10,17],[46,-12],[0,63],[17,4],[8,-2],[13,-13],[9,-23],[36,-60],[16,-35],[-13,-65],[-35,-34],[-54,-6]],[[53105,88884],[-33,13],[-63,-10],[-26,16],[20,31],[58,33],[31,-1],[31,-41],[-4,-25],[-14,-16]],[[51413,86129],[-25,6],[-12,27],[-3,17],[2,41],[-6,42],[7,21],[10,2],[16,-37],[10,-48],[1,-71]],[[53306,89333],[-35,5],[-3,16],[9,31],[21,13],[27,-3],[9,-13],[-10,-31],[-18,-18]],[[27904,95393],[-26,11],[-17,24],[41,44],[47,31],[57,48],[47,32],[23,-7],[22,-16],[-28,-48],[-30,-24],[-2,-35],[3,-35],[-20,1],[-65,-22],[-52,-4]],[[29993,96277],[-97,23],[-34,18],[2,27],[14,9],[53,10],[44,2],[29,-4],[70,-17],[50,-17],[33,-5],[-9,-24],[-56,-17],[-99,-5]],[[37481,99090],[-118,63],[-186,63],[-164,42],[-154,109],[-12,39],[21,35],[135,5],[108,15],[274,-68],[138,-57],[46,-47],[-7,-94],[-25,-94],[-56,-11]],[[44786,98941],[-73,8],[-94,53],[-62,44],[-5,52],[32,22],[50,4],[69,-44],[71,-59],[41,-61],[-29,-19]],[[44990,97695],[-174,6],[-103,31],[-30,47],[40,52],[125,42],[156,26],[142,-16],[20,-52],[-59,-68],[-117,-68]],[[44686,96645],[-25,63],[-22,83],[-5,94],[57,48],[29,10],[20,-10],[-5,-42],[0,-84],[19,-57],[-31,-84],[-37,-21]],[[44806,95506],[-108,246],[0,88],[7,68],[49,6],[42,-37],[20,-141],[22,-214],[-32,-16]],[[45115,94900],[-214,10],[-88,-5],[-61,42],[2,73],[8,73],[61,42],[51,-36],[62,26],[63,21],[22,-63],[10,-58],[35,-36],[73,5],[29,-68],[-53,-26]],[[44958,96470],[-20,15],[13,27],[75,88],[25,7],[37,-9],[11,-45],[-24,-45],[-63,-38],[-54,0]],[[37803,85908],[-58,10],[3,27],[11,28],[-27,-5],[-29,-14],[-18,5],[-14,-1],[-8,14],[-12,54],[14,28],[48,70],[15,38],[-13,18],[-34,-41],[-36,-65],[-16,-39],[-22,-7],[-55,19],[-158,91],[5,55],[-2,46],[46,5],[34,20],[30,25],[33,44],[31,73],[-4,5],[-90,-93],[-56,-31],[-27,-6],[-14,14],[-44,30],[-29,14],[-67,22],[-12,12],[-19,9],[-27,96],[35,115],[23,34],[15,39],[9,51],[-6,22],[-20,-7],[-9,-18],[1,-27],[-11,-20],[-80,-44],[-79,-35],[-38,-34],[-24,-27],[-19,-26],[-29,3],[-41,-6],[-27,-17],[-41,11],[-26,25],[-32,3],[-35,-12],[-25,1],[2,-17],[16,-42],[-27,-3],[-52,-2],[-26,12],[-20,16],[-17,23],[10,29],[83,53],[38,31],[-24,10],[-80,-9],[-14,8],[-53,-5],[2,79],[-13,20],[-1,9],[-18,22],[-18,6],[-11,8],[-90,17],[-12,45],[-6,45],[-17,56],[-43,15],[-24,25],[19,25],[8,31],[-20,15],[-13,22],[2,15],[-16,39],[-5,30],[18,29],[51,33],[17,13],[9,14],[58,24],[-50,17],[-31,2],[-23,-8],[-21,-31],[-19,-21],[-77,-7],[-11,11],[-5,44],[4,35],[32,48],[-37,24],[-33,8],[-39,23],[-35,23],[-30,28],[-29,33],[-10,4],[11,34],[6,28],[1,60],[-12,25],[26,52],[36,56],[78,83],[-83,-40],[-68,-87],[-15,-4],[-5,15],[-26,57],[-19,16],[-9,17],[-39,30],[-17,24],[-24,45],[-34,54],[-48,106],[-78,121],[-20,69],[25,87],[-27,60],[74,28],[106,31],[55,26],[32,8],[68,4],[22,26],[-37,-6],[-25,3],[-2,12],[9,22],[6,28],[-13,-5],[-66,-48],[-97,-38],[-76,-22],[-13,1],[-26,-12],[-16,-4],[-11,4],[-27,36],[-8,24],[49,65],[36,88],[48,58],[33,7],[57,-3],[20,-5],[-7,34],[3,16],[46,20],[53,9],[38,-6],[24,-40],[31,-75],[41,-25],[-2,36],[-21,46],[-8,70],[-27,30],[-22,15],[-61,-7],[-36,51],[-9,19],[0,25],[-37,74],[-12,36],[-19,49],[-10,3],[13,-62],[17,-43],[24,-96],[12,-38],[-16,-31],[-31,-30],[-27,-18],[-64,-21],[14,47],[8,46],[-32,-16],[-30,-34],[-10,-46],[-20,-43],[-57,-103],[-23,-58],[-21,-28],[-24,-8],[-21,23],[-18,52],[-9,42],[-1,107],[3,50],[-10,68],[-31,157],[-7,56],[-52,29],[-1,10],[-14,32],[-10,32],[9,11],[12,9],[78,47],[58,52],[70,83],[28,25],[102,20],[45,3],[-1,14],[-15,6],[-68,-4],[-92,-33],[-16,-11],[-40,-52],[-31,-28],[-87,-64],[-56,0],[-58,77],[-65,-15],[-44,5],[-13,12],[-10,105],[36,122],[-38,1],[-8,5],[-20,28],[-13,8],[9,15],[94,58],[141,113],[61,45],[37,19],[29,22],[34,48],[11,20],[20,17],[40,19],[44,29],[72,65],[9,24],[-15,5],[-34,-22],[-68,-59],[-49,-33],[-166,-149],[-71,-54],[-38,-35],[-30,-33],[-32,-23],[-33,-14],[-71,-11],[-35,-12],[-21,9],[-10,70],[7,42],[-3,41],[18,59],[26,42],[11,23],[5,16],[55,43],[30,19],[21,43],[121,15],[31,-1],[16,6],[13,12],[-12,10],[-36,7],[-97,-1],[-89,7],[-40,7],[-20,-4],[-32,13],[-35,24],[-55,88],[22,113],[2,54],[69,48],[37,16],[53,35],[71,61],[84,37],[43,7],[36,-6],[131,-52],[68,-10],[60,12],[75,-18],[132,-76],[25,11],[-7,19],[-148,80],[1,23],[38,7],[40,23],[-22,14],[-98,-12],[-29,-19],[-95,-10],[-49,16],[-45,8],[-67,35],[-56,-12],[-35,-13],[-62,-13],[-23,-9],[-122,-109],[-51,-22],[-37,7],[26,71],[7,28],[0,30],[11,41],[62,80],[40,86],[16,54],[31,6],[42,-8],[126,-35],[105,-41],[77,-11],[51,-1],[22,13],[17,23],[7,16],[5,33],[6,11],[17,14],[34,50],[11,35],[-11,21],[-24,-2],[-45,-14],[-6,-5],[1,-11],[-44,-55],[-47,-13],[-110,-18],[-50,-1],[-89,25],[-13,10],[-9,19],[-109,-4],[-33,-6],[-26,2],[13,33],[34,36],[48,117],[41,30],[80,28],[84,-4],[145,-91],[44,-8],[40,7],[96,31],[18,12],[34,38],[40,64],[-2,15],[-61,-36],[-33,-9],[-28,0],[26,117],[10,90],[9,23],[82,-7],[111,12],[26,20],[0,8],[-45,12],[-21,25],[-38,-7],[-50,-17],[-62,2],[5,38],[46,82],[5,37],[18,73],[1,38],[24,37],[72,27],[31,15],[1,18],[-43,65],[11,18],[34,17],[13,12],[-9,7],[-31,7],[-49,-14],[-53,-7],[-47,22],[-37,10],[-24,-3],[-63,-37],[-23,-2],[-27,11],[-183,32],[-22,11],[-65,56],[-54,37],[-72,40],[-93,30],[-114,21],[-68,20],[-34,28],[-58,60],[-44,51],[-8,25],[26,31],[26,23],[50,18],[85,-6],[46,-8],[50,-18],[38,-3],[79,5],[80,-11],[48,-13],[63,-25],[172,-109],[72,-38],[32,-4],[129,-41],[20,1],[53,19],[6,12],[-18,13],[-57,9],[-67,45],[-42,35],[-4,58],[5,33],[10,15],[8,50],[-39,30],[-27,9],[-72,44],[-6,11],[34,5],[34,-3],[73,-22],[38,-3],[28,8],[3,9],[-44,25],[-56,45],[-115,7],[-75,-5],[-48,15],[-51,25],[-32,6],[-67,-15],[-34,-2],[-31,5],[-30,79],[8,23],[24,11],[18,25],[12,27],[40,26],[217,57],[55,43],[-2,7],[-37,-8],[-48,-19],[-31,-4],[-128,25],[-20,-6],[-52,-36],[-70,-39],[-32,2],[-44,24],[-7,16],[-3,20],[48,27],[15,14],[31,39],[-2,19],[-52,-11],[-7,18],[1,30],[-5,39],[-13,38],[-43,58],[-18,15],[-15,22],[-33,78],[10,20],[29,15],[5,7],[-69,-13],[-7,-13],[13,-20],[9,-27],[6,-33],[9,-30],[25,-32],[20,-17],[33,-44],[14,-49],[-4,-26],[-26,-26],[-40,-29],[-13,-23],[-5,-24],[-32,-21],[-19,8],[-16,1],[18,-38],[12,-40],[-14,-40],[-38,-24],[-20,0],[-41,-20],[-103,-10],[-36,5],[-66,20],[-78,10],[-31,27],[-40,48],[-21,44],[0,38],[11,28],[22,18],[27,112],[38,91],[96,93],[27,34],[9,18],[0,14],[-15,8],[-118,-115],[-73,-12],[-21,26],[6,46],[13,11],[59,-5],[23,26],[-37,39],[-39,10],[-9,10],[40,29],[93,-2],[21,21],[34,22],[37,41],[14,35],[3,30],[-8,24],[-1,24],[7,24],[-10,27],[-26,29],[-57,28],[-17,-32],[-18,-13],[-25,-3],[-24,13],[-24,5],[-24,12],[-24,4],[-10,10],[-6,27],[-1,35],[28,16],[39,13],[26,25],[17,35],[3,38],[-12,42],[-32,37],[-58,-36],[-23,-9],[-6,26],[-8,19],[-24,26],[-33,19],[-31,13],[-1,19],[7,22],[14,25],[18,53],[20,-4],[16,4],[-9,44],[-16,37],[-19,21],[-1,9],[-4,10],[-14,26],[-16,19],[-29,53],[-20,21],[-26,10],[-28,1],[-45,-14],[-83,-16],[-66,-8],[-11,4],[33,20],[49,21],[64,15],[19,35],[-7,30],[2,29],[-17,30],[17,17],[58,17],[27,2],[26,22],[-74,52],[-77,34],[-20,14],[-17,22],[-15,32],[-24,32],[-33,31],[-48,31],[-125,56],[-42,39],[-40,59],[-19,25],[-21,19],[-87,43],[-10,20],[89,51],[9,20],[-36,63],[-38,45],[-41,17],[-60,8],[-56,20],[-50,32],[-51,24],[-76,22],[-126,58],[-195,61],[-87,36],[-52,13],[-68,4],[-132,33],[-111,11],[-69,-5],[-22,6],[-51,34],[-79,19],[-41,-7],[-51,-37],[-62,-36],[-32,-5],[-49,33],[-24,23],[-23,8],[-23,-7],[-43,-30],[-41,-22],[-61,-26],[-49,-13],[-63,-3],[-16,-9],[-24,0],[-32,8],[-31,17],[-28,25],[-25,14],[-22,2],[-50,-13],[-63,-39],[-29,-9],[-24,4],[-30,12],[-59,31],[-33,-3],[-24,-11],[6,-25],[56,-61],[50,-43],[-42,-5],[-368,58],[-46,14],[-68,36],[-56,21],[-96,56],[-74,30],[-24,24],[-6,16],[23,22],[149,74],[56,15],[116,18],[27,11],[9,9],[-30,16],[-151,-6],[-135,11],[-117,30],[-21,9],[-19,18],[-20,27],[5,29],[28,33],[16,22],[5,12],[-147,-80],[-60,-28],[-48,9],[-34,13],[-16,15],[1,16],[5,12],[10,7],[-78,33],[-35,26],[-4,27],[28,28],[27,20],[27,12],[72,11],[263,21],[188,-20],[64,66],[43,21],[127,22],[195,3],[138,-12],[64,-16],[88,-34],[5,11],[-21,30],[-2,26],[36,45],[16,27],[-11,30],[-38,30],[-69,39],[-36,3],[-41,-9],[-49,-22],[-102,-54],[-49,-12],[-80,-2],[-44,6],[-43,9],[-67,28],[-25,6],[-29,-13],[-35,-31],[-34,-21],[-32,-12],[-30,-6],[-43,3],[-173,48],[-40,21],[-2,32],[-53,31],[-60,6],[-8,10],[77,48],[57,20],[-10,6],[-82,1],[-56,-26],[-32,-4],[-74,-1],[-77,13],[-33,11],[-34,26],[-38,14],[-115,22],[-26,12],[-25,20],[-94,56],[-57,41],[-8,24],[66,50],[3,12],[-28,21],[-12,16],[10,22],[57,49],[22,13],[103,29],[104,42],[37,9],[34,2],[136,-2],[42,10],[36,20],[58,21],[123,31],[272,48],[18,5],[1,9],[-24,24],[-5,12],[55,22],[126,34],[86,17],[55,1],[45,8],[63,21],[35,4],[214,9],[95,-12],[46,0],[30,8],[40,25],[74,61],[38,38],[37,57],[48,90],[35,88],[24,85],[18,52],[13,19],[44,23],[47,19],[79,16],[-7,8],[-34,13],[-31,4],[-29,-2],[-53,-20],[-69,-13],[-67,2],[-48,-4],[-44,-18],[-71,-14],[-48,3],[-86,25],[-43,5],[-110,-2],[-32,9],[-28,18],[-23,26],[-16,33],[2,34],[40,62],[15,17],[107,69],[66,33],[66,24],[48,14],[45,6],[43,15],[80,49],[82,41],[102,77],[50,20],[173,33],[47,1],[40,-8],[38,-18],[106,-76],[9,2],[-19,29],[-39,86],[7,36],[61,38],[25,6],[64,-2],[103,-12],[70,-13],[52,-21],[63,-13],[32,1],[23,10],[33,33],[43,55],[17,68],[-8,80],[-13,59],[-16,37],[9,31],[52,38],[48,27],[114,38],[92,10],[55,-2],[72,-18],[100,-11],[91,-35],[146,-80],[97,-40],[81,-19],[79,-30],[117,-65],[62,-28],[36,-11],[32,-1],[-12,18],[-56,39],[-85,43],[-191,77],[-104,54],[-94,62],[-69,37],[-126,37],[2,14],[151,51],[278,45],[313,35],[105,-4],[184,15],[18,22],[39,10],[172,30],[49,0],[76,-14],[80,-28],[37,-25],[51,-43],[25,-61],[-4,-192],[1,-36],[10,-14],[35,21],[42,38],[37,28],[29,42],[20,57],[12,42],[-49,48],[-2,78],[24,42],[69,0],[284,-144],[111,-31],[127,-78],[149,8],[137,-9],[60,3],[30,12],[-42,32],[-195,88],[-88,69],[-62,86],[-15,46],[47,8],[217,-1],[327,-39],[418,-138],[205,-45],[369,-159],[111,-24],[45,-5],[34,20],[21,21],[1,28],[-18,36],[-10,41],[-3,46],[25,92],[60,30],[26,34],[-24,62],[-70,42],[-271,108],[-1,13],[55,14],[81,8],[671,-25],[116,-10],[50,-9],[21,-12],[28,-6],[144,15],[-3,27],[-18,17],[-779,46],[-145,16],[-74,1],[-77,-12],[-158,-6],[-73,2],[-95,55],[86,67],[72,-2],[137,-26],[82,36],[129,30],[128,11],[278,64],[52,6],[65,-4],[143,-16],[57,-16],[65,-34],[38,-10],[45,-2],[61,-16],[89,50],[81,54],[92,34],[131,-20],[83,-26],[75,-30],[107,-17],[182,-105],[34,0],[16,9],[17,19],[6,29],[22,39],[-16,14],[-152,44],[-29,16],[-29,28],[0,22],[28,18],[30,9],[98,-8],[32,6],[31,15],[37,28],[29,8],[66,0],[101,-18],[88,-1],[32,8],[5,18],[8,11],[10,5],[321,1],[79,4],[63,14],[76,1],[66,-8],[83,-17],[81,1],[122,28],[115,13],[634,-4],[208,-17],[267,-35],[141,-42],[30,2],[191,-16],[182,-20],[302,-52],[42,-17],[-32,-14],[-75,-9],[-386,-17],[-700,-21],[-401,-41],[-127,-2],[-11,-60],[54,-3],[89,8],[314,60],[117,10],[219,-5],[285,-22],[114,8],[205,-6],[239,17],[283,37],[77,-83],[104,-84],[83,9],[70,-4],[24,-28],[39,-11],[80,6],[245,-24],[168,-43],[63,-20],[30,-29],[18,-23],[-27,-28],[-105,-50],[-133,-47],[-179,-35],[-207,-23],[-1588,-74],[-54,-18],[-31,-45],[21,-59],[74,-9],[173,33],[300,31],[221,-1],[527,-27],[155,-70],[82,-108],[183,24],[39,19],[29,32],[22,34],[18,37],[19,25],[21,13],[45,11],[105,14],[274,13],[66,-4],[48,-50],[10,-30],[3,-38],[-1,-47],[-6,-56],[-24,-56],[-76,-97],[-61,-53],[-66,-38],[-126,-87],[-44,-23],[-138,-102],[-35,-47],[-2,-34],[24,-7],[40,33],[15,23],[26,24],[205,64],[44,18],[133,75],[86,29],[70,30],[37,21],[206,149],[107,45],[112,0],[20,-76],[135,-11],[59,3],[94,-19],[41,-15],[70,-7],[73,-18],[63,19],[19,12],[62,55],[83,49],[77,61],[26,15],[41,13],[42,5],[115,29],[29,2],[62,-9],[273,-5],[150,-15],[208,-40],[145,-23],[67,-20],[97,-42],[79,-44],[37,-13],[-2,-14],[-27,-20],[-195,-68],[-64,-45],[-185,-86],[-90,-30],[-98,-11],[-109,-3],[-71,-12],[-10,-12],[50,-36],[22,-25],[-3,-22],[-53,-34],[-20,-7],[-192,-25],[-97,-42],[-126,-5],[-89,4],[-123,-45],[48,-37],[44,-16],[137,-33],[1,-19],[-66,-39],[-89,-46],[-105,-32],[-40,-5],[-50,8],[-46,-2],[-101,-14],[-97,-3],[-173,21],[-93,24],[-49,8],[-62,-2],[-24,-10],[-98,-57],[-48,-39],[-31,-40],[-13,-43],[5,-48],[12,-32],[19,-18],[23,-10],[41,-6],[89,6],[35,-3],[11,-10],[19,-30],[-3,-29],[-17,-40],[-12,-47],[-9,-53],[5,-29],[36,-7],[17,2],[19,-9],[23,-22],[17,-22],[11,-24],[-6,-19],[-23,-16],[-52,-17],[-128,-34],[-13,-11],[-10,-21],[-7,-31],[-16,-29],[-23,-25],[-22,-16],[-42,-7],[-54,0],[-61,-15],[-144,-86],[-2,-10],[54,-27],[-2,-25],[-67,-103],[-18,-52],[-14,-70],[-24,-60],[-33,-48],[-33,-56],[-31,-63],[5,-49],[41,-34],[56,27],[69,89],[74,38],[81,-12],[70,-17],[90,-35],[76,-22],[65,-28],[26,-24],[27,-34],[1,-21],[-48,-12],[-16,4],[-119,56],[-58,14],[-77,-17],[-67,-25],[60,-102],[65,-47],[117,-21],[62,-22],[44,-29],[35,-14],[47,6],[64,28],[88,2],[40,-14],[28,-26],[13,-49],[-3,-72],[-9,-54],[-16,-36],[-32,-48],[-27,-9],[-37,3],[-35,9],[-32,18],[-49,13],[-98,15],[-98,31],[-56,8],[-117,-4],[-127,-20],[-5,-26],[-182,-92],[-37,1],[-50,32],[-71,30],[-41,0],[-62,-38],[-15,-15],[1,-14],[45,-33],[18,-8],[24,-6],[80,-8],[36,-9],[33,-102],[52,-63],[23,-13],[19,-5],[65,2],[83,22],[28,-17],[61,-21],[36,-5],[43,0],[49,-8],[67,-58],[-26,-73],[42,-59],[67,-61],[15,-22],[7,-40],[1,-27],[5,-24],[9,-22],[9,-43],[9,-64],[-2,-52],[-15,-41],[-27,-29],[-42,-18],[-34,5],[-26,27],[-37,30],[-48,32],[-80,3],[-117,-93],[-52,-4],[-42,-10],[-46,-40],[-66,-25],[-59,10],[-103,47],[37,-31],[54,-37],[33,-20],[25,-4],[27,5],[39,15],[88,42],[23,6],[20,-3],[16,-12],[19,-36],[21,-60],[-3,-51],[-26,-42],[-23,-27],[-18,-11],[0,-10],[49,-10],[69,54],[22,68],[32,79],[56,26],[64,-26],[52,-74],[72,-134],[31,-14],[39,-32],[17,-40],[-4,-47],[-9,-34],[-12,-21],[-15,-14],[-27,-9],[-50,-6],[-111,14],[-58,0],[7,-46],[-117,-40],[-133,-15],[-125,31],[-104,48],[34,66],[20,75],[-51,49],[-11,1],[18,-76],[-15,-29],[-57,-36],[-40,-16],[-3,-10],[19,-8],[13,-16],[6,-23],[-7,-24],[-19,-24],[-11,-20],[-2,-17],[18,-19],[38,-24],[41,-11],[191,-5],[77,-13],[182,-55],[8,-17],[-31,-99],[-17,-95],[-35,-17],[-191,-4],[-62,-15],[-90,-43],[-87,-53],[-45,0],[-178,45],[-68,31],[-147,86],[-110,131],[-51,-54],[-30,-26],[-32,-14],[-31,-2],[-30,9],[-34,21],[-56,48],[-68,47],[-47,23],[-1,-6],[27,-28],[41,-32],[103,-95],[37,-24],[-4,-17],[-65,-15],[-79,-32],[-39,-24],[-60,-58],[-20,-9],[-90,-15],[-29,4],[-67,32],[-99,21],[-59,18],[-82,34],[29,-37],[157,-56],[17,-18],[-32,-34],[-20,-12],[-37,-3],[-56,7],[-56,-1],[-58,-10],[-24,-13],[8,-15],[13,-14],[20,-13],[18,1],[44,38],[33,3],[88,-10],[89,30],[64,13],[48,3],[175,46],[37,51],[58,20],[131,16],[126,-8],[65,-7],[53,-48],[70,-34],[59,-39],[69,-13],[40,-52],[111,-58],[71,-12],[44,-28],[4,-117],[5,-51],[-19,-140],[-57,-32],[11,-74],[-15,-59],[-57,22],[-58,40],[-139,60],[-130,40],[-50,35],[-59,27],[-81,112],[-52,139],[-23,69],[-44,4],[-57,-19],[-49,-19],[-24,-34],[-168,-45],[-61,-32],[-35,1],[-125,-47],[50,-23],[23,-2],[51,12],[31,17],[114,44],[92,8],[33,19],[70,28],[48,7],[7,-7],[5,-12],[33,-170],[-14,-45],[-38,-20],[-80,-32],[-21,-15],[23,-28],[76,26],[50,28],[26,-10],[43,-43],[49,-22],[123,-65],[59,-36],[82,-35],[93,-48],[24,-17],[85,-26],[18,-8],[36,-85],[29,-10],[85,-5],[-15,-33],[-83,-74],[-43,-24],[-10,-14],[4,-26],[2,-43],[17,-80],[20,74],[13,35],[19,10],[17,2],[58,33],[58,-18],[15,-84],[8,-77],[-5,-68],[6,-104],[-2,-36],[14,-30],[14,-127],[14,-38],[-29,-34],[-88,-15],[-35,17],[-87,-6],[0,30],[-5,35],[0,24],[-6,21],[-4,126],[-25,-31],[-1,-26],[-7,-26],[-15,-135],[-22,-33],[-70,8],[-69,-5],[-38,5],[-129,62],[-50,56],[-44,84],[-28,78],[-10,73],[-31,59],[-51,46],[-61,37],[-70,28],[-62,37],[-53,45],[-58,34],[-64,25],[-90,11],[-133,-4],[-89,28],[-22,-2],[-21,-15],[16,-41],[103,-19],[79,-4],[105,3],[64,-11],[24,-24],[16,-42],[9,-61],[-21,-49],[-76,-54],[-39,-25],[-117,-48],[-39,-11],[-97,-3],[-75,5],[-98,24],[-55,5],[-115,3],[-27,-9],[30,-26],[49,-14],[34,-18],[4,-33],[-13,-49],[-13,-34],[-21,-26],[-75,-48],[-31,-16],[-141,-51],[-10,-9],[33,1],[89,18],[26,0],[146,-45],[116,3],[236,41],[19,-1],[16,-6],[15,-16],[16,-24],[-19,-23],[-54,-23],[-84,-22],[-36,-15],[-35,-23],[-64,-55],[-19,-57],[68,-22],[30,28],[36,60],[33,36],[76,25],[94,-13],[72,15],[148,60],[26,3],[217,-34],[197,-68],[103,-24],[138,-15],[246,7],[22,-11],[-8,-24],[-14,-20],[-41,-28],[-50,-19],[-31,-5],[-27,-14],[-59,-13],[-15,-10],[21,-47],[-10,-7],[-52,-1],[-88,-30],[-72,2],[-15,-4],[14,-11],[14,-22],[16,-32],[-9,-23],[-32,-13],[-24,-5],[-85,19],[-14,-2],[13,-14],[7,-21],[2,-28],[-21,-24],[-43,-19],[-81,-53],[-35,-15],[-74,-12],[-15,-7],[30,-40],[-4,-17],[-49,-43],[-76,-27],[-10,-15],[-7,-39],[-6,-16],[-20,-23],[-71,-43],[-51,-21],[-25,-18],[-31,-29],[-40,-15],[-47,-2],[-45,-11],[-74,-31],[-51,-11],[-163,-53],[-76,-9],[-66,-19],[-137,-52],[-64,-16],[-45,-20],[-49,-5],[-80,12],[-43,1],[-27,-8],[-24,-16],[-40,-43],[-34,-3],[-112,34],[3,-16],[29,-37],[-1,-26],[-67,-27],[-36,-6],[-52,10],[-70,29],[-90,60],[-109,92],[-53,31],[4,-29],[12,-29],[20,-28],[5,-20],[-13,-13],[-16,-6],[-20,0],[-3,-8],[33,-43],[25,-45],[-2,-43],[-31,-41],[-26,-23],[-22,-7],[-130,-101],[-37,-13],[-16,-12],[-14,-19],[-38,-83],[-15,-26],[-30,-33],[-13,-6],[-4,-13],[6,-22],[-9,-35],[-22,-50],[-76,-137],[-61,-129],[-27,-42],[-20,-17],[-12,6],[-30,-3],[-15,-23],[-13,-41],[-15,-31],[-16,-21],[-122,-92],[-32,-17],[-28,10],[-34,-4],[-70,49],[-12,18],[-45,40],[2,-21],[8,-12],[6,-16],[16,-21],[34,-109],[-27,-22],[-25,-26],[-63,-43],[-68,-72],[-25,-20],[-5,59],[3,17],[-39,29],[1,-21],[-4,-19],[-27,-76],[-8,-13],[-14,3],[-30,-14],[-30,6],[-26,35],[-11,18],[-47,-49],[-23,1],[-4,-41],[-22,-38],[-30,-17],[-41,2],[-25,-23],[-55,24],[-13,45],[44,62],[12,25],[-8,32],[11,40],[84,129],[57,65],[-3,11],[-77,14],[-68,23],[-66,7],[-29,-7],[46,-38],[66,-36],[-33,-34],[-27,-37],[-29,-100],[-19,-41],[-72,47],[-33,16],[21,-52],[63,-49],[4,-17],[0,-59],[-121,-51],[-125,-8],[-91,-15],[-152,-18],[-59,0],[-5,-20],[149,-91],[22,-16],[-21,-32],[-31,-19],[-48,-67],[-25,-23],[-63,-32],[-115,35],[-59,-16],[-57,12],[-1,-39],[17,-29],[17,-70],[38,6],[48,22],[38,-54],[24,-90],[43,-46],[19,-35],[8,-33],[-27,-33],[-55,-48],[-62,-8],[4,-37],[-27,-27],[-56,8],[-26,18],[-28,9],[-112,10],[113,-71],[40,-34],[18,20],[39,5],[58,-19],[-10,-120],[26,-98],[3,-22],[-62,-59],[-1,-55],[-36,-15],[-40,3],[-2,-60],[-27,-37],[5,-24],[8,-21],[-25,-38],[-22,-47],[-31,-40],[-17,4],[-50,-3],[-60,4],[-49,53],[-20,17],[-23,12],[9,-34],[14,-21],[45,-38],[82,-47],[-2,-34],[-22,-14],[-52,-92],[-18,-2],[-23,-23],[-72,8],[-30,9],[-88,-6],[-30,8],[-26,-4],[24,-26],[51,-23],[57,-23],[87,-18],[-3,-33],[-22,-27],[13,-41],[-10,-29],[-4,-35],[-20,-81],[23,-55],[26,-27],[-3,-36],[12,-57],[-38,-51],[-33,2],[-45,-11],[-16,-23],[73,-21],[-7,-38],[-19,-48],[-21,-103],[-42,-177],[-20,-176],[-91,-144],[-32,-4],[-8,-6],[-45,8],[-69,33],[-54,11],[-36,0],[-5,-16],[30,-27],[46,-11],[37,-18],[66,-17],[23,-32],[16,-34],[-3,-19],[0,-22],[12,-120],[-31,-42],[-24,-37],[-82,5],[-15,13],[-79,40],[5,-19],[57,-53],[20,-27],[-13,-6],[-23,-2],[-33,-18]],[[99995,40672],[0,11],[4,20],[0,-31],[-4,0]],[[0,40893],[0,7],[0,2],[9,16],[6,0],[-3,-14],[-12,-11]],[[26126,60189],[-4,16],[10,32],[13,18],[12,-2],[-3,-14],[-7,-15],[-21,-35]],[[57029,72636],[2,45],[10,12],[31,-22],[-1,-15],[-15,-16],[-27,-4]],[[96371,50145],[-6,2],[-3,14],[2,15],[7,5],[5,-4],[0,-12],[-5,-20]],[[97114,53907],[-6,2],[6,13],[4,18],[6,53],[14,19],[10,22],[-3,-23],[-15,-23],[-10,-63],[-6,-18]],[[98029,52305],[-6,4],[21,28],[0,-4],[2,-8],[-17,-20]],[[97991,52256],[-6,12],[8,1],[14,22],[16,1],[-2,-12],[-10,-1],[-20,-23]],[[98061,51551],[-16,37],[-9,24],[0,11],[5,-7],[5,-12],[3,-9],[11,-30],[1,-14]],[[98053,51486],[7,9],[2,11],[-1,37],[4,-3],[1,-15],[1,-22],[-4,-14],[-10,-3]],[[98052,50966],[-6,5],[19,42],[8,29],[-11,21],[-5,-5],[-1,0],[-4,21],[4,0],[8,-8],[15,-23],[-2,-16],[-5,-19],[-20,-47]],[[98465,49980],[-4,15],[5,18],[-8,75],[-12,10],[-8,23],[4,0],[12,-21],[10,-9],[6,-50],[4,-45],[-9,-16]],[[98549,49723],[-7,4],[-2,12],[-2,30],[-7,31],[8,-8],[6,-24],[2,-15],[2,-30]],[[96892,54792],[-27,6],[-12,11],[1,9],[22,-9],[20,-8],[-4,-9]],[[97709,54602],[-7,2],[-10,14],[-10,6],[-12,-1],[-6,5],[-5,19],[11,-13],[20,1],[19,-33]],[[97564,54659],[-9,3],[-29,21],[-17,28],[4,9],[14,-20],[35,-30],[46,14],[-7,-9],[-17,-9],[-12,-7],[-8,0]],[[527,41985],[-16,7],[-9,34],[4,14],[10,-7],[10,-24],[17,-12],[0,-9],[-16,-3]],[[10888,39881],[-11,1],[-3,4],[1,21],[7,26],[6,21],[11,21],[21,20],[11,8],[3,-5],[-4,-3],[-35,-42],[-10,-29],[-5,-21],[1,-6],[5,-5],[2,-11]],[[12135,39472],[-1,12],[-7,6],[-11,13],[-15,15],[-8,2],[-4,8],[6,5],[9,-7],[12,-13],[15,-13],[9,-15],[-5,-13]],[[11952,39594],[-26,56],[10,-4],[16,-41],[0,-11]],[[11518,38104],[3,15],[-6,32],[-6,5],[6,10],[9,-25],[2,-26],[-8,-11]],[[10924,39561],[-6,10],[-22,21],[-2,17],[27,-27],[3,-21]],[[10882,39679],[-10,11],[-10,30],[-17,37],[-4,15],[13,-14],[9,-22],[17,-41],[2,-16]],[[10408,40929],[7,47],[7,6],[-9,-47],[-5,-6]],[[10170,40596],[-20,20],[-25,8],[9,5],[15,0],[6,-4],[15,-29]],[[10108,40613],[-27,35],[11,0],[15,-22],[12,-10],[-11,-3]],[[9706,41051],[-5,26],[-17,41],[-7,18],[8,-3],[23,-56],[-2,-26]],[[9582,40787],[-10,30],[-4,26],[-6,30],[-9,21],[-1,20],[0,31],[10,-47],[9,-39],[8,-31],[8,-31],[1,-10],[-6,0]],[[98058,51264],[5,12],[31,14],[3,3],[5,-7],[0,-7],[-2,-3],[-16,-1],[-12,-6],[-7,-3],[-7,-2]],[[2893,83969],[-13,2],[-37,37],[3,16],[36,-12],[21,8],[18,-6],[3,-14],[-31,-31]],[[29822,62312],[-28,10],[-29,19],[-9,-5],[-6,3],[-17,18],[15,14],[15,5],[17,-2],[35,-32],[12,-14],[-5,-16]],[[56801,72457],[-17,13],[5,32],[11,14],[13,-11],[2,-14],[-3,-25],[-11,-9]],[[89491,66239],[-18,63],[5,3],[10,-10],[12,-36],[-4,-19],[-5,-1]],[[86352,72657],[-15,18],[-2,19],[8,16],[18,10],[9,-15],[-5,-30],[-13,-18]],[[6442,0],[97,4],[-51,63],[-96,57],[-129,42],[84,12],[184,1],[-37,30],[-101,17],[-366,19],[-1463,148],[-32,9],[-21,12],[-38,14],[-60,14],[-223,9],[-61,12],[-29,17],[15,7],[17,-3],[340,13],[38,17],[2,11],[-18,9],[-59,10],[-137,49],[-44,22],[23,34],[28,15],[105,11],[31,22],[-20,41],[-241,83],[-162,29],[-107,-19],[-203,-1],[-251,-12],[-68,12],[-70,33],[-82,58],[-42,16],[-80,48],[-106,47],[-561,115],[-98,31],[-702,180],[-29,31],[-18,32],[324,-72],[61,-1],[72,19],[55,-5],[75,18],[84,9],[219,-56],[442,-91],[118,-32],[63,-23],[52,-8],[51,-16],[63,9],[38,-7],[92,5],[419,10],[166,-9],[195,-44],[75,-73],[56,-32],[107,25],[90,31],[173,26],[56,-11],[93,-38],[105,-64],[445,18],[187,-3],[133,-29],[485,96],[75,21],[111,66],[-91,21],[-65,7],[-25,34],[44,14],[140,18],[272,29],[161,27],[86,73],[369,112],[117,49],[108,81],[-242,162],[-232,139],[74,44],[73,33],[35,27],[29,39],[-76,45],[-71,34],[-117,33],[-440,79],[-150,35],[60,52],[80,40],[169,18],[1079,61],[1087,76],[27,39],[-144,45],[-123,11],[-45,13],[-17,29],[-1,39],[-14,7],[-46,4],[-196,45],[-41,17],[-65,42],[-17,34],[39,84],[60,36],[104,19],[75,7],[225,-1],[88,10],[37,12],[-7,40],[-25,19],[-1,25],[38,13],[47,0],[13,30],[-26,48],[-67,26],[-176,44],[-400,66],[-155,51],[-89,39],[-74,45],[-75,22],[-52,23],[11,29],[-24,46],[-29,8],[-127,-19],[-227,10],[-278,42],[-192,48],[-251,131],[-99,65],[73,45],[80,29],[334,66],[50,23],[68,59],[-112,25],[-95,-2],[-84,17],[-342,4],[-193,-8],[-162,74],[-121,73],[-34,37],[-26,65],[41,97],[34,70],[-4,84],[9,117],[58,39],[45,7],[105,-90],[90,-6],[131,17],[83,47],[44,17],[81,4],[156,-21],[71,9],[80,-5],[251,-59],[55,-28],[30,-21],[9,-32],[31,-31],[107,-16],[299,18],[78,-8],[212,-87],[180,-94],[62,-23],[102,-16],[36,14],[31,35],[97,43],[218,54],[52,52],[-29,30],[-84,30],[-51,11],[-28,35],[2,49],[17,45],[57,12],[104,-63],[130,-58],[45,-9],[35,2],[65,21],[78,15],[149,-126],[88,-8],[110,-1],[21,20],[-13,33],[-18,36],[-23,5],[-3,33],[48,31],[33,13],[-13,23],[-53,34],[-31,6],[-28,15],[9,23],[35,10],[49,35],[-15,41],[2,52],[-20,28],[-116,54],[-169,89],[-157,41],[-350,-32],[-124,20],[-81,24],[-88,31],[103,32],[108,24],[32,20],[41,41],[48,30],[39,8],[128,-16],[289,-111],[61,-11],[198,-52],[55,-2],[68,11],[-55,50],[-61,35],[-145,99],[16,47],[94,78],[245,6],[107,27],[139,60],[179,99],[154,12],[192,31],[65,-23],[164,-95],[103,-33],[35,-3],[37,3],[-97,119],[63,15],[80,13],[66,30],[49,25],[168,114],[150,31],[426,50],[146,-45],[123,-6],[27,14],[25,61],[65,118],[55,42],[185,45],[145,-3],[104,-48],[97,-32],[89,-15],[90,2],[134,27],[178,10],[83,14],[96,-27],[236,-9],[183,-38],[113,0],[153,37],[83,5],[299,60],[234,12],[177,-26],[286,16],[290,-12],[117,-22],[652,13],[518,57],[71,19],[111,62],[61,57],[41,17],[87,7],[149,-13],[205,-42],[176,16],[337,-24],[32,19],[32,107],[55,169],[47,51],[77,-13],[233,-97],[5,-41],[-24,-29],[-38,-12],[-11,-83],[31,-23],[52,7],[33,-35],[-73,-62],[-52,-36],[-33,-15],[-23,-118],[-31,-39],[-4,-43],[50,0],[50,18],[44,5],[140,30],[255,36],[84,18],[48,5],[31,25],[-43,58],[-14,48],[26,40],[-7,70],[-24,69],[49,52],[46,-11],[79,7],[45,-25],[69,-23],[66,-11],[63,-47],[21,-100],[-19,-103],[-65,-75],[-121,-68],[-137,-108],[29,-51],[71,17],[309,-5],[199,9],[125,-13],[158,-27],[125,-41],[149,-8],[93,15],[87,-21],[339,87],[138,49],[79,-24],[128,21],[71,-19],[133,30],[84,4],[97,-13],[296,-6],[22,-56],[90,-85],[73,-34],[93,14],[67,27],[106,-10],[153,36],[153,-11],[64,6],[29,24],[25,52],[-47,29],[-134,37],[-123,77],[-55,16],[-88,-10],[-41,14],[-44,25],[57,29],[70,95],[-29,88],[-33,18],[-81,-3],[-98,-31],[-39,22],[-64,11],[-25,80],[-68,151],[-36,43],[-108,39],[-93,19],[-90,25],[-27,59],[17,82],[108,17],[104,-8],[58,-15],[67,-7],[77,-17],[50,-23],[40,-13],[75,-1],[260,23],[35,15],[31,29],[55,6],[51,-4],[74,18],[-85,24],[-91,45],[-137,55],[-115,29],[-209,21],[-107,-7],[-67,11],[-239,-6],[-65,21],[-46,60],[-65,142],[-18,74],[44,28],[29,30],[71,3],[103,-11],[34,-15],[25,-44],[-25,-45],[-33,-24],[20,-21],[105,-7],[52,-13],[45,-6],[97,21],[142,8],[71,-20],[85,-15],[125,24],[445,-13],[54,-7],[54,-40],[46,-25],[49,10],[145,-47],[77,-37],[79,-19],[67,-5],[75,9],[98,31],[81,13],[58,-11],[123,-7],[94,-37],[73,15],[77,43],[244,30],[163,-9],[298,-76],[69,-7],[136,45],[44,74],[-6,83],[39,20],[33,-9],[60,58],[82,-5],[51,-11],[31,37],[28,79],[97,6],[70,-12],[92,-50],[0,-42],[-38,-45],[-63,-110],[39,-65],[59,6],[75,-13],[91,28],[58,1],[101,-96],[68,-5],[53,6],[172,86],[50,9],[61,-39],[89,-92],[78,-52],[114,-33],[99,-9],[116,-43],[64,-36],[146,-1],[62,-15],[176,-73],[160,36],[83,34],[40,62],[-20,94],[-7,95],[24,39],[42,8],[191,-106],[-12,63],[-16,49],[-49,84],[7,62],[41,20],[80,-33],[96,-17],[79,-36],[155,-132],[50,-115],[105,-29],[73,5],[83,19],[111,16],[86,-5],[79,21],[24,-62],[-74,-91],[-29,-58],[24,-16],[45,14],[37,18],[129,-9],[104,41],[89,15],[84,43],[69,-4],[53,-8],[72,-34],[69,19],[41,-7],[56,-2],[297,149],[67,-3],[85,8],[107,35],[83,16],[68,-1],[121,54],[193,-6],[98,28],[191,34],[128,38],[228,100],[92,60],[100,133],[63,132],[70,176],[-34,114],[-37,51],[-31,55],[-73,114],[-20,143],[7,135],[-26,126],[-26,94],[-54,157],[-66,101],[-77,137],[0,125],[-19,97],[-46,70],[-20,56],[36,11],[33,17],[89,22],[213,-38],[19,56],[54,41],[38,51],[-13,79],[-47,32],[-56,67],[26,54],[45,0],[22,59],[-17,57],[21,72],[41,92],[28,34],[-51,55],[-48,73],[12,56],[24,58],[29,82],[40,59],[26,20],[-7,19],[-61,22],[-56,3],[-101,-36],[-16,7],[-5,19],[-6,40],[10,98],[16,93],[14,13],[40,12],[38,70],[35,4],[22,-23],[7,-94],[12,-22],[-4,-45],[18,-16],[22,30],[41,14],[16,-32],[15,-15],[7,27],[-5,76],[-7,31],[-5,49],[9,23],[10,39],[-17,79],[6,31],[37,47],[18,10],[35,0],[63,-31],[30,-3],[22,15],[14,31],[11,101],[-27,35],[0,33],[16,19],[28,71],[42,4],[41,-7],[40,14],[-14,29],[-12,44],[45,21],[29,7],[77,-28],[30,-15],[28,35],[-9,35],[-30,20],[-5,31],[7,40],[48,-20],[11,7],[13,36],[-8,17],[-6,23],[63,5],[9,9],[13,28],[19,10],[56,-2],[12,15],[6,30],[-31,8],[-39,29],[-6,83],[9,59],[35,51],[42,35],[78,-31],[60,7],[24,-31],[33,-8],[8,35],[-15,31],[-10,51],[96,59],[31,-9],[38,14],[-14,46],[21,59],[27,8],[19,-51],[26,-10],[29,12],[71,60],[35,9],[35,3],[36,35],[9,41],[20,29],[62,38],[25,29],[55,97],[-10,25],[16,21],[163,88],[80,9],[133,52],[81,64],[51,25],[45,71],[55,10],[128,49],[96,79],[133,54],[62,-5],[25,-16],[16,-65],[26,-79],[40,-39],[-15,-35],[-38,3],[-41,-7],[-9,39],[15,28],[-15,27],[-37,-7],[-49,-14],[-33,-19],[-43,-42],[-34,-24],[-113,-63],[-74,-90],[-53,-96],[-32,-65],[-47,-4],[-11,-24],[19,-18],[15,-8],[35,-8],[-6,-28],[-24,-8],[3,-21],[25,-33],[5,-47],[-29,-8],[-44,51],[-50,4],[-39,24],[-25,34],[-24,-7],[-18,-49],[11,-53],[-21,-32],[-24,15],[-9,64],[-23,10],[-32,2],[-77,-69],[-28,-2],[-14,-35],[-45,-40],[-29,-31],[-71,-105],[-40,-44],[-76,-25],[-30,3],[-18,11],[-27,7],[-28,0],[-9,-27],[44,-90],[-24,-32],[-53,2],[-26,26],[-21,-24],[-17,-24],[-17,-35],[26,-74],[41,-34],[30,-5],[11,-28],[-65,-11],[-44,-65],[-20,-45],[-23,-39],[3,-45],[34,-68],[46,-49],[46,-4],[60,15],[14,14],[59,7],[26,47],[19,3],[17,-8],[27,-2],[15,31],[20,11],[28,-8],[54,1],[15,-28],[-17,-31],[-33,-43],[-31,24],[-27,-4],[-15,-23],[29,-48],[-11,-43],[-24,-43],[-29,27],[-4,47],[-40,28],[-39,11],[-26,-47],[-41,-15],[-6,-55],[-17,-51],[-24,16],[-9,63],[-67,51],[-35,7],[-70,-13],[-24,1],[-28,-11],[-20,-44],[29,-31],[10,-43],[-1,-32],[-6,-13],[-5,-26],[32,-39],[1,-51],[-25,1],[-21,15],[-81,135],[-51,59],[-22,53],[-53,12],[-38,1],[-46,-21],[18,-25],[9,-38],[-28,-15],[-35,-58],[-23,-49],[-14,-10],[-18,-28],[75,-64],[11,-25],[4,-41],[-24,-23],[-56,-9],[-99,44],[-43,1],[-15,30],[-22,-3],[-13,-53],[-16,-46],[-24,-31],[7,-47],[19,-12],[-15,-19],[-31,-16],[-21,-18],[46,-17],[9,-16],[2,-22],[-72,-17],[-47,-4],[-28,19],[-26,-9],[-17,-31],[-5,-40],[5,-49],[9,-36],[7,-13],[8,-29],[-43,-76],[-5,-17],[-3,-35],[21,-32],[16,-47],[-23,-23],[-25,-49],[26,-10],[44,-2],[48,6],[72,43],[20,7],[9,-16],[6,-26],[-18,-24],[-130,-71],[-24,-29],[33,-16],[67,-4],[26,-22],[-16,-25],[-24,-24],[-28,-55],[23,-21],[72,-33],[131,-43],[97,-15],[-22,50],[-3,62],[68,51],[35,16],[162,30],[44,-1],[34,-13],[-13,-26],[-37,10],[-65,-18],[-100,-54],[-18,-24],[7,-43],[85,-35],[27,-28],[-37,-83],[6,-54],[43,-59],[57,-66],[28,-45],[43,-25],[70,-63],[38,-63],[12,-144],[57,-119],[67,-55],[8,-47],[-22,-47],[-57,27],[-32,-27],[-12,-51],[40,-35],[64,-43],[138,4],[4,-47],[-32,-28],[-25,-35],[-31,-19],[-52,-12],[-13,-43],[22,-59],[72,26],[53,3],[55,-10],[17,-79],[65,-98],[16,-46],[-12,-44],[-40,-14],[-25,-34],[-36,-31],[-41,-16],[-76,-81],[-33,-9],[-14,-16],[65,-8],[45,-2],[97,66],[37,-15],[24,-43],[12,-51],[-24,-43],[-169,-25],[-82,-24],[-88,-68],[101,-31],[74,10],[37,-11],[51,-24],[56,12],[44,25],[33,-1],[31,-12],[4,-43],[4,-74],[7,-55],[-18,-38],[-88,-26],[-64,1],[-2,-78],[96,-59],[60,31],[53,-15],[0,-94],[41,-104],[36,-6],[30,47],[38,0],[15,-55],[-17,-94],[-29,-51],[-78,21],[-44,17],[-35,-35],[-58,-30],[-51,-4],[-45,46],[-52,35],[-83,18],[-78,8],[26,-41],[35,-23],[14,-71],[28,-74],[65,19],[90,-42],[56,-43],[24,-60],[-31,-94],[-51,-35],[-32,-16],[-56,36],[-39,0],[-41,-16],[-14,-43],[-27,-21],[144,-3],[45,-11],[33,-40],[-52,-50],[-95,7],[-41,-19],[-35,-37],[142,-23],[59,13],[93,39],[22,-39],[-37,-39],[-48,-63],[-100,-20],[-75,-1],[-98,23],[-26,13],[-41,7],[3,-38],[26,-26],[66,-97],[11,-37],[-21,-51],[-58,-38],[-65,-15],[-54,33],[-39,94],[-50,27],[-51,8],[-30,-4],[3,-47],[12,-51],[-20,-35],[-44,18],[-57,-16],[-53,-28],[-48,-30],[98,-16],[65,-2],[46,-48],[-17,-23],[-88,-10],[-86,-21],[-117,-51],[86,-22],[81,1],[57,-5],[47,-9],[13,-28],[-29,-31],[-192,-76],[-201,-94],[-74,-29],[-77,-17],[-179,-81],[-113,-36],[-318,-57],[-497,-143],[-169,-101],[-50,-79],[-32,-12],[-95,-26],[-95,-12],[-251,-8],[-257,38],[-208,8],[-113,-13],[-386,68],[-49,-3],[-60,-13],[-48,0],[-36,10],[-78,4],[-263,-26],[-27,-43],[33,-78],[96,-95],[160,-166],[86,-36],[53,-38],[100,-45],[224,-2],[306,-34],[174,-32],[-6,-62],[-105,-118],[-65,-46],[-155,-82],[-213,-40],[-163,11],[-289,68],[-362,61],[-538,58],[-118,27],[-139,27],[-79,-27],[-60,-26],[-133,-3],[39,-23],[537,-159],[458,-117],[54,-30],[65,-20],[-6,-74],[-26,-59],[-90,-51],[-234,-4],[-293,-40],[-146,-1],[-145,40],[-309,116],[-189,87],[-132,98],[-91,78],[-102,78],[7,-49],[18,-49],[50,-59],[73,-65],[5,-26],[-35,-4],[-53,31],[-45,-28],[-16,-34],[19,-45],[28,-44],[93,-97],[80,-25],[106,-59],[258,-109],[44,-37],[78,-80],[16,-61],[76,-60],[52,-9],[47,3],[16,51],[-3,62],[20,16],[74,16],[193,-22],[821,-12],[78,-37],[31,-46],[21,-96],[-87,-115],[-59,-49],[-97,-30],[-88,-23],[-133,-10],[-275,9],[-269,-1],[209,-55],[203,-46],[282,8],[112,13],[97,22],[41,-39],[77,-80],[45,-25],[31,-27],[43,-87],[17,-52],[42,-60],[30,-49],[44,-34],[75,-16],[82,29],[159,13],[154,-46],[99,-14],[132,38],[105,53],[221,48],[41,21],[60,16],[91,-4],[36,-12],[46,-53],[43,-71],[63,-37],[67,-26],[38,-2],[126,-23],[164,22],[73,-22],[12,-41],[39,-34],[49,-10],[665,-185],[229,-36],[353,-19],[274,-2],[38,-12],[53,-35],[-105,-25],[-112,-4],[-169,10],[-60,-5],[-129,10],[-67,-7],[-61,11],[-91,-26],[-166,-19],[37,-28],[62,-6],[126,-10],[172,5],[15,-44],[-158,-11],[-336,-9],[-35,-7],[-26,-23],[50,-11],[31,-13],[16,-31],[-36,-81],[56,-57],[39,-9],[41,8],[71,-22],[69,-31],[146,-3],[173,42],[85,-2],[228,26],[207,-4],[289,50],[48,-2],[44,-6],[-80,-45],[-355,-113],[-127,-22],[-51,-14],[29,-56],[46,-57],[94,-62],[59,-91],[57,-20],[110,42],[27,-31],[5,-63],[-29,-51],[-37,-29],[-26,-28],[-17,-36],[46,-33],[123,-19],[163,-7],[151,-1],[93,-10],[341,200],[137,96],[67,41],[56,29],[288,123],[67,37],[76,55],[141,8],[193,88],[171,68],[68,13],[51,6],[60,15],[150,-6],[107,11],[190,44],[145,27],[154,24],[174,4],[463,45],[132,-20],[146,-46],[95,0],[125,15],[86,19],[39,-55],[20,-71],[-42,-66],[-70,-41],[-19,-68],[95,-34],[108,10],[206,34],[164,42],[45,29],[64,-8],[109,36],[136,150],[171,151],[144,97],[93,113],[77,65],[86,49],[58,26],[132,4],[189,79],[275,88],[211,-42],[223,-65],[110,53],[87,9],[74,23],[74,17],[53,47],[71,39],[54,57],[271,28],[284,37],[38,13],[37,-8],[98,11],[125,31],[172,10],[90,-4],[82,85],[164,16],[175,34],[73,24],[57,6],[1413,65],[61,32],[124,26],[47,63],[-190,26],[-58,26],[-65,7],[-38,-9],[-164,7],[-1303,97],[-27,8],[-45,59],[9,107],[-39,84],[-91,23],[-94,-2],[-119,-11],[-314,-45],[-125,-4],[-335,70],[-221,79],[-145,26],[-104,53],[-97,41],[-7,94],[23,87],[187,254],[117,120],[78,10],[71,55],[73,122],[59,57],[135,68],[59,18],[212,83],[58,3],[95,-14],[108,75],[329,160],[75,61],[91,37],[266,134],[238,67],[118,19],[144,41],[160,60],[139,58],[497,113],[298,29],[203,34],[144,-20],[143,7],[123,28],[57,24],[83,61],[276,-29],[178,42],[74,4],[78,19],[-31,20],[-28,4],[-28,28],[-37,60],[37,75],[28,37],[82,46],[43,66],[40,97],[135,190],[38,27],[86,8],[73,-4],[83,2],[210,-50],[39,19],[67,56],[56,70],[120,103],[23,31],[-10,51],[-180,-22],[-136,-34],[-131,18],[-17,28],[28,22],[49,9],[19,34],[-45,29],[-81,16],[-36,23],[3,52],[20,77],[44,22],[36,32],[96,108],[57,33],[164,29],[190,-45],[44,12],[46,61],[-47,93],[-36,35],[0,30],[100,-13],[93,-22],[109,4],[129,93],[181,77],[88,33],[78,18],[42,78],[62,148],[46,77],[-1,47],[-14,38],[-47,-11],[-43,-5],[-101,39],[-125,62],[-38,71],[-18,62],[39,34],[38,21],[41,5],[73,-25],[93,-65],[46,-24],[53,-47],[40,4],[47,66],[38,87],[32,27],[49,29],[54,42],[-24,41],[-58,22],[-8,24],[25,28],[47,6],[59,-60],[80,-40],[55,-14],[47,-33],[74,-111],[89,-185],[41,-1],[78,17],[84,7],[56,52],[12,132],[22,59],[-8,61],[-38,62],[-33,45],[6,33],[28,25],[37,8],[64,25],[99,-28],[54,-6],[81,16],[84,37],[86,25],[67,-19],[29,-66],[-33,-66],[-54,-50],[-49,-60],[-13,-66],[2,-36],[47,-9],[416,8],[55,-7],[72,0],[78,-21],[132,8],[118,24],[56,0],[97,-22],[69,-45],[143,13],[40,15],[39,61],[41,11],[48,-50],[15,-113],[22,-53],[61,-49],[60,42],[39,49],[94,95],[107,74],[82,42],[200,72],[99,46],[194,61],[250,33],[446,112],[147,11],[240,30],[123,30],[125,25],[77,81],[175,-62],[60,-7],[82,49],[90,123],[131,-51],[75,-79],[93,-62],[208,-107],[66,-24],[138,-23],[37,18],[65,71],[67,103],[42,43],[61,37],[69,56],[-18,30],[-39,11],[-36,16],[9,31],[122,7],[64,-105],[66,-34],[80,-33],[186,26],[159,3],[138,-21],[68,3],[61,78],[99,28],[56,-34],[35,-115],[127,-32],[266,-53],[30,13],[33,61],[23,75],[54,12],[69,40],[37,-6],[52,-48],[-18,-118],[-29,-108],[35,-87],[31,-48],[40,-9],[67,-2],[82,6],[51,-4],[261,44],[32,96],[42,110],[103,140],[40,-11],[31,-14],[70,-69],[42,-34],[9,-51],[-46,-48],[13,-32],[46,-26],[148,-42],[48,9],[71,43],[72,88],[39,101],[61,-5],[59,-21],[41,-53],[0,-99],[57,-69],[46,-42],[120,-47],[128,-11],[90,-28],[146,10],[71,31],[46,8],[80,26],[84,58],[52,24],[192,53],[145,59],[154,105],[150,63],[230,32],[64,12],[88,0],[217,74],[82,44],[46,15],[52,54],[28,104],[22,65],[-4,64],[-20,82],[-46,73],[-47,107],[21,122],[37,50],[96,56],[95,11],[108,-7],[94,-12],[8,-52],[-41,-56],[-52,-56],[-31,-24],[11,-47],[68,-7],[149,10],[43,-43],[106,-190],[26,-89],[37,-26],[58,13],[125,-1],[87,13],[71,1],[37,-9],[38,-43],[72,-50],[72,37],[52,17],[63,-4],[99,-58],[99,-138],[107,-68],[7,43],[-14,55],[44,48],[53,82],[77,106],[61,108],[15,149],[29,122],[49,59],[48,37],[75,40],[92,9],[88,88],[62,35],[130,49],[163,48],[114,135],[39,17],[58,21],[107,8],[173,44],[54,6],[91,34],[80,80],[58,23],[104,-4],[88,46],[74,2],[68,23],[10,50],[-32,33],[-1,45],[38,58],[30,21],[90,-4],[75,-49],[55,-3],[14,-28],[-48,-35],[-32,-61],[55,-55],[49,-37],[59,6],[71,34],[70,-24],[31,-50],[0,-79],[15,-42],[49,37],[27,78],[-8,100],[3,62],[117,100],[46,74],[-82,16],[-58,-10],[-32,27],[-37,76],[101,62],[116,-2],[67,-53],[144,-85],[80,2],[72,-13],[15,26],[-27,125],[3,70],[-60,40],[-17,89],[25,94],[71,52],[97,24],[208,144],[55,31],[137,31],[160,14],[199,51],[355,-34],[95,-23],[59,-28],[57,-46],[74,-77],[107,-97],[139,-30],[39,-30],[51,-82],[-55,-54],[-45,-5],[-87,32],[-60,33],[-42,-14],[41,-56],[45,-35],[7,-47],[-24,-68],[-164,-133],[98,-39],[59,31],[54,57],[55,25],[37,10],[130,3],[74,22],[56,-16],[55,-36],[81,-36],[116,-39],[143,-152],[111,16],[60,33],[171,11],[147,-68],[83,-24],[240,-21],[143,-43],[91,51],[61,21],[128,11],[65,-11],[178,-56],[315,-57],[217,-29],[191,-1],[91,-25],[166,-26],[63,-21],[159,16],[74,22],[70,49],[39,-12],[27,-60],[-15,-105],[29,-71],[23,-70],[33,-59],[21,-51],[-15,-42],[-46,-37],[-64,-82],[4,-71],[27,-45],[-32,-54],[24,-77],[4,-46],[-22,-37],[-50,-22],[-85,-4],[-44,-21],[-7,-57],[22,-42],[49,-22],[14,-46],[-7,-68],[-22,-58],[-45,-26],[-49,-6],[-91,11],[-66,39],[-42,-34],[-31,-35],[-95,-80],[-44,-52],[-41,-57],[108,-32],[79,-57],[172,6],[55,25],[73,27],[39,-5],[24,-58],[-14,-91],[-3,-71],[-87,-196],[-29,-33],[-41,-53],[-48,-42],[-39,-21],[-75,-62],[-46,-111],[-50,-93],[-73,-158],[-42,-171],[-18,-101],[-28,-106],[-62,-182],[-40,-31],[-69,-74],[20,-50],[54,-4],[66,-12],[89,-38],[118,79],[62,48],[13,100],[-13,99],[38,59],[87,80],[205,58],[42,5],[68,21],[60,71],[53,72],[93,46],[77,73],[12,53],[32,12],[96,51],[25,38],[30,28],[21,66],[8,121],[24,91],[47,122],[38,88],[37,56],[99,29],[43,35],[57,75],[39,45],[-5,93],[22,85],[61,51],[78,95],[98,14],[74,49],[79,-34],[95,-47],[161,14],[76,-22],[59,26],[52,73],[19,89],[61,52],[69,-2],[114,90],[118,79],[96,19],[77,62],[55,105],[59,80],[73,78],[20,137],[46,69],[85,60],[71,34],[298,102],[229,68],[231,84],[71,-1],[93,47],[153,1],[40,5],[53,95],[114,89],[71,28],[90,77],[73,7],[103,-14],[87,-21],[78,0],[113,63],[176,11],[54,30],[38,27],[249,90],[93,-17],[132,15],[80,-4],[76,-11],[96,-3],[166,31],[70,21],[132,78],[146,18],[64,21],[82,17],[67,-30],[48,-27],[29,-6],[39,-6],[95,32],[79,-9],[101,-34],[67,-27],[35,0],[62,25],[76,61],[71,25],[67,-15],[46,-26],[81,-36],[126,6],[120,13],[101,29],[87,30],[80,-47],[92,-17],[149,83],[57,-18],[39,-22],[32,-10],[39,-70],[142,13],[126,59],[108,44],[105,29],[83,40],[122,153],[-2,47],[17,28],[26,13],[194,-2],[60,13],[79,40],[137,-31],[131,-48],[34,5],[53,1],[93,-30],[105,-58],[93,-16],[385,-146],[218,-35],[110,-49],[28,-17],[32,-49],[58,-5],[46,20],[61,-75],[148,-57],[154,-28],[100,44],[170,126],[52,58],[-10,125],[89,140],[151,68],[188,36],[116,31],[154,29],[74,-29],[38,-22],[57,-26],[68,-78],[106,-177],[79,-64],[69,-5],[60,-10],[63,-40],[90,-125],[-54,-110],[-46,-42],[-196,-47],[-86,-38],[-75,-24],[-21,-92],[31,-44],[81,21],[95,11],[74,19],[68,28],[59,42],[140,21],[91,35],[82,21],[57,36],[58,-5],[58,-35],[46,3],[124,-11],[58,25],[51,2],[52,-19],[54,-28],[54,-6],[70,16],[98,44],[125,47],[117,15],[28,0],[24,-11],[-117,-54],[-187,-73],[-100,-72],[59,-30],[352,80],[160,59],[142,27],[35,20],[116,92],[42,25],[125,32],[163,36],[124,40],[84,41],[63,4],[49,-30],[63,-33],[62,8],[76,31],[53,75],[31,54],[57,18],[73,17],[59,-18],[96,-40],[67,-21],[58,-155],[136,-136],[49,-36],[119,13],[128,-54],[55,7],[52,16],[47,-10],[70,33],[73,171],[67,169],[66,73],[40,32],[50,13],[77,36],[104,10],[77,-14],[167,-13],[136,42],[154,-7],[76,49],[82,8],[111,-43],[32,-30],[61,-43],[15,-42],[16,-76],[30,-2],[103,75],[56,14],[106,120],[56,-31],[127,-52],[51,-15],[100,-87],[51,19],[42,40],[124,-4],[116,-36],[48,-29],[59,-52],[37,-12],[29,14],[240,-20],[104,-38],[79,-45],[278,-22],[107,-48],[64,23],[127,-8],[52,-39],[46,-45],[101,-38],[55,8],[78,30],[78,43],[78,0],[37,-37],[13,-90],[58,2],[64,41],[56,-10],[20,-63],[-30,-84],[-71,-116],[-29,-98],[-59,-89],[10,-41],[59,-21],[59,62],[132,44],[69,56],[119,21],[117,-20],[83,-75],[154,-127],[6,-45],[13,-47],[-5,-42],[-23,-49],[82,-56],[73,-9],[59,5],[247,-54],[118,21],[106,0],[126,8],[97,-1],[77,-10],[91,20],[74,26],[36,-16],[15,-141],[5,-83],[42,-32],[44,32],[32,41],[195,-19],[78,-2],[74,-22],[75,-53],[72,23],[43,32],[58,21],[17,52],[7,87],[-2,85],[34,16],[35,-16],[46,-40],[105,-128],[80,-83],[34,-40],[49,-32],[99,-77],[136,-31],[133,-63],[155,4],[121,-78],[82,62],[43,14],[63,-17],[76,-53],[60,-13],[205,-88],[110,-31],[41,-65],[54,-61],[0,-63],[24,-80],[123,-62],[48,-60],[59,-80],[107,-302],[56,-53],[81,5],[76,-78],[24,10],[3,31],[-69,204],[-5,110],[54,63],[127,17],[98,-117],[90,-70],[60,-13],[120,3],[113,75],[86,-27],[138,-9],[179,-44],[77,8],[137,-19],[167,-63],[95,-24],[20,-26],[44,-41],[22,-53],[24,-47],[58,-54],[58,-8],[115,-46],[241,-140],[87,-41],[51,-29],[25,36],[7,74],[44,15],[47,-110],[49,-83],[22,-74],[-51,-59],[-74,12],[-52,0],[-53,-99],[-22,-170],[49,3],[36,16],[8,-63],[-22,-52],[-44,-21],[-76,39],[-93,28],[-102,11],[-99,50],[-39,3],[-41,-3],[53,-52],[55,-48],[125,-40],[156,-64],[4,-39],[-37,-49],[-46,-103],[-142,-89],[-83,65],[-98,15],[-49,-38],[-98,5],[-194,-15],[-76,80],[-119,45],[4,-36],[102,-135],[109,-30],[108,-36],[26,-34],[-49,-32],[-66,4],[-83,-61],[-158,10],[-75,-4],[-44,-25],[-39,-10],[31,-23],[38,-61],[-54,-52],[-50,-26],[-51,12],[-56,-20],[-27,58],[-2,125],[-32,111],[-34,5],[-54,-13],[-17,-96],[38,-165],[26,-52],[-21,-46],[-36,-15],[73,-139],[62,-97],[38,-31],[3,-47],[-30,-21],[-83,18],[-41,-9],[-46,6],[-77,21],[-66,6],[-66,-26],[-56,2],[-50,86],[-44,21],[-36,-26],[-28,-104],[-57,-32],[-58,-47],[-41,-52],[-20,-204],[-34,-42],[-51,2],[-39,-16],[-49,17],[-64,9],[-214,-69],[34,-36],[54,5],[188,-10],[80,-37],[13,-92],[32,-38],[63,-43],[48,-21],[18,-31],[-20,-63],[-27,-57],[-59,-63],[17,-31],[64,-11],[27,-141],[-42,-62],[20,-53],[5,-52],[-43,-49],[-33,-24],[-11,-51],[64,-31],[47,-10],[66,-5],[45,-56],[58,-84],[42,-70],[3,-116],[41,-69],[77,-45],[-2,-46],[54,-14],[53,-4],[19,-42],[-17,-52],[-89,-62],[-37,-46],[89,-7],[92,-47],[117,53],[62,58],[40,51],[30,-13],[3,-53],[36,-90],[151,-87],[84,-27],[81,-14],[71,2],[20,-52],[-22,-47],[-56,3],[-90,-9],[-66,40],[-47,34],[-412,-19],[-93,-16],[-111,-52],[-110,-24],[-169,-52],[-71,-31],[-185,121],[-60,88],[-25,5],[-44,-21],[-2,-62],[86,-137],[39,-36],[0,-36],[-25,-19],[-35,1],[-53,27],[-99,21],[-88,-42],[-108,-90],[23,-60],[29,-33],[-7,-40],[-121,-76],[-40,-4],[-25,-14],[30,-28],[66,-2],[7,-33],[-23,-27],[-109,-31],[7,-41],[59,-20],[77,7],[48,-29],[0,-48],[-49,-26],[-57,-20],[-392,-122],[-57,-33],[3,-44],[137,-11],[410,10],[27,-14],[-10,-35],[-23,-45],[23,-31],[61,-22],[2,-33],[-30,-14],[-61,-16],[-67,-4],[4,-36],[92,-32],[31,-4],[3,-121],[-3,-52],[-49,-25],[-18,-16],[-2,-42],[122,-30],[187,-130],[41,0],[74,-25],[119,-67],[42,-39],[68,-21],[9,-32],[42,-28],[166,-90],[22,-40],[-348,-75],[-350,-55],[32,-49],[378,5],[102,-32],[45,10],[26,33],[204,39],[207,25],[65,-18],[278,-145],[129,-55],[82,-20],[60,-5],[44,-22],[43,-46],[-10,-43],[18,-20],[29,-8],[55,-28],[63,10],[73,33],[51,-8],[92,-46],[-35,-36],[-20,-17],[-24,-33],[-23,-11],[-74,-8],[-41,0],[-42,7],[-4,-25],[51,-26],[74,-27],[480,-22],[137,-47],[135,26],[61,-8],[51,-16],[19,-47],[69,-16],[106,-37],[148,-18],[118,1],[145,-51],[73,-1],[45,-29],[330,-17],[49,-23],[38,-37],[78,-16],[85,-4],[464,-60],[174,-33],[40,2],[40,-5],[125,-27],[127,-15],[61,-37],[-99447,-41],[89,-8],[94,-26],[207,-2],[194,-12],[50,-33],[65,-21],[137,18],[110,9],[89,1],[823,-47],[843,-84],[172,-26],[154,-63],[162,9],[957,-48],[148,-1],[586,-50],[1026,-118],[89,-4]],[[99664,92429],[-40,106],[-6,28],[15,34],[41,43],[17,31],[96,56],[86,73],[47,11],[47,34],[32,8],[0,-323],[-33,-10],[-65,-45],[-137,-11],[-81,-32],[-19,-3]],[[53163,85447],[-1,17],[-5,23],[-65,23],[-12,-1],[-25,14],[-15,3],[-31,8],[-25,67],[-28,55],[-3,23],[0,103],[-8,46],[-2,50],[-17,-41],[9,-64],[-21,-27],[-26,-13],[2,-38],[11,-7],[3,-39],[-7,-58],[-52,-129],[-11,-14],[-7,-17],[-27,11],[-34,-36],[-32,-5],[-12,40],[-46,54],[-22,-3],[20,-27],[19,-34],[-11,-23],[-11,-15],[-18,-7],[-67,-46],[23,-30],[-20,-34],[-23,-5],[-13,-16],[-4,-22],[-69,-63],[-113,-159],[-59,-45],[-40,-47],[-36,1],[-45,-40],[-114,-35],[-75,16],[-53,-14],[-28,28],[-4,18],[2,11],[5,13],[-10,5],[-21,2],[-9,-13],[-1,-30],[-10,-8],[-39,17],[-10,16],[14,31],[25,28],[-5,6],[-5,17],[-11,3],[-35,-5],[-29,6],[-93,63],[-21,34],[-75,54],[-34,57],[-19,63],[2,57],[9,91],[15,22],[68,-32],[68,-53],[10,3],[22,41],[41,34],[-12,9],[-61,-38],[-23,21],[-36,43],[0,22],[17,22],[5,30],[-8,29],[4,38],[27,41],[41,42],[30,40],[31,24],[-4,9],[-34,-16],[-34,-27],[-39,-44],[-48,-36],[-35,-14],[-17,-12],[-26,-11],[-27,-52],[-29,-22],[-53,-2],[-11,37],[15,135],[16,66],[17,46],[27,8],[20,34],[16,0],[13,-16],[54,-15],[26,43],[35,6],[62,44],[-1,8],[-42,-10],[-26,-1],[-37,-11],[-20,8],[-9,33],[15,29],[59,70],[21,31],[11,29],[-2,19],[10,41],[58,71],[47,32],[15,-28],[-13,-87],[0,-36],[38,127],[16,30],[19,22],[45,14],[13,20],[-53,-7],[-127,-48],[-54,-43],[-15,-33],[-37,-51],[-17,-32],[-8,-48],[-21,-26],[-29,-9],[-39,-61],[-17,-49],[-39,-38],[-25,-30],[-8,-11],[-14,-29],[-11,-2],[-10,17],[-1,38],[3,60],[19,44],[9,42],[-12,40],[9,25],[16,-1],[31,-12],[33,2],[54,32],[-9,18],[-23,3],[-44,-3],[-36,31],[-29,60],[-13,82],[9,23],[105,83],[28,37],[-16,4],[-39,-46],[-57,-28],[-35,39],[-19,43],[-11,89],[4,46],[-4,61],[24,19],[27,-10],[26,-4],[61,5],[133,37],[85,-22],[35,2],[54,31],[46,3],[35,-23],[19,-28],[3,-36],[16,-25],[11,8],[-9,29],[-2,45],[140,51],[17,20],[-56,7],[-16,46],[30,70],[-3,10],[-31,-38],[-15,-52],[6,-41],[-6,-20],[-29,-9],[-64,-3],[-41,18],[-38,9],[-13,14],[4,30],[-7,6],[-16,-27],[-14,-53],[-30,-13],[-84,20],[-121,-11],[-54,-27],[-35,3],[-61,47],[-24,38],[-8,75],[3,33],[47,14],[24,-1],[22,18],[-19,11],[-28,23],[-19,46],[-29,14],[-19,39],[-5,59],[6,40],[15,14],[37,-9],[97,6],[91,-41],[62,-23],[125,11],[73,37],[-13,11],[-80,-22],[-73,1],[-130,42],[-53,13],[-57,-6],[-30,13],[-18,41],[13,79],[27,17],[15,-20],[18,-2],[18,33],[17,19],[14,43],[51,40],[22,3],[31,19],[20,-5],[12,-19],[16,-15],[35,2],[103,32],[11,9],[20,27],[-65,-12],[-54,-19],[-35,-5],[-5,23],[13,21],[20,23],[10,37],[22,17],[24,-1],[50,7],[35,9],[60,-6],[90,-15],[58,-35],[21,3],[23,10],[11,12],[-46,15],[-2,21],[5,16],[74,29],[81,6],[-14,23],[-177,-35],[-46,24],[-36,0],[-24,-14],[-68,-16],[-13,12],[13,40],[41,67],[3,17],[19,16],[106,39],[51,45],[23,6],[22,-4],[35,6],[67,-13],[30,-57],[28,-17],[87,-71],[-4,20],[-75,96],[-29,24],[-21,47],[7,44],[24,30],[86,16],[15,17],[2,29],[-13,20],[-32,-1],[-26,13],[-7,32],[10,21],[50,39],[27,13],[47,14],[81,-31],[6,-17],[-22,-39],[2,-21],[20,-3],[46,66],[55,9],[23,14],[26,9],[38,-59],[16,-20],[12,-7],[12,-50],[12,-2],[17,24],[30,13],[42,9],[69,-13],[32,10],[15,-2],[-14,45],[-10,13],[15,39],[15,16],[48,28],[46,12],[30,26],[40,25],[-6,19],[-12,23],[-26,1],[-10,12],[33,30],[45,32],[-8,13],[-34,14],[-26,-11],[-38,-25],[-45,-39],[15,-12],[22,-33],[-31,-45],[-166,-118],[-78,-34],[-37,5],[-9,32],[-16,24],[-18,49],[-31,-1],[-17,-11],[-8,16],[13,53],[26,41],[44,32],[20,38],[20,60],[63,57],[91,141],[75,45],[27,50],[44,21],[38,39],[29,4],[54,34],[30,42],[-20,2],[-47,-27],[-27,-10],[2,44],[13,45],[39,42],[186,120],[19,-20],[22,-35],[56,8],[64,68],[49,74],[-26,-13],[-29,-30],[-57,-42],[-26,-7],[-15,5],[-8,28],[-20,10],[-18,-7],[-18,20],[-3,50],[23,73],[19,48],[20,37],[78,104],[17,57],[36,30],[46,-6],[14,8],[-16,38],[-50,29],[-3,19],[167,49],[80,-2],[24,24],[43,16],[33,30],[-17,13],[-81,-28],[-51,-12],[-23,0],[-18,-9],[-64,-4],[-14,119],[10,64],[24,-1],[5,61],[28,36],[39,8],[19,16],[28,31],[46,-7],[48,7],[-12,15],[-59,19],[-14,33],[20,18],[23,13],[20,3],[40,64],[24,27],[26,-4],[38,28],[37,-10],[35,19],[49,12],[178,5],[5,26],[-38,6],[-132,7],[-67,-1],[-29,-7],[-10,10],[2,15],[24,25],[12,27],[49,67],[58,45],[44,-11],[46,-43],[34,-5],[15,-14],[25,-59],[11,-2],[-5,57],[32,46],[-8,12],[-49,-16],[-37,17],[-29,34],[-8,32],[18,31],[17,16],[-11,18],[-74,-49],[-51,-11],[-21,7],[11,44],[-6,35],[70,87],[23,10],[39,-7],[35,-24],[30,3],[32,14],[-5,23],[-69,9],[-18,20],[7,19],[47,20],[48,37],[54,10],[43,28],[8,-7],[8,-10],[15,-103],[39,-83],[15,-3],[-15,71],[14,20],[17,16],[6,17],[-20,6],[-17,26],[-24,81],[9,21],[51,43],[64,10],[68,-30],[24,-1],[40,8],[67,25],[40,10],[20,0],[5,12],[-19,8],[-6,8],[-15,5],[-62,-14],[-172,5],[-16,14],[-3,25],[18,35],[20,20],[65,35],[68,5],[72,63],[28,47],[15,72],[44,59],[111,33],[4,15],[-12,30],[1,55],[31,64],[20,22],[9,3],[24,-21],[29,-44],[45,-26],[59,-4],[16,12],[-46,26],[-35,33],[-3,33],[17,18],[25,-2],[33,4],[30,22],[4,16],[1,21],[8,22],[44,52],[136,33],[10,-13],[-7,-100],[-16,-65],[0,-47],[27,47],[35,129],[27,61],[30,35],[22,8],[21,18],[28,11],[9,-14],[9,-32],[-16,-113],[2,-36],[-17,-48],[-65,-107],[3,-13],[15,5],[25,17],[80,102],[70,-13],[1,8],[-22,30],[-28,29],[-8,35],[4,94],[21,37],[60,-4],[37,5],[17,-17],[36,2],[25,67],[50,6],[44,-45],[52,-30],[43,-43],[12,12],[-23,101],[-25,36],[-54,19],[-58,45],[-15,20],[3,15],[50,15],[68,-17],[59,38],[17,-10],[46,19],[28,-26],[17,8],[11,35],[73,22],[46,-20],[25,-21],[12,-41],[17,-80],[36,-43],[23,-21],[27,-6],[12,22],[-24,26],[-7,24],[12,61],[14,24],[78,90],[66,47],[39,4],[68,104],[20,20],[18,4],[-5,26],[-37,16],[-2,32],[50,38],[60,65],[30,4],[18,-18],[59,-29],[35,-33],[26,-17],[17,3],[14,25],[17,12],[37,-6],[22,-17],[18,-2],[15,-9],[4,-22],[-32,-24],[-55,-62],[-54,-71],[-18,-37],[-17,-98],[-43,-63],[-3,-44],[17,-20],[47,16],[57,59],[15,62],[143,169],[68,93],[76,77],[43,16],[21,-51],[-17,-67],[-32,-43],[24,-19],[-5,-51],[-7,-28],[-5,-29],[0,-26],[23,7],[89,53],[23,58],[21,43],[10,37],[35,35],[66,0],[3,14],[-80,49],[-9,22],[27,30],[73,56],[38,-7],[23,-12],[91,-10],[69,-40],[-2,-63],[-16,-26],[-15,-16],[-89,-48],[-15,-23],[28,-8],[60,23],[16,-21],[-19,-54],[-4,-81],[-7,-47],[0,-44],[8,-23],[24,92],[8,24],[36,34],[13,70],[34,83],[39,49],[23,13],[75,-2],[33,-18],[28,-41],[21,-16],[67,-17],[24,-22],[4,-13],[16,-2],[45,30],[30,6],[48,-48],[-10,-36],[3,-11],[58,2],[48,-14],[92,-72],[10,-34],[-5,-41],[-132,-46],[-57,-43],[-94,-17],[-318,29],[7,-31],[221,-69],[13,-19],[-7,-42],[-1,-33],[5,-22],[16,-21],[27,-10],[55,5],[27,-11],[19,17],[7,56],[16,12],[31,-16],[13,-60],[9,-6],[15,43],[31,-4],[33,4],[43,-7]],[[58574,91814],[50,-9],[112,-47],[26,4],[34,15],[34,56],[25,10],[33,-14],[9,15],[-17,47],[4,24],[113,-51],[48,-37],[105,-32],[18,-18],[2,-30],[-5,-26],[-23,-15],[-44,2],[-161,41],[-23,-25],[19,-21],[47,-25],[13,-45],[72,7],[69,-17],[32,5],[6,-14],[-22,-37],[10,-10],[77,36],[36,10],[19,-10],[3,-29],[-13,-38],[-1,-28],[-24,-68],[-36,-21],[-16,-29],[54,18],[28,19],[53,94],[16,12],[152,2],[34,-6],[142,-44],[40,-4],[46,5],[16,21],[16,6],[158,-50],[211,-111],[309,-185],[174,-164],[20,-35],[63,-20],[14,13],[35,-11],[205,-150],[70,-8],[-9,32],[-12,29],[18,-6],[24,-22],[38,-59],[48,-43],[48,-65],[41,-25],[36,-10],[30,-18],[56,-18],[26,-159],[20,-35],[0,-70],[36,-29],[27,-5],[-1,-52],[-22,-123],[-24,-52],[-186,-225],[-116,-87],[-226,-99],[-176,-38],[-72,-3],[-138,19],[-75,20],[-93,57],[-86,28],[-60,12],[-110,5],[-239,56],[-41,19],[-150,108],[-60,-30],[-35,-6],[-24,38],[10,9],[5,13],[-85,31],[-70,2],[-37,26],[-46,20],[-20,-12],[-11,0],[-92,47],[-41,38],[-43,67],[10,24],[13,15],[-148,39],[-140,5],[25,-18],[60,-10],[39,-27],[44,-38],[-10,-52],[62,-51],[47,-49],[2,-15],[18,-11],[70,-14],[12,-45],[-11,-18],[9,-25],[53,-28],[31,-7],[38,-17],[-17,-35],[-32,-22],[-33,-10],[16,-9],[41,3],[152,-56],[80,-58],[81,-104],[26,-52],[2,-29],[-4,-28],[-12,-31],[-5,-31],[-28,-91],[-20,-32],[-38,-36],[36,-69],[37,-66],[37,-107],[7,-44],[1,-67],[33,-26],[-13,-10],[-13,-19],[3,-87],[46,-71],[70,-46],[41,-9],[59,19],[43,-26],[96,-87],[43,-91],[18,-19],[97,-34],[72,-21],[111,-55],[19,-2],[54,47],[92,33],[29,46],[-3,38],[-23,69],[-7,67],[-31,27],[-28,19],[-86,-14],[-39,2],[-30,18],[-40,48],[-75,116],[-40,39],[-13,24],[-14,33],[2,54],[33,-1],[37,30],[27,110],[46,14],[25,-1],[108,-51],[134,-136],[29,-14],[31,-2],[51,3],[9,-18],[27,-21],[20,-3],[123,-43],[142,-85],[53,4],[21,47],[4,21],[59,47],[40,8],[57,-17],[10,14],[-19,69],[-26,61],[-39,38],[-68,114],[-28,56],[-13,58],[9,52],[10,37],[142,91],[51,55],[50,71],[23,14],[83,20],[111,60],[85,81],[84,122],[36,32],[28,-3],[38,-19],[42,-35],[57,-7],[55,6],[64,-4],[88,-55],[14,-18],[14,-24],[-28,-46],[-3,-30],[23,14],[32,7],[29,-9],[28,-26],[20,-29],[25,-25],[7,34],[4,28],[-13,73],[34,101],[26,45],[48,112],[-14,73],[-2,85],[-7,39],[-31,57],[-61,40],[-61,12],[-20,39],[4,45],[17,65],[50,137],[52,193],[2,44],[-5,25],[4,25],[-7,59],[-9,43],[-213,167],[-13,16],[-7,22],[23,5],[16,-1],[160,-78],[35,-4],[251,22],[123,-19],[103,-40],[74,-111],[76,-102],[70,-88],[2,-72],[-73,-15],[-70,-4],[-180,-35],[-43,-41],[-120,-125],[-11,-39],[11,-36],[55,-40],[118,-58],[52,-117],[37,-58],[28,-22],[27,-6],[60,0],[42,-15],[12,-11],[17,11],[38,4],[224,62],[44,27],[15,41],[16,137],[20,47],[19,59],[-7,36],[-2,41],[112,39],[104,27],[50,-9],[13,30],[-32,57],[-19,28],[16,13],[24,-16],[32,-9],[56,9],[215,116],[84,65],[50,26],[80,58],[38,19],[67,8],[71,24],[78,43],[105,37],[17,2],[21,-6],[43,-43],[-16,-24],[-12,-26],[21,-14],[17,-7],[21,8],[22,18],[54,26],[15,34],[-21,13],[-27,51],[-32,11],[-26,-2],[95,73],[202,108],[108,49],[107,5],[85,-7],[-32,-16],[-140,-23],[-21,-11],[0,-14],[34,-8],[14,-16],[-11,-19],[-11,-6],[-16,-55],[-21,-44],[44,-58],[4,-60],[-28,-31],[-39,12],[-34,-21],[-62,-14],[-14,-19],[-9,-26],[40,-7],[31,2],[110,-17],[15,-2],[37,19],[37,4],[45,5],[23,11],[23,-12],[44,-53],[40,11],[17,102],[63,63],[74,52],[72,4],[69,37],[33,7],[64,-15],[96,-3],[81,-31],[60,-8],[88,52],[203,147],[17,-33],[33,49],[157,52],[38,1],[1,-20],[14,-45],[30,-27],[42,-66],[-20,-18],[-21,-10],[-31,-45],[-3,-102],[59,-26],[81,-29],[34,0],[28,17],[9,10],[10,15],[8,29],[5,24],[-21,56],[8,60],[74,-4],[91,17],[41,34],[49,65],[33,54],[-21,94],[-53,-21],[-91,205],[-47,80],[30,36],[78,24],[71,76],[27,15],[29,3],[210,-52],[239,-12],[203,-40],[230,-84],[112,-58],[93,-66],[-9,-46],[38,13],[82,-40],[56,-17],[57,-24],[22,-33],[75,-24],[92,-52],[95,-33],[68,-11],[41,-71],[136,-104],[25,-39],[119,-65],[59,-53],[37,21],[91,129],[54,149],[32,78],[-60,4],[-45,-23],[-29,6],[-32,23],[-52,60],[-66,100],[-13,109],[-18,35],[-64,30],[-42,32],[-156,65],[-28,-23],[-8,-35],[-10,-25],[-16,33],[-10,29],[0,48],[8,61],[26,101],[40,-5],[21,15],[26,46],[-12,38],[-14,28],[3,45],[25,121],[11,142],[-21,35],[-19,23],[-89,-24],[-33,13],[-8,27],[-2,22],[25,36],[25,60],[-43,-13],[-15,24],[36,34],[42,85],[99,39],[74,38],[116,80],[86,80],[56,101],[38,94],[62,225],[58,165],[98,169],[61,16],[23,-3],[4,-12],[-14,-15],[-4,-20],[26,-8],[42,-1],[79,11],[134,-7],[234,14],[33,-7],[87,-48],[47,5],[96,-23],[52,-27],[50,-31],[-7,-124],[-10,-83],[-35,-156],[-14,-40],[-56,-113],[-26,-74],[-42,-52],[-60,-36],[-8,-22],[-5,-32],[59,-89],[140,-92],[34,-111],[8,-83],[-9,-217],[-13,-32],[-26,-34],[-25,-42],[16,-61],[20,-224],[4,-184],[-16,-62],[-8,-133],[0,-44],[14,-66],[28,-56],[37,-35],[105,-64],[99,-78],[7,-25],[5,-30],[-35,-31],[-55,-80],[-35,-67],[-3,-54],[12,-70],[-6,-64],[-23,-58],[-33,-42],[-99,-65],[-207,-343],[-50,-40],[-84,13],[23,-49],[29,-70],[-4,-46],[-54,2],[-77,-49],[-35,-33],[-60,-17],[-45,17],[-50,32],[7,27],[10,12],[35,20],[34,26],[-17,5],[-14,0],[-38,-34],[-45,-6],[-52,40],[-41,45],[-19,9],[-38,-18],[-146,8],[-38,-7],[-18,-17],[10,-13],[11,-25],[15,-49],[14,-37],[60,-40],[81,-16],[78,-49],[99,-35],[224,15],[59,-5],[58,-15],[97,-52],[42,4],[71,47],[17,103],[9,33],[257,145],[48,32],[77,80],[25,53],[29,144],[25,51],[167,166],[26,43],[5,77],[-3,53],[-10,52],[-30,86],[-34,50],[-33,69],[24,142],[28,54],[151,66],[129,23],[144,44],[58,10],[40,-8],[41,-48],[36,-72],[104,-107],[35,-75],[7,-91],[-4,-222],[-20,-96],[41,-25],[20,-22],[51,-33],[27,-32],[27,-11],[59,-7],[168,11],[92,7],[-9,14],[-14,11],[-78,4],[-110,24],[-159,43],[-19,94],[4,58],[36,108],[25,19],[31,7],[36,15],[-11,70],[-14,62],[-34,88],[-37,161],[-51,1],[-39,32],[-189,94],[-179,70],[-123,10],[-39,-8],[-102,-72],[-66,-16],[-125,32],[-107,-17],[-40,16],[-16,33],[32,130],[-17,51],[-47,67],[-28,54],[5,56],[70,221],[29,58],[75,102],[38,79],[-9,44],[-161,246],[-43,88],[-19,28],[-39,33],[-60,39],[-18,35],[163,237],[74,41],[103,26],[50,23],[87,48],[52,40],[17,32],[11,38],[2,93],[-11,76],[-14,42],[-31,54],[-31,60],[22,16],[22,9],[58,-1],[60,-33],[30,-66],[35,-62],[0,-41],[-3,-32],[15,-45],[13,-19],[14,-32],[-13,-25],[-14,-12],[-27,-37],[-43,-111],[-33,-14],[-8,-87],[71,-94],[-9,-71],[-14,-23],[-39,-39],[5,-30],[10,-22],[111,-45],[105,-28],[176,-10],[51,-44],[19,32],[165,-8],[133,-108],[70,-33],[57,-11],[116,13],[20,10],[19,31],[-54,-3],[-24,-14],[-22,1],[-38,11],[-27,19],[-29,36],[-48,106],[-84,34],[-57,-13],[-62,6],[-102,58],[-68,22],[-121,63],[-34,25],[-27,52],[-31,87],[-20,48],[26,9],[83,47],[124,16],[53,-17],[136,-96],[63,-3],[114,42],[13,27],[-26,54],[-34,28],[-66,14],[-80,-26],[-23,22],[8,29],[9,21],[43,5],[30,17],[65,59],[72,29],[71,10],[261,-8],[148,-94],[144,-41],[63,-33],[17,-5],[15,-21],[11,-50],[182,-132],[42,-18],[116,-6],[130,31],[59,3],[63,-9],[33,-17],[36,-31],[-19,-39],[-17,-23],[-36,-66],[-16,-19],[-118,-75],[-47,-19],[-13,-99],[-6,-22],[-5,-35],[22,-70],[5,-43],[-18,-59],[-30,-65],[6,-51],[10,-69],[5,21],[-2,31],[8,36],[54,87],[39,118],[40,31],[36,8],[40,-35],[11,-48],[2,-71],[-8,-68],[-30,-103],[-50,-71],[-16,-41],[23,-38],[25,-29],[29,-10],[33,3],[8,10],[6,28],[-10,38],[-6,33],[61,26],[57,15],[45,43],[11,28],[10,48],[-23,74],[-20,56],[-68,132],[-51,68],[32,102],[53,113],[20,28],[6,18],[6,30],[-5,32],[-6,21],[-54,85],[-39,28],[-123,16],[-31,14],[-90,86],[-11,20],[-20,63],[-7,16],[-25,16],[-83,36],[-58,15],[-84,5],[-51,18],[-76,58],[-8,19],[-22,76],[-17,38],[5,28],[27,60],[19,52],[-23,45],[-33,14],[-36,22],[-15,41],[-9,45],[-1,35],[-6,40],[17,33],[38,36],[-9,24],[5,32],[247,43],[96,11],[480,4],[34,12],[209,21],[89,24],[94,-25],[34,1],[69,8],[45,51],[102,21],[170,22],[84,-4],[19,-16],[19,-21],[-92,-64],[-92,-57],[-76,-25],[-74,-51],[-7,-20],[-2,-12],[2,-39],[5,-27],[77,-32],[59,-46],[57,-32],[45,-20],[11,11],[-165,107],[-42,24],[-17,26],[8,39],[17,17],[26,20],[17,9],[62,20],[206,28],[49,53],[21,30],[56,33],[-19,13],[-46,8],[-36,19],[-142,188],[-35,28],[-109,21],[-49,22],[50,63],[59,16],[40,-3],[35,-18],[65,-52],[92,22],[-35,24],[-58,27],[-54,43],[-77,38],[-86,25],[-90,10],[25,56],[50,-7],[16,18],[23,34],[125,-79],[59,21],[50,36],[104,96],[14,43],[-50,23],[-41,12],[-56,-2],[-5,26],[24,34],[45,13],[139,-37],[232,95],[63,47],[161,60],[79,-7],[164,78],[227,35],[132,0],[102,44],[156,15],[54,18],[263,44],[146,35],[23,28],[-131,-23],[-31,21],[-27,-14],[-20,-19],[-63,34],[-17,-8],[-13,-19],[-23,-6],[-27,4],[-9,42],[32,56],[37,-29],[43,43],[27,1],[81,-27],[54,28],[72,13],[79,-12],[33,3],[19,26],[129,-23],[89,15],[61,-1],[95,-14],[43,-19],[-25,-43],[-92,-69],[25,-12],[53,32],[159,47],[26,-9],[-18,-41],[-11,-18],[106,24],[91,52],[40,8],[41,-31],[39,29],[9,29],[69,6],[28,27],[49,19],[40,9],[89,36],[31,-11],[59,-9],[56,-18],[105,-41],[14,-16],[13,-2],[30,-29],[-22,-43],[-24,-62],[-45,-29],[27,-3],[19,8],[36,41],[32,29],[-8,122],[-57,62],[-44,21],[-102,64],[-34,28],[-46,29],[18,18],[196,-23],[100,11],[108,-6],[144,27],[61,-29],[69,1],[80,-23],[24,27],[-131,30],[-58,-3],[-21,16],[22,34],[25,53],[-25,46],[-24,24],[-4,46],[23,53],[54,23],[30,43],[63,57],[303,184],[145,70],[55,9],[64,-5],[126,58],[47,0],[175,-47],[42,-34],[96,-26],[111,-15],[51,-21],[25,-25],[21,-34],[-90,-22],[-97,-68],[-132,-37],[-163,-25],[-34,-19],[311,-5],[90,5],[19,-59],[30,-2],[90,28],[54,1],[102,-20],[21,11],[44,1],[94,-25],[42,-38],[-67,-62],[-69,-55],[-84,-93],[-26,8],[-44,2],[8,-46],[74,2],[40,-21],[92,26],[130,-8],[27,7],[50,28],[13,54],[22,34],[43,12],[47,-11],[80,0],[203,18],[170,-23],[136,28],[178,-21],[78,-22],[57,-38],[52,-11],[42,-29],[43,-44],[-21,-35],[-21,-24],[56,26],[43,6],[32,-15],[57,-15],[18,-98],[17,-19],[15,-34],[-21,-31],[-18,-14],[45,3],[63,33],[13,11],[16,25],[-24,24],[-21,15],[27,11],[52,-4],[26,-43],[17,-40],[38,-131],[81,18],[4,-39],[-34,-89],[-36,-67],[-14,-14],[-23,-3],[9,35],[-14,20],[-21,13],[-74,12],[-138,81],[-37,9],[-8,-4],[-4,-8],[77,-55],[63,-98],[57,29],[23,-6],[31,-45],[56,-19],[47,-31],[-31,-93],[-192,-165],[-203,-96],[-90,-67],[-158,-48],[-113,-65],[-144,-49],[-42,-52],[-107,-33],[8,-18],[12,-18],[-13,-31],[-15,-24],[-83,-48],[-121,-33],[-243,-200],[-121,-41],[-137,-3],[-29,-18],[-104,-126],[-32,-28],[-136,-13],[-142,-207],[-79,-70],[-69,-38],[72,8],[85,28],[99,67],[26,31],[14,34],[29,27],[45,20],[176,22],[72,-8],[106,6],[70,37],[41,13],[37,5],[19,26],[62,5],[143,36],[21,12],[46,52],[85,-20],[61,11],[159,93],[96,36],[26,24],[-19,17],[-22,12],[-92,-32],[-83,-10],[-94,8],[-13,13],[-11,33],[30,48],[26,30],[60,37],[49,14],[183,-41],[38,-5],[21,67],[58,-3],[58,-11],[-25,-14],[-64,-22],[20,-49],[28,-34],[112,-49],[95,-22],[70,2],[110,20],[17,15],[23,38],[-28,75],[27,-9],[27,-19],[42,-46],[40,-77],[25,-35],[-15,-38],[-57,-73],[33,-41],[59,-27],[0,-119],[-4,-57],[-29,-63],[-34,-27],[-33,-39],[8,-36],[8,-23],[35,-44],[98,-13],[13,11],[-23,14],[-66,20],[-26,17],[-23,39],[27,43],[29,32],[35,73],[11,52],[-7,53],[23,24],[35,27],[17,5],[16,11],[-25,13],[-23,7],[-48,32],[-8,43],[96,16],[57,31],[210,13],[144,57],[322,-16],[226,-46],[317,-5],[117,-31],[11,-12],[7,-22],[-50,-9],[-83,-1],[-22,-57],[14,-72],[148,-76],[129,-32],[90,-50],[48,-5],[188,6],[110,-26],[100,20],[109,-1],[38,-5],[40,-38],[64,-9],[77,-2],[43,8],[17,9],[-6,15],[-64,23],[7,27],[25,7],[107,-38],[44,-5],[39,27],[29,50],[16,35],[17,17],[14,2],[14,10],[-34,40],[-33,51],[-7,33],[-10,17],[-4,60],[30,62],[21,17],[85,-23],[38,37],[24,13],[102,26],[43,-3],[71,-23],[228,-113],[-5,-44],[54,13],[26,17],[61,12],[41,18],[11,-7],[14,-18],[-10,-25],[-14,-26],[9,-15],[12,-3],[61,-32],[79,59],[32,55],[22,12],[197,-39],[59,-22],[12,-11],[8,-21],[32,-23],[39,-13],[-5,-17],[-2,-20],[92,-3],[40,-17],[44,-26],[-5,-30],[11,-17],[41,-2],[11,3],[-13,-40],[-55,-43],[-33,-17],[-38,-29],[21,-5],[95,-8],[59,-57],[6,-42],[-37,-17],[-84,-54],[-50,-21],[-35,-2],[-25,-7],[36,-23],[158,-6],[46,-29],[36,-72],[0,-89],[-36,-44],[-97,-7],[-127,98],[-78,38],[-109,74],[-21,-12],[32,-62],[51,-35],[92,-96],[154,-197],[36,16],[21,25],[10,32],[-9,44],[25,-21],[23,-40],[46,-66],[-62,4],[-80,-22],[-29,-26],[22,-37],[59,-5],[25,-50],[46,-62],[103,-169],[73,-32],[71,-70],[71,-32],[37,-3],[25,44],[20,-15],[19,-79],[34,-34],[38,-2],[31,14],[45,37],[36,43],[58,119],[38,60],[36,24],[-13,29],[4,34],[26,79],[36,94],[27,50],[66,100],[25,18],[18,-32],[14,-43],[10,-19],[10,-7],[81,-88],[82,-69],[73,-33],[115,-33],[167,5],[30,43],[58,33],[94,16],[55,40],[91,12],[57,-6],[88,-29],[197,-92],[55,-34],[29,-35],[64,-54],[41,-26],[40,-18],[14,5],[-5,15],[-20,15],[-16,20],[47,20],[5,15],[17,13],[62,10],[-61,20],[-20,3],[-29,12],[2,27],[19,20],[15,37],[19,24],[32,18],[24,4],[57,-24],[41,43],[30,-4],[63,-43],[56,-66],[31,0],[87,26],[98,2],[-13,39],[-68,84],[8,110],[-47,25],[-54,14],[78,28],[58,89],[46,8],[48,17],[-15,11],[-143,10],[-31,-11],[-21,-26],[-71,0],[-8,60],[-2,38],[93,81],[35,18],[236,-2],[71,15],[104,41],[-27,25],[-3,52],[-89,74],[7,17],[9,11],[27,1],[140,-20],[58,-41],[151,-40],[404,-13],[45,-15],[174,-18],[73,-20],[175,-23],[80,-17],[63,-26],[103,-16],[47,-17],[-5,-55],[-213,7],[-71,19],[-88,2],[-33,-9],[-53,-45],[-63,-24],[-53,-4],[35,-39],[49,-11],[158,51],[432,25],[66,-4],[-7,-35],[-58,-67],[-55,-52],[-80,-54],[-30,1],[63,113],[-26,6],[-24,-3],[-70,47],[-11,3],[-14,-12],[0,-17],[-13,-65],[26,-28],[0,-47],[-97,-30],[-38,3],[-40,19],[-17,-1],[-5,-15],[8,-27],[-1,-14],[-15,-22],[-8,-24],[24,-27],[31,-7],[171,30],[75,36],[82,68],[146,163],[65,56],[37,21],[48,8],[269,-17],[156,-36],[149,-52],[74,-43],[54,-59],[10,-24],[5,-33],[-37,-31],[-167,-10],[-64,-18],[-24,-20],[-3,-11],[-8,-17],[12,-14],[75,-2],[72,-14],[100,-37],[15,-12],[32,-36],[10,-6],[149,6],[10,-13],[9,-26],[-39,-41],[-39,-28],[-80,-66],[40,24],[161,56],[41,11],[49,-4],[121,-52],[50,-40],[92,-116],[-26,-12],[-66,-12],[208,-88],[80,1],[184,26],[93,0],[172,56],[171,36],[157,2],[83,34],[220,-1],[211,-11],[164,-21],[185,-62],[180,-85],[105,-84],[21,-27],[30,-58],[13,-49],[13,-67],[-6,-53],[-26,-37],[-16,-46],[2,-54],[-31,-71],[29,-50],[80,-33],[172,-44],[47,-29],[6,-88],[14,-73],[15,-140],[29,-35],[47,-34],[9,-46],[-59,-148],[-37,-28],[-39,-41],[69,14],[35,55],[38,100],[36,16],[19,32],[0,95],[-23,81],[0,58],[15,47],[114,99],[61,39],[58,22],[158,20],[72,19],[82,-13],[58,5],[67,20],[59,-9],[98,-66],[347,-14],[61,-23],[233,-27],[18,0],[52,32],[154,110],[64,-7],[26,-17],[27,-44],[28,-28],[23,-78],[20,-104],[33,-19],[46,-6],[100,-39],[101,-49],[29,-95],[54,-79],[126,7],[132,16],[127,130],[0,53],[-31,77],[-47,74],[-37,115],[-117,26],[11,33],[44,41],[40,62],[6,48],[-11,101],[106,-7],[106,-12],[201,-45],[163,-19],[86,-28],[52,-33],[62,-24],[21,59],[23,14],[82,-33],[60,-11],[103,5],[130,-15],[141,2],[127,26],[47,-5],[52,-21],[84,-54],[143,-73],[130,-20],[150,-69],[141,-25],[113,-39],[16,-15],[5,-21],[8,-18],[89,-22],[165,-146],[37,-17]],[[99999,91340],[0,-2177],[0,-143]],[[99999,89020],[-48,-20],[-49,-67],[-56,-59],[-83,-24],[-126,-89],[-49,-16],[-65,41],[-149,26],[-47,36],[-68,91],[-23,13],[-21,36],[-82,40],[-72,-26],[-58,20],[-20,-14],[30,-13],[54,-11],[82,5],[27,-9],[24,-32],[28,-50],[-21,-34],[-22,-11],[-66,38],[-76,-6],[-36,9],[-102,63],[-78,-70],[-107,-35],[-83,-4],[-152,-55],[41,-2],[111,39],[65,0],[96,21],[51,25],[24,24],[31,23],[31,-11],[22,-25],[14,-35],[14,-47],[-18,-24],[-18,-13],[-22,-34],[102,58],[62,-34],[31,5],[58,51],[93,32],[11,-6],[11,-16],[-15,-97],[6,-76],[71,-83],[73,-49],[26,-2],[24,10],[9,44],[18,32],[23,-29],[19,-32],[27,-79],[-1,-23],[-6,-46],[23,-21],[32,-6],[12,-73],[11,-104],[-14,-10],[-16,0],[-51,-26],[7,-19],[52,-10],[15,-21],[-11,-48],[3,-23],[18,-4],[12,28],[-3,40],[5,18],[35,-83],[0,-33],[30,-37],[85,-54],[15,-26],[5,-41],[-21,-12],[-20,-29],[12,-41],[22,-33],[36,-12],[17,-53],[0,-51],[-26,-44],[-53,-61],[-31,-25],[-12,-43],[-3,-45],[-21,2],[-23,19],[-262,114],[-99,21],[-87,3],[-16,6],[1,27],[5,25],[13,30],[-6,26],[-11,2],[-11,-20],[-24,0],[-23,23],[-19,-7],[-9,-33],[-7,-17],[0,-20],[12,-19],[50,-21],[-8,-18],[-70,-15],[-57,-18],[-74,-56],[-30,-38],[-198,-96],[-48,-34],[-21,-4],[-27,-11],[-21,-40],[-110,-57],[-23,6],[-29,-48],[-27,-26],[-63,-4],[-41,-13],[-88,-68],[-55,21],[-65,-94],[-72,-89],[-21,0],[-55,37],[-14,-20],[9,-35],[19,-38],[-11,-11],[-22,10],[-16,2],[-12,-11],[2,-27],[-31,-35],[-24,-3],[-28,-11],[-10,-30],[9,-32],[-50,-38],[-41,-49],[-19,-9],[-22,-21],[-24,-16],[-28,3],[-67,-69],[-150,-121],[-42,-15],[-53,-37],[-5,-24],[0,-30],[-21,-50],[-25,-125],[-8,-23],[-12,-26],[-55,12],[-48,48],[-15,22],[-8,26],[-3,42],[-9,19],[-11,9],[-55,102],[-95,70],[-14,24],[-121,-19],[-33,-1],[-58,18],[-90,-11],[-109,-39],[-33,-24],[-111,-37],[-73,-58],[-142,-214],[-34,-44],[-16,-10],[-24,-4],[-10,43],[-4,34],[9,65],[17,53],[17,100],[5,40],[12,42],[-48,-3],[-66,-73],[-100,-71],[-46,-19],[-36,-41],[-26,-6],[-30,-16],[-3,-91],[-15,-50],[-18,-10],[-28,-2],[-21,20],[-30,73],[-40,38],[-24,7],[-18,-9],[-35,-50],[-38,-45],[6,51],[-33,20],[-29,12],[-36,2],[-11,-8],[-14,-29],[-33,-38],[-22,-16],[-23,-31],[-13,-32],[-12,-45],[-14,-110],[1,-129],[-53,-101],[-20,10],[-10,-7],[-10,-13],[18,-56],[-10,-20],[-9,-13],[-25,-15],[-56,-82],[-53,-54],[-87,-155],[-25,-104],[-25,-116],[12,-57],[10,-37],[16,-25],[28,-27],[59,-31],[-5,-19],[0,-17],[21,29],[15,82],[37,26],[18,-1],[118,-65],[23,-27],[-4,-62],[-7,-29],[-22,-43],[-42,-52],[-49,-71],[-5,-43],[0,-24],[13,-84],[1,-47],[-6,-87],[3,-38],[13,-33],[20,-20],[35,11],[33,-9],[25,-22],[-4,-74],[15,-69],[11,-127],[-21,-35],[-20,-22],[-39,-55],[-21,-6],[-37,19],[-58,98],[23,59],[50,41],[23,29],[17,43],[-26,-8],[-18,-19],[-57,8],[-23,-21],[-28,-33],[11,-82],[-19,-15],[-35,-28],[-52,-35],[-17,-23],[-45,-148],[-41,-110],[-15,-94],[2,-81],[15,-91],[11,-39],[48,-84],[23,-66],[7,-79],[-38,-38],[-67,-92],[-28,-10],[-92,2],[-46,46],[-54,-11],[-45,-22],[-71,-66],[-63,-84],[-60,-59],[-18,-34],[-24,-73],[-22,-133],[8,-66],[12,-31],[11,-40],[-16,-62],[0,-40],[29,-63],[6,-86],[-21,-2],[-49,62],[-52,4],[-124,-71],[-52,-41],[-57,-82],[-17,15],[-12,47],[-21,21],[-26,-10],[-11,-45],[36,-21],[13,-28],[-21,-110],[-15,-37],[6,-98],[-2,-46],[-8,-46],[-37,-127],[-63,-167],[-78,-121],[-54,-42],[-27,-32],[-12,-42],[-80,-116],[-98,-122],[-28,-23],[-6,47],[-3,45],[-12,61],[-36,50],[-6,41],[-6,56],[-3,260],[-31,268],[-3,85],[-38,69],[-21,72],[-12,70],[-3,83],[-41,438],[-13,108],[-55,352],[-24,203],[-16,198],[-2,89],[24,264],[21,165],[74,369],[11,33],[12,18],[128,142],[56,78],[33,81],[36,105],[-4,56],[-4,32],[-14,36],[-30,42],[11,19],[12,14],[31,16],[64,-31],[65,13],[60,130],[86,-20],[65,24],[18,-10],[13,44],[36,47],[66,70],[97,85],[48,57],[27,53],[40,51],[39,64],[71,192],[140,158],[55,90],[45,33],[40,15],[101,129],[64,108],[85,74],[25,47],[44,112],[18,27],[55,42],[124,72],[72,73],[106,11],[31,29],[33,16],[35,24],[-43,64],[10,35],[8,16],[76,77],[31,61],[-4,26],[-5,19],[-47,24],[9,58],[13,48],[38,42],[13,97],[2,101],[37,147],[22,32],[87,73],[20,2],[60,-25],[66,-12],[23,-22],[5,19],[-3,25],[18,9],[38,-10],[-5,28],[-98,14],[-70,32],[-63,62],[-41,17],[-45,-5],[-257,-86],[-12,-23],[-12,-34],[16,-48],[-13,-22],[-12,-14],[-14,-32],[-12,-63],[3,-61],[-31,-94],[-3,-59],[55,-33],[14,-22],[-16,-32],[-17,-20],[-14,-24],[-11,-10],[-15,-6],[-20,32],[-18,64],[-29,3],[-10,-9],[-5,-25],[-25,-2],[-28,12],[-32,-5],[-57,-72],[-319,-342],[-34,-41],[-42,-83],[-79,-8],[-31,-19],[-23,-24],[-31,-17],[1,31],[6,23],[7,60],[43,115],[-27,12],[-27,1],[-50,-24],[-34,-37],[-26,7],[13,34],[31,68],[-9,63],[-9,34],[13,19],[65,127],[23,65],[20,86],[1,27],[-4,33],[-19,6],[-16,-1],[-128,-86],[-47,-23],[-15,37],[-21,16],[-35,63],[-30,9],[-31,-5],[-70,-42],[-77,-24],[-59,9],[-51,-36],[-23,-6],[-75,24],[-91,2],[-28,-30],[-79,-43],[-54,-65],[-28,-21],[-31,-29],[-14,-123],[-41,-40],[-38,-30],[-80,-95],[-56,-129],[-38,-56],[-81,-79],[-126,-102],[-110,-167],[-38,-125],[-14,-4],[-27,-26],[-7,-61],[1,-43],[-17,-34],[-17,-43],[18,-26],[16,-5],[24,3],[63,35],[108,-53],[54,-53],[-4,-54],[2,-47],[-40,3],[-53,-5],[-34,-27],[-68,45],[-23,-18],[-36,-46],[-65,-20],[-33,23],[-55,65],[-93,-6],[-24,-73],[-21,2],[-33,-7],[-55,-85],[-18,-7],[-67,16],[-48,43],[-23,2],[-43,-20],[-21,-51],[-107,-26],[-105,5],[-57,123],[107,48],[63,-10],[72,8],[75,38],[-26,32],[-18,7],[-45,-3],[-40,23],[-87,119],[-38,22],[-49,13],[-38,1],[-14,-8],[-20,-29],[-13,-28],[-12,-9],[-26,5],[-31,22],[-37,-7],[16,18],[35,19],[-58,20],[-37,29],[-34,7],[-156,71],[-60,-6],[-37,-19],[-63,-58],[17,-43],[14,-19],[8,-23],[-20,-4],[-58,-3],[-35,34],[-25,-50],[10,-44],[40,15],[21,-18],[-14,-51],[-52,-15],[-65,3],[-65,90],[-107,-16],[-51,-58],[-49,-13],[-131,58],[-66,4],[-74,50],[-26,-16],[-47,-124],[-63,-30],[-32,17],[-29,78],[-20,26],[-56,23],[-298,-22],[-100,19],[-70,2],[-96,-40],[-92,15],[-170,-77],[-70,-51],[-84,-91],[-76,-151],[-42,-57],[-71,-71],[-100,-66],[-54,-67],[-30,-55],[-52,-205],[-14,-31],[-123,-74],[-39,-82],[-17,-21],[-51,-35],[-31,-57],[-17,-17],[-73,-41],[-60,-102],[-85,-73],[-123,-199],[-11,-24],[-10,-54],[-19,-39],[-106,-174],[-33,-16],[-53,-81],[-54,-49],[-49,-57],[-61,-60],[-92,-70],[-31,-39],[-48,-94],[-118,-113],[-59,-28],[-77,-101],[-8,-24],[-6,-37],[13,-65],[19,-14],[31,-9],[115,-64],[107,18],[95,0],[37,6],[23,-2],[8,-35],[-1,-65],[-14,-59],[-11,-173],[-13,-77],[10,-75],[23,-13],[23,34],[37,5],[38,-16],[28,121],[-23,19],[-22,42],[13,32],[66,59],[41,6],[39,-5],[-43,-75],[-17,-16],[-13,-4],[-18,-13],[38,-44],[41,-33],[59,-15],[-14,-25],[-39,-22],[-36,-95],[-56,-44],[-26,-31],[9,-20],[21,-4],[114,13],[59,25],[84,73],[35,108],[32,30],[9,0],[11,-7],[1,-76],[-45,-86],[-32,-48],[-12,-41],[19,-1],[37,9],[16,19],[42,104],[11,74],[6,103],[-5,61],[3,45],[-16,45],[11,13],[113,-61],[60,-15],[108,50],[24,-12],[18,-30],[89,-91],[17,-30],[29,-112],[95,-128],[88,-60],[3,-24],[56,-71],[44,-25],[7,-64],[-20,-52],[-41,-48],[-82,45],[-13,-2],[10,-29],[59,-84],[47,-34],[3,-111],[-6,-61],[-31,-68],[10,-40],[44,-57],[22,-22],[22,-33],[-28,-72],[-5,-81],[-30,-35],[-36,-79],[-55,-64],[-26,-122],[-42,-108],[-5,-107],[-7,-38],[-34,-111],[-13,-150],[17,-246],[8,-15],[16,-14],[-3,-17],[-8,-12],[-33,-72],[0,-51],[13,-38],[2,-98],[-24,-157],[-9,-25],[-10,-40],[-4,-37],[-7,-23],[-4,-39],[7,-35],[12,-18],[-43,-114],[-15,-147],[-16,-60],[-31,-59],[-66,-85],[-24,-53],[-43,-68],[-41,-52],[-57,-150],[-46,-149],[-116,-193],[-15,-48],[-9,-51],[-30,-86],[-15,-120],[-35,-47],[-29,-126],[-94,-191],[-23,-65],[-72,-106],[-77,-146],[-96,-132],[-18,-54],[-37,-60],[-40,-92],[-58,-92],[-12,-62],[-19,-44],[-43,-29],[-31,-39],[-95,-238],[-12,-43],[-2,-38],[-62,-89],[-35,-94],[-60,-59],[-62,-81],[-149,-147],[-41,-56],[-83,-70],[-34,-1],[-72,-38],[-47,-39],[-28,15],[-17,50],[-21,-1],[-16,-7],[-43,49],[-37,-3],[-26,23],[-50,-16],[9,211],[-7,44],[-21,-41],[-57,-74],[-23,-14],[-22,0],[9,44],[31,65],[-10,10],[-10,3],[-40,-28],[-20,-31],[-58,-122],[-34,-103],[-28,-30],[-13,-44],[-24,-42],[-37,11],[-22,-7],[-53,24],[-13,-10],[35,-79],[-29,-117],[-12,-14]],[[86301,75533],[-14,-16],[-19,10],[-31,5],[-39,-51],[-22,-19],[-16,-51],[-31,-30],[-17,-33],[-22,-55],[-14,-54],[-33,-56],[-20,-69],[-1,-60],[21,-61],[2,-52],[-15,-106],[9,-114],[-10,-44],[-102,-78],[-26,-39],[-38,-100],[-46,-38],[-28,-41],[-39,-24],[-26,-71],[-27,-40],[-33,-24],[-25,-32],[-55,-2],[-39,-22],[-27,-59],[-83,-67],[-12,-51],[6,-79],[0,-60],[-7,-50],[-18,14],[-10,-16],[-11,-46],[4,-52],[28,-17],[23,-22],[33,-11],[24,-24],[52,-110],[42,-48],[11,-18],[24,-25],[22,-38],[13,-34]],[[85659,73353],[68,-265],[64,-171],[56,-124],[79,-239],[23,-127],[2,-80],[13,-108],[-11,-63],[3,-98],[-5,-51],[-9,-37],[-1,-71],[3,-38],[1,-51],[6,-20],[9,-7],[14,18],[18,8],[-3,-61],[-22,-154],[-18,-112],[-25,-98],[-32,-90],[-38,-35],[-27,-12],[-51,-5],[-43,15],[-36,-11],[-15,-18],[-11,-32],[8,-50],[-1,-36],[-16,3],[-31,21],[-34,3],[-16,10],[-16,53],[-17,-2],[-29,-31],[-44,-7],[-15,-17],[-5,-22],[6,-27],[22,-36],[-7,-37],[-23,-18],[-19,45],[-12,44],[-13,2],[-20,-12],[-4,-48],[10,-32],[15,-37],[-22,-43],[-5,-31],[-16,-22],[-42,49],[6,35],[18,33],[3,35],[-6,21],[-61,-88],[-37,-100],[-19,7],[-9,26],[-11,10],[-40,-64],[-8,-51],[-14,-2],[-7,22],[0,46],[-7,39],[-41,57],[-19,49],[10,28],[34,-15],[28,2],[-6,23],[-9,11],[19,14],[15,27],[-13,7],[-19,-16],[-16,8],[-6,65],[-20,66],[-10,65],[19,37],[10,58],[18,84],[9,27],[25,19],[9,22],[-14,11],[-22,10],[1,24],[15,13],[16,27],[32,32],[10,61],[-9,16],[-20,14],[5,31],[8,23],[-3,15],[-24,39],[-16,37],[5,41],[-4,62],[2,53],[-1,28],[-11,64],[-5,64],[-16,-9],[-12,-16],[-44,22],[-14,2],[-5,47],[15,59],[38,52],[21,6],[16,23],[26,7],[30,-35],[27,-7],[15,-61],[9,-12],[2,22],[22,26],[5,20],[-4,10],[-25,11],[-23,75],[-3,33],[-9,21],[13,60],[-26,69],[-13,21],[2,62],[-14,39],[-8,22],[-4,37],[4,17],[12,6],[3,16]],[[85175,72855],[-3,5],[-14,4],[-56,48],[-46,-30],[-12,-38],[-12,-12],[-19,75],[-30,2],[-48,66],[-21,-13],[-5,-27],[-26,-61],[-37,-50],[-12,-6],[-13,3],[2,14],[-15,56],[-58,23],[-21,24],[-11,5],[57,63],[15,12],[-11,14],[-12,7],[-47,-9],[-24,21],[-36,-7],[-24,17],[51,61],[2,37],[-1,27],[26,82],[26,46],[67,64],[30,9],[21,-2],[17,6],[-18,24],[-18,11],[-35,-2],[-36,37],[-3,39],[70,247],[1,23],[-11,60],[-3,58],[-51,34],[-22,4],[-64,66],[-26,34],[-10,-10],[-2,-53],[-9,-12],[-17,-10],[-9,60],[-14,44],[-42,44],[-16,25],[8,53],[-4,4]],[[84544,74171],[-3,5],[-23,-52],[-45,-49],[-96,-11],[-30,35],[-11,-24],[-9,-33],[-25,-11],[-39,-3],[-22,-21],[-12,-24],[-54,-8],[-20,-31],[-34,-12],[-140,-139],[-30,-58],[-29,-69],[-21,-34],[-18,-24],[-16,-10],[-17,-24],[-16,-3],[-17,11],[-19,-4],[-12,-28],[10,-38],[-5,-16],[-37,-20],[-55,-13],[-23,-25],[-8,-14],[-12,-7],[-12,49],[-4,63],[23,16],[20,8],[116,88],[-14,66],[10,29],[26,46],[17,23],[-10,9],[-75,-16],[-44,2],[-22,4],[7,40],[-4,40],[-5,15],[38,45],[18,12],[13,-1],[-1,27],[-11,42],[12,53],[79,63],[19,56],[31,53],[58,132],[4,22],[16,62],[3,25],[-26,36],[-11,51],[-78,91],[-7,78],[-7,-3],[-12,-55],[-10,-18],[-36,-1],[-18,20],[-100,14],[-25,-36],[-23,-54],[-22,-39],[-23,-21],[-19,-35],[-81,-212],[-31,-16],[-144,-129],[-72,-50],[-56,-89],[-19,-54],[-17,-59],[-10,-91],[-51,-110],[-18,-23],[-18,-10],[-23,3],[-21,-7],[-35,10],[-43,-35],[-48,-30],[-42,76],[-30,19],[-48,-21],[-23,-34],[-47,-167],[-17,-95],[1,-40],[27,-119],[31,-66],[69,-76],[147,-53],[34,19],[37,0],[39,-50],[24,-82],[3,-56],[0,-19],[9,-17],[5,-28],[-15,-24],[-12,-12],[-10,-87],[0,-96],[12,-32],[32,-45],[49,-38],[45,-8],[86,18],[35,59],[-2,25],[1,32],[76,86],[43,75],[-7,20],[-8,14],[8,8],[23,5],[106,79],[83,-65],[47,-74],[47,-12],[33,-38],[37,-33],[49,-2],[41,-7],[13,30],[13,20],[14,-4],[17,-39],[47,-30],[43,1],[30,11],[18,-14],[-26,-50],[4,-81],[-20,-26],[-19,-41],[11,-27],[10,-12],[-1,-33],[-17,-19],[-32,-49],[-19,1],[-9,10],[-6,17],[-4,28],[-12,19],[-31,7],[-33,-6],[-73,-73],[-71,-58],[-75,-47],[-25,-29],[-18,-8],[-30,22],[-19,-1],[-4,-15],[24,-41],[6,-31],[-3,-25],[-13,-10],[-20,17],[-18,-25],[-8,-43],[0,-102],[-12,-23],[-33,-13],[-35,-32],[-13,15],[-5,18],[4,47],[-4,23],[-16,-1],[-25,-14],[-18,-31],[-6,-18],[24,-61],[23,-6],[6,-13],[-19,-29],[-45,-44],[-8,-37],[-13,-35],[-19,-28],[-13,-29],[-15,-15],[-25,-18],[-31,-70],[-23,-66],[-27,-34],[-21,-111],[-38,-60],[-14,-97],[10,-59],[41,0],[21,-21],[44,-78],[52,-51],[53,-28],[66,-73],[19,-30],[15,-63],[29,-179],[20,-89],[2,-46],[31,-88],[33,-150],[37,-130],[8,-103],[-13,-47],[1,-61],[37,-56],[85,-65],[13,-19],[17,-31],[0,-98],[13,-32],[12,-19],[51,-41],[21,-35],[23,-55],[6,-49],[3,-67],[-29,-3],[-23,8],[-91,87],[-24,2],[-33,-12],[-48,16],[-51,96],[-36,29],[-39,15],[-93,-83],[-24,6],[-7,-9],[-11,-14],[44,-18],[43,27],[42,40],[60,-21],[10,-36],[10,-61],[42,-42],[33,-18],[41,-54],[41,-85],[86,-98],[35,-93],[13,-60],[12,-85],[-30,-28],[-26,-4],[-41,-13],[-30,-31],[-31,-53],[-86,-84],[-17,-52],[-11,-46],[-21,-22],[-54,21],[-50,-2],[-56,-62],[-14,-25],[9,5],[9,8],[25,-9],[40,33],[38,-101],[76,17],[71,83],[27,2],[23,-13],[25,-33],[69,-147],[37,-16],[37,-34],[20,-4],[18,-10],[-49,-54],[-64,-116],[-28,-28],[-19,-31],[51,16],[37,55],[18,14],[15,-13],[7,-68],[-14,-211],[-18,-4],[-17,58],[-20,18],[-18,-12],[-33,0],[-13,-26],[-11,-36],[20,-8],[40,-64],[4,-34],[-11,-22],[-28,10],[34,-48],[-9,-49],[-11,-20],[-20,-13],[-12,-42],[18,-72],[18,-91],[2,-44],[-28,19],[-43,-56],[-23,-5],[-16,74],[-19,-12],[-13,-21],[-18,-79],[-21,-72],[-19,-19],[-22,5],[-18,-2],[5,-19],[19,-23],[0,-28],[-41,-87],[-7,-33],[1,-29],[-21,-35],[11,-58],[-6,-42],[-19,-55],[-19,-37],[-24,-60],[-29,-34],[-39,-125],[-11,-63],[-3,-64],[-13,-23],[-20,-28],[-24,14],[-1,43],[-10,4],[-6,28],[-2,36],[3,29],[-10,-9],[-6,-33],[-16,-28],[-16,11],[-18,23],[1,-33],[9,-32],[4,-32],[24,-7],[17,-37],[13,-58],[2,-21],[10,-26],[1,-21],[-23,-20],[-29,-38],[-35,-65],[-29,-43],[-26,0],[-15,5],[-23,25],[-26,10],[35,-87],[19,-16],[24,4],[23,32],[33,-3],[8,-50],[-9,-57],[-18,-74],[-3,-63],[22,-92],[1,-27],[-9,-14],[-26,24],[-21,31],[-22,-8],[-22,13],[-23,-11],[-10,-21],[7,-35],[20,-29],[12,-44],[-14,-16],[-58,11],[-14,-9],[-17,-49],[11,-72],[-13,-45],[-24,-10],[-32,-37],[-19,-8],[1,-16],[14,-16],[8,-21],[-18,-74],[-26,-24],[-42,12],[-32,-17],[-28,32],[-30,0],[-20,-39],[-2,-47],[-20,-4],[-11,3],[-15,-3],[2,-25],[8,-22],[41,-9],[7,-31],[2,-48],[-43,-83],[-18,-56],[-27,2],[-20,-45],[-11,-61],[-14,12],[-31,-10],[-10,-29],[8,-12],[1,-20],[-13,-69],[-14,-19],[-6,28],[-4,43],[-11,4],[-18,-40],[-22,-29],[-18,-12],[-14,27],[-34,13],[-13,-114],[-29,-42],[-13,-13],[-23,-4],[15,-16],[5,-29],[-9,-29],[-23,-6],[-13,-23],[-5,-103],[-14,-36],[-35,-3],[-26,24],[-8,-19],[-4,-18],[-14,-18],[-26,-5],[-59,-46],[-26,13],[-32,18],[-23,-17],[-7,-36],[-10,-27],[-32,0],[-26,34],[-26,24],[-29,-21],[-22,-43],[-27,-14],[-5,-27],[-12,-14],[-29,6],[-11,67],[-16,9],[-16,-33],[-6,-27],[-8,-19],[3,-55],[-16,-1],[-21,33],[-23,6],[-20,-31]],[[81740,63825],[7,-24],[-2,-25],[11,-12],[3,-24],[-12,-14],[-1,-28],[-6,-18],[-36,31],[-29,17],[-27,-7],[-9,19],[-2,19],[31,33],[2,16]],[[81670,63808],[-23,12],[-29,45],[-20,75],[-26,40],[-12,35],[-4,64],[-5,30],[2,34],[7,30],[-28,-15],[-20,-28],[4,-35],[-5,-33],[-31,-17],[2,-13],[2,-15],[24,-44],[5,-38],[10,-20],[19,-58],[-1,-113],[11,-31],[-4,-32]],[[81548,63681],[-8,-44]],[[81540,63637],[-13,-13]],[[81527,63624],[-23,-13]],[[81504,63611],[-14,-8],[-11,-12],[-17,-33],[-33,-9],[-16,79],[-23,-52],[-6,-108],[-9,-18],[-14,-15],[-26,37],[-23,-25],[-18,-25],[-8,-24],[-13,-25],[-25,24],[-21,37],[5,28],[-2,18],[-10,14],[-10,-2],[5,-36],[4,-69],[-10,-20],[-14,-15],[-31,13],[-21,25],[-26,22],[-22,4],[-5,-44],[-15,-35],[-13,-4],[-14,6],[-18,-38],[-8,-28],[-22,-29],[-58,-14],[-21,-30],[-27,5],[-21,-7],[-13,2],[-10,15],[-13,1],[-5,-49],[-33,-20],[-30,-6],[-33,-63],[-24,-39],[-17,-4],[-13,14],[-7,57],[-6,7],[-4,-54],[-6,-44],[-12,-25],[-38,-55],[-11,-55],[7,-51],[51,-13],[7,-28],[-5,-22],[-13,-19],[-3,-29],[55,-91],[2,-34],[-9,-20],[-10,-42],[-29,-36],[-62,-19],[-51,19],[-16,41],[1,29],[13,-9],[14,3],[-4,27],[-6,15],[-24,24],[-19,63],[4,54],[-11,41],[-11,34],[-12,21],[-6,25],[12,81],[-7,46],[22,58],[6,64],[39,24],[3,61],[-29,2],[-19,45],[-5,-19],[-15,-2],[-26,88],[-8,11],[-12,1],[6,-92],[-30,-34],[-25,-16],[-35,-6],[-20,-10],[-18,8],[4,28],[10,34],[-9,27],[-20,22],[-30,-2],[-21,6],[-20,-2],[-8,12],[-19,44],[-17,27],[-7,27],[7,31],[-6,19],[-32,2],[1,-44],[3,-53],[9,-41],[-6,-22],[-16,-16],[-17,43],[-8,10],[-9,-2],[-6,-42],[-15,-38],[-28,4],[-22,-23],[-26,-11]],[[79992,63213],[-13,-5],[-33,-1],[-28,-54],[-20,-22],[-30,-19],[-33,-31],[-9,-53],[-1,-39],[-5,-44],[-53,-63],[-15,7],[-10,23],[-15,-5],[-11,-11],[-12,1],[-14,-14],[-18,4],[-17,20],[-10,5],[-12,1],[-2,-24],[17,-91],[5,-42],[-56,-124],[6,-80],[-15,-61],[-34,-49],[-64,-127],[-29,-2],[-22,-29],[-47,-208],[-1,-72],[-7,-52],[2,-50],[-21,-99],[-22,-42],[-4,-53],[30,-111],[4,-20],[17,-59],[9,-43],[14,-42],[49,-110],[22,-34],[26,-23],[48,-99],[24,-64],[-11,-43],[6,-91],[-35,27],[5,-11],[40,-50],[61,-175],[53,-86],[54,-98],[17,-94],[48,-61],[54,-90],[-2,-20],[14,-24],[37,-48],[22,-50],[8,-48],[13,-7],[16,11],[15,5],[10,-4],[17,-52],[22,-47],[11,-43],[9,6],[7,-7],[2,-35],[4,-24],[30,-69],[14,-65],[37,-106],[26,-60],[20,-33],[21,-29],[22,-117],[11,-106],[23,-118],[18,-51],[0,-97],[14,-100],[15,-67],[5,-69],[4,-34],[6,-26],[16,-117],[-4,-54],[-11,53],[1,-156],[10,-83],[-5,-102],[11,-35],[19,-115],[13,-41],[-1,-140],[7,-71],[-18,42],[-13,48],[-17,-25],[-15,-38],[24,-151],[-28,15],[3,-203],[11,-48],[1,-22],[-3,-28],[-8,30],[-1,31],[-5,-7],[1,-16],[-10,-36],[-2,-44],[9,-38],[2,-28],[-7,-36],[-11,-38],[-26,-5],[-6,-73],[-9,-79],[-46,-12],[-33,-69],[-42,-26],[-37,-68],[-40,-63],[-27,-8],[-22,-14],[-26,-105],[-44,-12],[-78,-85],[-26,-42],[-24,-16],[-34,-35],[-7,12],[-12,31],[-29,16],[-15,34],[-4,44],[-4,18],[-6,-25],[-5,-105],[-5,-24],[-13,-11],[-25,30],[-23,61],[-34,-42],[10,-5],[16,3],[12,-10],[10,-41],[-1,-22],[-5,-25],[-32,-4],[-42,9],[-7,-4],[38,-39],[35,-23],[16,-25],[0,-20],[-20,-34],[-15,-40],[-1,-26],[0,-28],[-17,-24],[-11,4],[-30,43],[-86,167],[13,-47],[90,-190],[15,-63],[3,-44],[-10,-22],[-15,-26],[-29,-2],[-49,70],[-77,170],[-26,23],[78,-194],[13,-47],[13,-54],[-4,-32],[-7,-31],[-185,-180],[-28,-77],[-22,-96],[-36,-53],[-21,-48],[-62,-28],[-34,9],[35,88],[-22,33],[-1,227],[9,249],[16,125],[23,31],[30,19],[0,26],[-3,30],[-15,43],[-18,19],[-25,9],[-20,52],[-15,-2],[-24,-18],[-14,23],[-5,35],[-22,43],[-24,42]],[[79007,56639],[-46,77],[-90,27],[-10,34],[-9,7],[-8,-44],[-50,-43],[-21,26],[-15,31],[2,38],[15,31],[24,22],[12,78],[-19,100],[-16,29],[-18,23],[-18,-37],[-15,-64],[-16,-32],[-23,-8],[-33,3],[-13,95],[-4,81],[4,93],[5,55],[-32,76],[-2,72],[-15,37],[-4,-18],[0,-21]],[[78592,57407],[-6,-2],[-8,41],[-26,69],[-8,73],[-30,81],[-16,32],[-6,-27],[-9,-29],[-30,42],[-25,43],[-23,84],[-3,-19],[-6,-18],[-26,66],[-28,53],[-25,18],[-15,18],[-15,28],[-31,29],[-78,-42],[-98,33],[-38,-31],[-16,19],[-9,36],[9,61],[2,129],[12,90],[-6,68],[6,33],[4,44],[-15,18],[-70,35],[-15,28],[-18,-32],[-84,-18],[-31,-27],[-29,-51],[-8,-65],[17,-43],[11,-74],[-30,-162],[-5,-49],[12,-198],[-5,-109],[-16,-73],[-26,-66],[-11,-111],[-20,-52],[-28,-118],[-18,-146],[-13,-68],[-8,-125],[-56,-190],[-13,-107],[-20,-41],[7,-32],[1,-53],[-7,-143],[-2,-119],[8,-63],[27,-126],[-6,-37],[-3,-52],[22,-23],[17,-7],[91,59],[31,-15],[12,-55],[8,-49],[15,-262],[8,-48],[19,-46],[20,-50],[7,9],[1,18],[1,21],[19,-50],[14,-92],[48,-490],[14,-62],[11,-65],[-29,32],[-8,108],[-8,46],[-11,7],[-16,-1],[-1,20],[12,35],[-2,43],[-17,34],[-27,-27],[1,-77],[12,-58],[46,-131],[15,-54],[18,-16],[27,9],[32,-56],[25,-52],[63,-79],[38,8],[41,20],[27,-5],[27,-20],[32,-66],[52,-166],[84,-138]],[[78361,54169],[48,-23],[18,-18],[54,-184],[71,-128],[30,-49],[23,-23],[32,-69],[28,-86],[61,-244],[10,-107],[5,-164],[-14,-247],[-16,-123],[3,-58],[22,-89],[-6,-84],[4,-70],[-2,-194],[13,-57],[15,-37],[76,-115],[6,-43],[37,-146],[70,-319],[19,-144],[-2,-38],[-8,-16],[-21,-14],[-17,28],[-6,20],[2,25],[-7,25],[-16,29],[-10,26],[3,-43],[0,-57],[-21,-5],[-28,18],[-34,-16],[-40,-69],[-19,-2],[-15,59],[-8,41],[-12,28],[-127,146],[-47,38],[-50,110],[-112,122],[-71,119],[-30,74],[-73,65],[-31,77],[-16,15],[-15,28],[16,74],[-7,78],[-8,66],[-51,129],[-25,91],[-49,90],[-19,52],[-18,60],[11,21],[11,13],[-10,44],[-27,76],[-13,87],[0,165],[-39,233],[-34,322],[6,112],[-9,123],[-22,117],[-29,84],[-11,70]],[[77810,54288],[-69,182],[-48,75],[6,136],[-14,27],[-18,2],[-14,38],[12,81],[-19,-15],[-26,2],[-21,23],[-16,112],[-11,34],[-22,59],[-29,0],[-10,28],[2,72],[-21,45],[-28,36],[-23,21],[-24,117],[-19,28],[-16,24],[-22,-16],[-7,-42],[-15,-41],[-16,6],[-16,23],[-18,116],[-4,72],[5,133],[23,119],[13,190],[20,120],[13,41],[20,163],[39,209]],[[77417,56508],[-13,-6],[-26,-86],[-12,43],[-7,45],[8,101],[-16,191],[10,26],[9,12],[18,74],[21,72],[2,87],[17,64],[-4,53],[1,62],[4,51],[-2,42],[14,43],[24,32],[-10,12],[-10,24],[-31,-36],[-16,12],[-3,37],[4,40],[2,24],[12,28],[-1,53],[-6,48],[9,58],[-18,0],[-9,12],[5,32],[17,29],[-15,55],[11,58],[0,73],[-8,64],[0,46],[-11,82],[-6,104],[-24,78],[-19,113],[-48,148],[0,63],[-2,56],[-11,27],[-14,-197],[-11,38],[-3,110],[-7,52],[7,104],[-28,103],[-6,75],[-19,113],[6,25],[25,-25],[-23,66],[-19,-15],[-16,71],[-3,193],[-16,73],[9,73],[-18,264],[-35,85],[7,74],[9,65],[-2,120],[8,38],[17,28],[-16,-10],[-13,-8],[-32,-8],[-36,-1],[-12,88],[-18,43],[-16,88],[-9,100],[6,20],[-27,41],[-8,25],[-29,66],[-33,49],[8,-35],[9,-22],[-17,-60],[16,-102],[-14,-65],[-13,-85],[-12,-40],[-40,-87],[-32,-29],[-21,-6],[-19,10],[-23,44],[-5,38],[-4,63],[-8,9],[-9,-8],[14,-81],[0,-38],[24,-72],[-9,-21],[-44,-40],[-15,7],[-10,-8],[-3,-33],[-6,-18],[-69,-51],[-14,-56],[-9,-57],[-35,-83],[-46,-68],[-11,4],[-13,16],[2,73],[15,63],[-5,66],[-3,-38],[-30,-93],[-14,-30],[-27,8],[-38,-12],[-14,95],[0,35],[-3,29],[5,32],[-2,25],[-9,-48],[-3,-41],[-14,-37],[-38,-39],[-1,50],[-2,45],[8,40],[-1,65],[12,93],[-1,31],[-3,36],[-7,-52],[-4,-53],[-8,-16],[-13,-12],[-26,-60],[-15,-55],[-40,-51],[-20,5],[-3,65],[16,232],[15,32],[8,40],[12,136],[15,51],[6,107],[6,18],[19,85],[7,154],[-8,77],[-18,74],[-18,224],[-46,181],[-4,60],[-22,73],[21,5],[-43,64],[-6,26],[-9,150],[2,84],[-6,-11],[-6,-52],[-17,-21],[7,-89],[-1,-22],[-9,-35],[-36,36],[-26,40],[-30,95],[-29,108],[10,16],[13,2],[42,-80],[27,-16],[17,20],[21,34],[10,66],[-11,24],[-20,13],[-13,18],[-20,45],[-2,23],[-6,29],[-20,20],[-16,26],[14,47],[13,34],[-35,-2],[-39,60],[-9,17],[-13,12],[-31,7],[-26,-18],[12,-84],[-2,-28],[-17,4],[-36,128],[11,33],[15,30],[-7,5],[-15,-2],[14,114],[-9,17],[-4,-36],[-8,-34],[-30,-81],[-15,15],[-10,20],[14,42],[8,12],[5,23],[-11,44],[-18,32],[-14,55],[-7,1],[6,-65],[-2,-94],[-32,103],[-64,147],[-15,44]],[[75645,62789],[-5,-1],[-16,56],[-15,59],[-39,113],[-12,202],[-1,100],[-26,118],[-18,162],[-7,42],[9,53],[2,20],[-5,-5],[-14,-27],[-17,65],[-11,58],[-46,120],[-13,53],[-1,52],[-19,-52],[-27,-37],[-27,-55],[-18,-16],[-57,-10],[-33,73],[-47,180],[-7,41],[6,106],[-11,100],[0,53],[-3,36],[-8,-8],[-4,-24],[2,-38],[-3,-31],[-41,6],[-39,14],[34,-52],[36,-13],[19,-47],[3,-37],[-1,-41],[-19,-29],[-17,-19],[3,-39],[21,-49],[-26,-14],[-6,-31],[-1,-46],[13,-39],[5,-30],[-3,-27],[12,-30],[18,-61],[5,-44],[-7,-61],[-10,-24],[-16,-23],[-39,-77],[-19,-89],[-16,-41],[-20,-8],[-7,19],[-17,23],[0,43],[5,34],[33,83],[-18,-11],[-21,-24],[-31,-45],[-11,56],[-6,51],[0,63],[25,93],[-29,-46],[-8,-59],[4,-69],[-4,-48],[-11,-64],[-15,-38],[-25,-25],[-11,-37],[-17,-28],[0,55],[-5,73],[-18,173],[-4,-37],[9,-107],[0,-70],[-14,-55],[-27,-59],[-21,-9],[-12,9],[-19,37],[-20,53],[-4,84],[-8,46]],[[74736,63560],[-7,-92],[-22,0],[20,-62],[6,-44],[3,-62],[-24,-8],[-16,7],[-14,55],[-7,-50],[-24,-45],[-9,22],[-5,24],[-1,42],[13,161],[-2,18],[-7,12],[-13,7],[-5,32],[-21,-172],[9,-70],[-4,-32],[-38,-27],[-39,65],[-5,21],[-3,-37],[-7,-44],[-36,8],[-19,35],[12,59],[23,141],[4,64],[-30,46],[-26,28],[-15,65],[6,-71],[14,-25],[20,-18],[21,-36],[-15,-44],[-15,-27],[-29,-104],[-34,-59],[-41,-43],[-132,-65],[-28,-26],[-41,-80],[-26,-76],[-5,-78],[15,-83],[12,-131],[10,-26],[-14,-48],[-25,-50],[-20,-69],[2,-37],[-5,-25],[-70,-84],[-15,-49],[-19,-49],[-23,28],[-14,-1],[19,-38],[-3,-26],[-6,-15],[-18,-14],[-101,-61],[-77,-59],[-22,2],[4,18],[14,16],[-1,67],[-15,13],[-12,4],[-59,-82],[-23,-81],[5,-15],[13,4],[39,46],[19,-13],[1,-18],[-60,-70],[-126,-227],[-6,-45],[-17,-50],[-22,-48],[-41,-115],[-78,-172],[-21,-63],[-125,-132],[-23,-40],[-51,-128],[-53,-105],[-62,-88],[-106,-111],[-65,-105],[-20,-70],[-2,-25],[7,-34],[12,-32],[3,-25],[-6,-45],[-3,-25],[-19,-62],[-33,-44],[-105,-93],[-14,3],[-86,19],[-32,-17],[-13,-43],[-30,-179],[-28,-48],[-11,-43],[-4,-30],[-17,1],[-14,13],[-11,-9],[-12,60],[-21,12],[-17,4],[-73,-60],[-25,-49],[-53,-229],[-14,-148],[13,-164],[18,-130],[4,-59],[-2,-77],[-10,-37],[-6,-44],[8,-91],[23,-119],[5,-50],[1,-52],[17,-119],[-12,22],[-9,50],[-21,64],[-26,-64],[14,-46],[49,-54],[15,-45],[-32,-397],[-24,-142],[-29,-92],[-16,-36],[-34,-146],[-24,-177],[-5,-68],[11,-76],[-12,-45],[-16,-35],[30,16],[10,-42],[3,-42],[1,-254],[-3,-264],[-23,-11],[-25,-3],[-22,8],[-16,10],[-39,-14],[-21,-29],[-17,-49],[1,-82],[-72,-209],[-16,-70],[-6,-66],[10,-35],[18,-36],[24,-15],[47,-14],[23,-19],[15,-36],[-55,38],[-65,7],[-155,-97],[-41,-68],[-23,-58],[-15,-135],[-3,-90],[-18,-75],[-81,-116],[-51,-35],[-19,-31],[-60,40],[-66,101],[-27,54],[-97,261],[-18,33],[-19,111],[-4,42],[-5,16],[-9,11],[-5,18],[-21,127],[-9,133],[-14,148],[11,-10],[17,-49],[8,-71],[1,-99],[12,-11],[11,9],[-31,229],[-28,56],[-7,4],[-7,37],[-1,46],[2,22],[-21,74],[-8,45],[-48,226],[-22,162],[-33,180],[-22,64],[-34,139],[-28,64],[-30,87],[-24,38],[-9,21],[-70,300],[-21,166],[-18,78],[-9,60],[-25,254],[0,46],[-3,50],[-17,107],[-31,117],[-9,72],[1,29],[-20,113],[-4,52],[-13,47],[-15,44],[-16,35],[-37,115],[-14,28],[-25,74],[-18,137],[-23,54],[36,0],[-22,51],[-11,33],[-12,20],[17,51],[-27,-1],[-15,31],[-20,96],[-37,108],[-6,58],[-32,183],[-27,437],[-26,195],[2,56],[-30,169],[-15,113],[-6,96],[-8,63],[-7,124],[-12,40],[-1,24],[8,57],[22,87],[8,56],[-10,78],[-20,-82],[-18,-23],[-9,62],[0,82],[-2,20],[5,28],[49,-13],[-56,51],[-6,29],[-3,23],[12,41],[-20,34],[-8,106],[-6,24],[-2,20],[11,146],[48,288],[4,65],[-5,92],[-10,73],[-5,78],[-3,20],[-17,7],[-16,29],[-19,115],[17,38],[13,20],[-18,-8],[-15,3],[29,53],[25,41],[59,47],[25,30],[-37,-27],[-38,-10],[-83,5],[14,107],[14,36],[16,20],[-23,-6],[-27,9],[9,109],[21,23],[22,5],[28,15],[-30,18],[-31,9],[-37,-18],[-34,13],[-42,0],[17,-15],[17,-33],[-8,-59],[-9,-37],[-23,-25],[-18,-38],[-6,-34],[-10,-24],[18,-17],[19,-12],[11,-27],[13,-40],[-1,-77],[-49,-182],[-17,-40],[-124,-110],[-48,-60],[-104,-77],[-40,-15],[-44,16],[-66,59],[-99,151],[-26,49],[-79,194],[-57,103],[-44,95],[-54,90],[-51,122],[-10,55],[3,56],[19,31],[22,-12],[18,-48],[12,-21],[11,-9],[76,73],[29,-3],[20,37],[25,-8],[52,56],[22,4],[26,11],[42,144],[31,92],[20,19],[-1,22],[-5,29],[-16,-7],[-10,-28],[-8,-33],[-8,-20],[-24,18],[-17,-3],[-20,-11],[-75,-54],[-31,-48],[-20,-9],[-119,53],[-117,121],[-49,81],[-31,103],[-31,123],[10,34],[48,74],[42,58],[-37,-26],[-41,-35],[-20,-26],[-22,-52],[-31,-12],[-11,78],[-8,76]],[[68934,64605],[-4,-35],[-10,-26],[-13,38],[-9,18],[-9,-13],[-14,1],[-26,44],[-11,-44],[-42,-10],[-5,33],[-1,31],[-23,-22],[-17,34],[-7,47],[-6,12],[-8,15],[-17,16],[-16,49],[-1,53],[-4,62],[-33,230],[-20,21],[-110,41],[-6,40],[8,108],[-3,68],[-36,90],[-10,63],[-29,54],[-29,16],[-30,-7],[-15,-22],[-9,-36],[63,9],[14,-13],[17,-24],[-18,1],[-21,11],[-26,-1],[-98,-26],[-56,-38],[-76,11],[-96,-37],[-79,-3],[-33,-73],[-18,13],[-14,18],[-109,58],[-7,24],[-18,17],[-20,-31],[-15,-5],[-59,26],[-46,-20],[-17,-32],[-1,-52],[-57,10],[-32,16],[-43,-18],[-98,24],[-25,-6],[-36,-34],[-15,-26],[-21,-11],[-18,37],[-14,16],[-13,-10],[-18,-31],[-50,-14],[-46,4]],[[67150,65364],[-58,34]],[[67092,65398],[-12,-25],[-22,-30],[-47,23],[-37,25],[-124,58],[-13,29],[-8,49],[-21,14],[-31,-74],[-104,43],[-36,-13],[-21,23],[-57,1],[-44,47],[-64,-32],[-50,-7],[-69,82],[-74,22],[-60,-7],[-31,7],[-50,29],[-24,30],[-39,-23],[-18,43],[-110,39],[-21,76],[-15,70],[-1,72],[-27,126],[-9,183],[-10,71],[-15,62],[-20,53],[-27,56],[-24,23],[-103,43],[-20,-6],[-46,-28],[-49,-63],[-81,-35],[-17,-27],[-20,-61],[-26,-35],[-36,9],[-39,-36],[-72,-100],[-38,-30],[-32,2],[-34,48],[-76,63],[-49,22],[-69,-15],[-32,11],[-56,74],[-14,55],[-32,36],[-99,81],[-81,108],[-15,40],[-10,60],[-35,73],[-79,60],[-45,64],[-52,14],[-49,-2],[-21,11],[-20,27],[-67,131],[0,52],[-41,128],[-10,46],[-9,127],[-11,33],[-43,52],[-7,34],[10,46],[0,34],[-23,33],[-33,17],[-8,39],[6,75],[-5,48],[-30,76],[-43,77],[-44,115],[-17,29],[-11,75],[-16,89],[-24,6],[-119,-106],[-35,60],[-104,104],[-8,16],[-7,24],[13,14],[13,5],[26,-18],[16,22],[-6,35],[-26,22],[-36,-1],[10,-34],[-34,-31],[-7,-41],[5,-52],[3,-71],[-14,-35],[-10,-16],[-45,-4],[-21,-31],[-14,-8]],[[63484,68222],[-25,-14],[-28,11],[-59,50],[-19,1],[-25,-19],[-1,-17]],[[63327,68234],[-2,-22],[9,-65],[20,-71],[17,-58],[2,-27],[-15,4],[-12,11],[-22,11],[-42,-76],[-26,-42],[0,-14],[34,-16],[25,0],[17,11],[15,-17],[10,-48],[4,-38],[23,-137],[19,-46],[24,-82],[9,-43],[5,-35],[15,-53]],[[63456,67381],[15,-55],[7,-56],[29,-132],[41,-103],[9,-37],[7,-57],[-7,-20],[-3,-25],[30,-56],[51,-48],[19,-12],[22,-21],[-17,-33],[30,-75],[34,-77],[37,-17],[50,-116],[74,-75],[46,-99],[-4,-2],[-14,10],[-16,14],[-5,-12],[0,-42],[5,-48],[23,-42],[21,-30],[8,-58],[-17,-123],[-5,0],[-11,11],[-12,2],[-6,-7],[14,-88],[13,-68],[17,-54],[14,-79],[11,-33],[49,-84],[14,-70],[14,-130],[30,-73],[17,-56],[22,-48]],[[64112,65157],[8,37],[3,22],[-19,171],[-6,132],[2,27],[11,31],[19,68],[9,66],[28,153],[29,58],[43,43],[35,-84],[43,-64],[8,-72],[-13,-59],[-11,-93],[7,-43],[2,-37],[12,-62],[11,-81],[2,-56],[-6,-53],[-15,-43],[-29,-132],[-9,-14],[-36,-22]],[[64240,65050],[20,-26],[20,4],[2,-24],[-13,-32],[-17,-81],[24,-12],[22,-7],[17,-13],[9,0]],[[64324,64859],[10,31],[5,-22],[12,-30],[19,8],[9,-5],[7,-107],[14,-38],[18,-15],[59,-8],[36,14],[73,69],[38,25],[105,-4],[84,-29],[131,-17],[26,4],[70,56],[44,49],[26,15],[17,47],[11,62],[10,40],[13,20],[12,34],[9,56],[25,56],[97,137],[57,116],[5,37],[32,56],[24,61],[117,176],[23,72],[14,81],[1,6]],[[65577,65912],[24,85],[9,13],[8,-5],[22,9],[11,46],[9,26],[10,-3],[4,-14],[-3,-71],[0,-59],[-12,-180],[-13,-31],[-6,-26],[-2,-34]],[[65638,65668],[18,-48],[2,-327],[5,-23]],[[65663,65270],[28,-156],[42,-146],[37,-80],[38,-109],[59,-101],[27,-34],[108,-71],[60,-26],[82,-25],[57,-55],[19,-3],[29,16],[22,-1],[54,-75],[16,-71],[23,-38],[20,-59],[13,-61],[45,-94],[33,-106],[33,-79],[29,-48],[44,-20],[36,-22],[4,-52],[-4,-68],[-7,-51],[-33,-98],[-8,-61],[-37,-100],[-41,-168],[-18,-38],[-66,-86],[-48,-105],[-57,-181],[-43,-179],[-17,-58],[-35,-12],[-23,5],[-15,17],[6,49],[4,55],[-21,-6],[-19,-11],[-43,-134],[-24,-59],[-5,-75],[-12,-97],[-16,-89],[-8,-74],[0,-43],[13,-103],[1,-106],[7,-64],[6,-76],[-20,-24],[-18,-11],[-68,-9],[-70,-24],[-61,-44],[-37,-44],[-47,-99],[-29,-250],[-47,-105],[-31,-22],[-76,-9],[-106,-29],[-38,-26],[-62,-152],[-5,-48],[12,-35],[4,-38],[-5,-36],[-29,-97],[-30,-70],[-81,-44],[-30,26],[-27,13],[-53,2],[-86,-17],[-31,-52],[-50,-37],[-46,-56],[-87,-22],[-59,-45]],[[64745,60334],[-140,-105],[-37,-47],[-33,-58],[-25,-72],[-18,-127],[13,-117],[-1,-62],[-36,-41],[-34,-30],[-37,-45],[-23,-11],[-19,-37],[-21,-25],[-78,-65],[-86,-51],[-135,-61],[-53,-65],[-47,-45],[-73,-14],[-99,-63],[-55,-50],[-69,-81],[-15,-26],[-12,-60],[-21,-52],[-42,-85],[-31,-44],[-20,-2],[-41,-24],[-47,-5],[-80,30],[-21,-21],[-17,-33],[-61,-58],[-63,-117],[-46,-31],[-74,-37],[-52,-48],[-35,-20],[-44,-10],[-83,5],[-79,-17],[-73,-33],[-34,-63],[-39,-98],[-64,-41],[-15,-35],[-20,-73],[-41,-19],[-38,-12],[-38,32],[-72,-88],[-27,-15],[-41,-3],[-30,-18],[-21,5],[-26,34],[-56,42],[-41,-27],[-3,83],[-68,253],[14,221],[0,31],[-13,99],[-40,90],[1,114],[-14,82],[-10,84],[3,22],[1,20],[-21,129],[-7,27],[-2,27],[6,20],[0,24],[-11,40],[-11,76],[-55,59],[11,55],[11,-19],[14,-17],[3,36],[0,27],[-23,168],[34,223],[-11,202]],[[61888,60171],[-3,47],[-16,70],[-1,49],[-8,50],[-14,38],[-26,40],[-3,54],[-19,53],[-25,43],[-15,80],[-10,105],[-67,139],[-84,128],[-26,73],[-42,147],[-21,116],[-56,134],[-2,52],[-9,62],[-13,70],[-7,55],[-57,242],[-18,39],[-16,54],[-4,41],[-5,23],[-39,40],[-38,101],[-111,162],[-55,16],[-43,57],[-32,76],[-34,130],[-60,140],[-50,199],[16,73],[-1,51],[-16,86],[-17,66],[-12,63],[10,90],[3,100],[10,54],[7,59],[-9,118],[-17,63],[2,42],[-19,21],[-16,45],[16,0],[-29,64],[-11,35],[-11,86],[-14,66],[-45,150],[-22,91],[-49,118],[-53,87],[-33,40],[-16,36],[-28,1],[-30,51],[-21,2],[-26,9],[-31,99],[-26,93],[-44,121],[11,31],[13,52],[-6,67],[-7,46],[-19,83],[-64,207],[-17,31],[-27,34],[-16,90],[-8,81],[-44,39],[-74,290],[-44,101],[-17,69],[-50,112],[-24,111],[-51,103],[-44,179],[-67,178],[-29,31],[-69,13],[-30,13],[-27,-39],[-2,49],[19,69],[26,144],[6,126],[42,375]],[[59708,67861],[9,78],[-3,42]],[[59714,67981],[-19,-46]],[[59695,67935],[-15,-27],[-32,-96],[-33,-303],[-47,-238],[-5,-148],[-8,-54],[-23,-75],[-27,-74],[-49,38],[-79,130],[-46,123],[-49,80],[-47,105],[-13,76],[1,48],[-21,119],[-15,56],[-57,127],[-16,67],[-13,30],[-12,42],[-21,164],[-23,104],[-25,-29],[4,-44],[-22,-60],[-14,-70],[11,-58],[46,-87],[10,-38],[11,-83],[-2,-113],[7,-38],[35,-83],[13,-50],[7,-43],[12,-39],[34,-72],[50,-139],[47,-93],[35,-46],[14,-45],[3,-116],[-2,-56],[30,-105],[11,-53],[29,-43],[13,-49],[12,-81],[18,-237],[26,-58],[77,-312],[66,-197],[32,-148],[48,-179],[95,-394],[56,-121],[22,-68],[41,-53],[44,-76],[-42,7],[-10,-4],[-15,-13],[-7,-46],[-3,-38],[5,-199],[11,-102],[37,-193],[28,-57],[14,-38],[18,-27],[88,-66],[52,-139],[115,-175],[11,-49],[0,-11]],[[60241,63503],[4,-135],[12,-108],[43,-154],[36,-83],[13,-46],[1,-21],[-1,-20],[-11,22],[-19,16],[-3,-72],[5,-52],[4,-96],[15,-104],[-11,-96],[2,-162],[19,-195],[-4,-125],[32,-290],[30,-161],[17,-40],[19,-21],[36,-13],[53,-82],[43,-87],[15,-45],[20,-50],[14,9],[9,13],[13,-40],[67,-87],[10,-40]],[[60724,61138],[84,-342],[34,-203],[30,-211],[23,-317],[21,-161],[34,-80],[23,-151],[21,-6],[14,-41],[25,-142],[18,-52],[9,45],[-1,26],[-7,44],[7,56],[14,33],[31,-45],[18,-35],[5,-70],[7,-38],[33,-82],[28,-24],[37,-5],[30,-18],[25,-30],[46,-83],[104,-73],[85,-223],[49,-155],[163,-234],[28,-112],[15,-110],[34,5],[59,-120],[17,-91],[48,-34],[9,54],[23,-44],[9,-69]],[[61976,58000],[4,-28],[47,-117],[15,-57],[16,-105],[-9,-58],[-12,-38],[-18,-35],[-62,-83],[-69,-53],[-44,-106],[-33,7],[5,-40],[12,-5],[19,8],[38,31],[34,15],[37,1],[33,-14],[23,-39]],[[62012,57284],[54,-91],[53,-184],[62,-149],[85,-138],[33,-47],[30,-24],[155,3],[109,127],[100,91],[33,19],[58,-25],[64,-8],[57,-27],[29,7],[114,106],[71,103],[48,44],[20,1],[66,-38],[85,17],[117,89],[37,18],[28,1],[64,-40],[9,2]],[[63593,57141],[35,8],[90,42],[71,64],[130,47],[99,117],[17,57],[30,71],[43,24],[111,-84],[18,-7],[-7,-51],[-3,-51],[-23,-91],[-15,-100],[11,-153],[5,-249],[-3,-36],[-7,-36],[-3,-28],[-12,-10],[-5,-16],[9,-6],[34,27],[0,30],[2,14],[28,-33],[21,-14],[5,-31],[-1,-21],[-32,9],[-17,17],[-48,-27],[-29,-30],[-9,-48],[-7,-195],[-11,-127],[-3,-167],[-38,-111],[-14,-78],[-57,-156],[-31,-134],[-9,-65],[-51,-184],[-70,-140],[-25,-180],[-25,-112],[-28,-103],[-62,-181],[-31,-127],[-40,-218],[-12,-139],[-111,-403],[-115,-321],[-72,-270],[-129,-313],[-176,-404],[-230,-480],[-62,-98],[-252,-296],[-163,-249],[-83,-169],[-88,-147],[-69,-139],[-210,-473],[-22,-44],[-20,-42],[-27,-80],[-18,-32],[-50,-135],[-31,-70],[-36,-69],[-14,-49],[-11,-56],[-12,-32],[-31,-134],[-28,-88],[-28,-69]],[[61536,49467],[-40,-102],[-33,-46],[-45,-22],[-13,4],[-18,15],[-7,-25],[-5,-38],[-10,8],[-7,11],[4,-67],[5,-33],[-7,-46],[-22,-39],[-2,-33],[-47,-87],[-66,-10],[-35,-43],[-16,-35],[-12,-78],[5,-118],[-19,-92],[-3,-46],[-35,-59],[-15,-54],[-11,-56],[-10,-24],[-12,-124],[-16,-75],[-4,-25],[-4,-23],[-12,-44],[-8,-30],[-6,-20],[-41,-193],[-32,-87],[-24,10],[-17,-34],[-2,-16]],[[60894,47691],[-5,-50],[-22,-120],[-1,-51],[-9,-59],[-8,-39],[-22,-170],[-19,-64],[-25,-149],[-5,-114],[15,-80],[5,-75],[30,-73],[23,-26],[17,-34],[28,-76],[17,-77],[51,-38],[20,-86],[-7,-59],[-24,-49],[-22,-80],[-18,-105],[-1,-159],[13,24],[27,-39],[3,-118],[-28,-137],[-8,-64],[-2,-55],[21,-164],[30,-84],[-2,-26],[-8,-22],[53,-148],[-5,-128],[20,-100],[9,-87],[13,-67],[2,-46],[-16,-50],[39,-13],[22,-42],[11,-40],[28,2],[15,-27],[22,-23],[47,-67],[13,-33],[5,-20],[3,-12]],[[61239,44272],[15,-61],[26,-56],[-15,-32],[-19,-29],[30,-39],[-22,-59],[-3,-41],[6,-16],[5,-23],[-15,-68],[-20,-51],[-5,-39],[18,-70],[-9,-123],[17,-111],[4,-57],[6,-38],[-8,-68],[2,-114],[4,-48],[-10,-59],[17,-20],[9,-65],[-3,-72],[-5,-40],[-29,-47],[-4,-19],[1,-27],[36,-1],[2,-44],[-3,-34],[2,-64],[-5,-41],[8,-48],[-10,-53],[4,-40],[0,-53],[9,-133],[1,-165],[2,-26],[13,-19],[18,-9],[0,-45],[-21,-59],[-1,-37],[3,-51],[22,70],[14,0],[12,-28],[-2,-40],[4,-20],[-2,-39],[7,-50],[-3,-43],[-16,-30],[-21,-52],[-4,-48],[2,-32],[-14,-10],[-7,-20],[10,-45],[-1,-41],[-25,-126],[-68,-172],[-30,-61],[-27,-67],[0,-27],[-3,-23],[-32,-95],[-34,-16],[-20,-25],[15,-84],[-22,-19],[-39,-66],[-106,-126],[-17,-30],[-27,-77],[-35,-19],[-20,-22],[-36,-8],[-12,6],[-12,-3],[-10,-17],[-70,-54],[-66,-43],[-16,-20],[-11,-27],[-58,-42],[-91,-105],[-74,-101],[-54,-100],[-14,-15],[-17,-35],[-5,-51],[-6,-29],[-40,-106],[-60,-125],[-11,-34],[-24,-69],[-2,-46],[-22,-14],[-18,44],[-7,-84],[-15,-6],[-16,17],[-40,-41],[-35,-48],[-56,-101],[-80,-196],[-116,-189],[-16,-5],[-10,1],[-37,66],[-20,4],[18,-39],[12,-32],[-3,-64],[1,-95],[-14,-186],[2,-41],[16,-52],[31,-65],[30,-80],[37,-231],[3,-118],[39,-152],[1,-65],[16,-164],[-1,-132],[-3,-81],[19,-34],[7,31],[-2,51],[5,82],[10,37],[11,-5],[3,-39],[7,-34],[3,-33],[0,-44],[-14,-166],[4,-68],[19,-113],[-22,-132],[-33,-309],[-1,-54],[7,-23],[18,-8],[6,39],[11,0],[5,-23],[-14,-143],[-15,-63],[-51,-153],[-27,-66],[-46,-65],[-106,-101],[-215,-146],[-85,-72],[-50,-42],[-108,-136],[-47,-91],[-19,-105],[-19,-48],[-18,-61],[16,-52],[16,-39],[18,-26],[10,-23],[12,-16],[13,82],[6,25],[11,2],[-6,-100],[-13,-342],[-1,-11]],[[59134,34565],[-10,-137],[-40,-214],[-13,-98],[-34,-351],[-44,-177],[-25,-73],[-72,-129],[-20,-27],[-18,-16],[-31,-15],[-123,-262],[-46,-126],[-41,-183],[-40,-101],[-60,-215],[-53,-166],[-51,-152],[-88,-208],[-39,-60],[-27,-28],[-70,-121],[-99,-195],[-75,-172],[-113,-196],[-65,-86],[-99,-168],[-27,-25],[-111,-157],[-79,-95],[-129,-110],[-51,-31],[-122,28],[-51,-15],[-43,-67],[-4,-95],[-18,-15],[-27,5],[-85,40],[-46,-8],[-27,-51],[-22,-65],[-64,-3],[-115,67],[-135,41],[-31,4],[-65,-50],[-23,-7],[-95,11],[-53,31],[-51,0],[-38,-26],[-47,-9],[-127,-179],[-66,-1],[-56,-21],[-28,1],[-53,25],[-19,-1],[-30,-12],[-30,-31],[-68,-14],[-26,-27],[-115,-164],[-26,6],[-22,11],[-59,2],[-68,87],[-26,-5],[7,26],[2,47],[-14,32],[-10,15],[-26,-3],[-14,40],[-41,4],[-14,-10],[-20,-2],[-1,40],[1,25],[-1,39],[-5,47],[-16,15],[-12,7],[-28,-4],[-20,-5],[-10,-13],[-10,-35],[0,-106],[-15,30],[-16,64],[-5,67],[6,80],[31,31],[-3,54],[-6,47],[-35,120],[-13,55],[-29,37],[-23,90],[-23,32],[-9,63],[-22,51],[-8,79],[12,46],[20,24],[20,-39],[24,15],[35,58],[21,87],[1,139],[-5,88],[-28,225],[-13,51],[-63,162],[-72,215],[-92,341],[-44,204],[-66,412],[-59,234],[-72,218],[-9,14]],[[54568,33517],[-31,48],[-91,181],[-32,47],[-48,110],[-105,343],[-15,66],[-20,166],[-23,123],[-3,71],[11,40],[-6,55],[-12,49],[-36,63],[-10,214],[-24,137],[5,114],[-11,104],[-1,66],[5,127],[-19,145],[-39,142],[-35,205],[-5,90],[3,241],[-6,99],[0,116],[-14,120],[-6,65],[10,52],[6,-16],[10,-8],[7,69],[1,60],[-17,150],[-39,154],[-97,250],[-24,96],[-13,79],[-108,329],[-46,233],[-33,201],[-35,93],[-162,652],[-36,104],[-65,125],[-15,41],[-25,119],[-48,159],[-12,149],[-4,168],[6,129]],[[53261,40252],[11,224],[11,99],[0,118],[-7,307],[-7,42],[-5,50],[27,37],[14,29],[19,51],[13,71],[16,158],[58,361],[27,355],[35,168],[13,188],[96,243],[24,149],[50,74],[70,78],[51,138],[24,97],[28,184],[-1,192],[18,257],[-4,74],[-26,102],[-5,73],[-24,72],[-27,55],[-12,97],[-45,152],[-13,102],[-21,74],[-4,90],[-11,95],[-22,95],[-22,108],[0,34],[14,40],[12,14],[-4,-21],[-8,-24],[2,-19],[84,190],[6,37],[-3,41],[-1,51],[4,59],[-80,349],[-64,325],[-10,164],[-84,216],[-33,140],[-19,99],[-15,37],[6,19],[21,5],[49,22],[65,25],[61,57],[17,26]],[[53630,46997],[-19,17],[-39,-11],[-19,-14],[-31,-49],[-46,-26],[-17,2],[-12,9],[-27,54],[-20,52],[-8,29]],[[53392,47060],[-4,15],[-12,59],[7,56],[7,42],[-8,85],[-18,75],[-20,96],[-6,19]],[[53338,47507],[-4,13],[-10,16],[-21,53],[-20,65],[-5,30],[-6,17],[-1,65],[-30,78],[-77,139],[-8,41],[-65,127]],[[53091,48151],[-27,53],[-24,98],[-27,59],[-58,97],[-15,71],[-66,157],[-95,157],[-69,136],[-10,30],[12,-3],[66,-68],[9,7],[7,16],[-28,35],[-27,28],[-26,18],[-26,-2],[-14,29],[-9,44],[-5,37],[-11,39],[-37,81],[-9,31],[-19,43],[12,5],[39,-40],[3,16],[-3,24],[-39,38],[-22,3],[-5,27],[3,32],[-28,117],[-29,88],[-4,42],[78,-192],[11,-3],[13,2],[33,21],[-6,26],[-15,27],[-14,-12],[-19,-3],[-9,12],[-5,19],[19,93],[-8,-4],[-6,-17],[-10,-8],[-16,-5],[-39,50],[-34,134],[-9,28],[-9,47],[-9,19],[-39,191],[15,-14],[18,-55],[35,11],[13,32],[12,-1],[12,7],[15,31],[45,131],[12,174],[-4,103],[-7,102],[15,33],[6,-22],[3,-36],[7,-27],[16,-24],[29,-7],[46,-37],[16,-25],[4,49],[53,41],[-16,15],[-47,-17],[-64,62],[-21,39],[-20,74],[-20,38],[1,35],[46,32],[12,-4],[5,-38],[12,-15],[5,5],[2,32],[0,88],[-14,126],[5,24]],[[52664,51083],[2,13],[-25,36],[-18,3],[-16,11],[13,93],[17,83],[25,62],[13,15],[4,31],[20,101],[25,82],[-8,84],[6,139]],[[52722,51836],[6,140],[12,116],[5,107],[18,96],[-9,96],[-11,41],[-57,135],[26,51],[-34,-7],[-7,50],[-17,60],[10,10],[10,33],[31,-10],[-1,16],[-27,50],[3,26],[11,28],[-6,12],[-19,-29],[-14,1],[-10,19],[-8,3],[5,-39],[-11,-34],[-10,-12],[-18,2],[-14,9],[-4,19],[-13,15],[-38,25],[-31,30],[-7,83],[-12,35],[-6,40],[-3,46],[5,70],[-8,11],[-9,4],[-14,-3],[-13,4],[-15,39],[-13,15],[8,-72],[-9,-20],[-23,6],[-9,27],[-2,20],[10,87],[-4,1]],[[52376,53288],[-3,2],[-8,-20],[-23,13],[-11,40],[-14,7],[-25,58],[-5,-9],[26,-149],[-10,-59],[-73,-1],[-64,-20],[-43,2],[-22,21],[-10,56],[-3,-6],[-3,-30],[-13,-23],[-49,-5],[-22,39],[-17,42],[-19,19],[3,-18],[22,-41],[-3,-60],[-39,-70],[-25,-4],[-16,30],[-8,49],[-4,72],[-10,47],[-6,0],[5,-43],[2,-35],[0,-73],[19,-57],[-29,-17],[-11,-1],[-23,-1],[-4,21],[-5,47],[-6,12],[-7,-80],[-15,-5],[-10,0],[-46,-17],[-10,3],[-2,15],[6,22],[-2,36],[-15,-28],[-3,-55],[-9,-9],[-27,8],[-29,29],[-18,29],[-30,40],[-58,113],[-10,51],[-17,63],[-12,63],[-18,109],[5,8],[14,-10],[7,17],[-25,11],[-5,13],[-1,38],[1,47],[19,16],[18,8],[8,28],[5,28],[-45,-43],[-43,49],[-9,30],[4,22],[21,4],[29,-2],[17,22],[-10,8],[-19,-1],[-7,14],[0,36],[-6,-8],[-8,-31],[-29,-23],[-16,23],[-2,51],[-4,23],[-14,18],[-50,135],[-63,114],[-57,77],[-84,38],[-178,-2],[-10,11],[11,18],[16,12],[57,63],[-10,8],[-59,-39],[-21,-4],[-26,-76],[-156,-13],[-19,-3]],[[50751,54245],[-116,-25],[-130,-40],[-55,-26]],[[50450,54154],[-86,-41],[-35,-34]],[[50329,54079],[-22,-23],[-16,-34],[-12,-52],[-16,-57],[-55,-29],[-22,0],[-114,-2],[-108,-112],[-61,-40],[-38,-63],[-51,-45],[-36,-54],[-74,-26],[-122,-86],[-38,-34],[-38,-59],[-63,-70],[-24,1],[-49,65],[-37,33],[-90,50],[-67,19],[-33,21],[-8,4]],[[49135,53486],[-37,15],[8,20],[36,-12]],[[49142,53509],[19,2]],[[49161,53511],[-2,12],[-11,4],[-29,27],[5,86],[-13,3],[-11,-11],[-20,-103],[-10,-18],[-146,53],[-31,43],[-38,10],[-66,-5],[-54,-13],[-16,-26],[137,15],[15,-3],[7,-15],[-173,-34],[-67,-21],[-19,6],[-15,33],[-72,4],[-15,-11],[-8,-24],[28,5],[44,2],[12,-19],[-139,-25],[-97,-46],[-41,-34],[-135,-114],[-83,-53],[-22,-20],[-37,-55],[-48,-35],[-54,-65],[-33,-15]],[[47904,53049],[-32,9],[-94,84],[-73,49],[-242,275],[-68,110],[-77,165],[-173,331],[-39,53],[-50,26],[-31,28],[-21,31],[-18,91],[-43,55],[-80,78],[-60,129]],[[46803,54563],[-11,24],[-52,84],[-54,56],[-116,94],[-39,26],[2,33],[13,61],[-22,72],[9,52],[-9,0],[-16,-32],[-36,9],[-23,45],[-19,16],[-9,23],[-12,117],[-9,54],[-17,33],[-36,8],[-15,72],[-19,55],[3,35],[16,-2],[13,-25],[20,-11],[25,61],[23,32],[5,29],[-3,16],[-14,-25],[-37,6],[-9,-21],[-17,-7],[-13,70],[1,42],[5,45],[38,8],[3,15],[-26,10],[-33,53],[-6,36]],[[46307,55832],[-3,18],[10,54],[-8,29],[-28,56],[-2,28],[-9,35],[-36,73],[-35,-4],[10,61],[-1,81],[-11,45],[3,45],[-7,-3],[-11,-31],[-18,10],[-38,48],[-18,47],[-3,40],[-4,15],[-11,-8],[-24,1],[-71,71],[-51,178],[-1,41],[7,69],[-1,19],[-23,-46],[-5,31],[-18,71],[-5,42],[-17,18],[-14,3],[-10,-14],[-14,-83],[-11,0],[-10,18],[2,63]],[[45821,56953],[-14,42],[11,77],[-12,-1],[-23,-63],[-12,-2],[2,75],[-13,2],[-15,-5],[-21,39],[-2,29],[1,40],[13,26],[-2,11],[-12,3],[-14,-7],[-8,12],[14,53],[49,44],[24,4],[26,10],[-14,38],[-30,15],[-24,-10],[-12,-28],[-15,-4],[-25,64],[1,32],[9,38],[14,18],[57,-1],[22,22],[9,4],[8,19],[-2,13],[-9,1],[-21,-26],[-69,10],[-22,-15],[-38,-59],[-47,-33],[-34,14],[11,79],[-5,11],[-10,13],[-50,-25],[-38,36],[-15,43],[3,55],[17,37],[3,18],[-19,4],[-34,-24],[-77,90]],[[45357,57791],[-9,26],[-11,43],[7,32],[23,20],[34,27],[19,-14],[10,0],[2,17],[-3,9],[-26,23],[-14,30],[-11,-18],[-10,-37],[-8,-11],[-12,-11],[-6,26],[-3,25],[5,19],[-2,107],[3,57],[-2,50]],[[45343,58211],[-2,50],[-15,114],[21,50],[22,29],[15,-23],[5,-47],[12,-31],[39,-20],[40,14],[24,-7],[-1,26],[8,34],[48,15],[50,10],[52,21],[41,-1],[12,5],[-3,9],[-36,10],[-78,-24],[-80,-6],[-60,-63],[-24,6],[-25,62],[-9,77]],[[45399,58521],[-7,60],[-17,49],[-27,41],[-6,38],[9,33],[26,28],[6,19],[-13,-2],[-21,-18],[-14,-1],[-1,53],[-23,68],[-26,115],[-30,48],[-24,93],[-26,36],[-24,16],[-20,-3],[-7,-43],[-25,62],[34,22],[73,77],[85,220],[76,261],[9,62]],[[45406,59855],[0,265],[15,99],[5,88],[33,192],[38,158],[36,209],[14,203],[-5,198],[-11,177],[-18,117],[-17,169],[-26,89],[-47,77],[-11,46],[11,17],[29,12],[18,60],[-38,-23],[44,186],[14,127],[-2,83],[9,51],[-35,111],[-26,141],[-14,22],[-14,11],[-1,-32],[-8,-30],[-17,18],[-29,102],[-41,166],[-15,17],[-12,-23],[-7,-22],[-14,-138]],[[45264,62798],[-14,30],[25,308]],[[45275,63136],[22,310]],[[45297,63446],[38,154],[30,67],[47,36],[43,154],[16,143],[28,65],[9,51],[-11,39],[27,77],[32,117],[15,76],[38,116],[5,26],[-4,29],[-15,-24],[-16,-44],[-19,-34],[8,42],[15,62],[34,64],[53,71],[110,240],[42,42],[37,101],[14,90],[4,207],[13,109],[24,85],[29,154],[22,69],[15,141],[16,54],[28,25],[40,71],[60,43],[71,92],[33,54],[23,82],[24,162],[42,171],[23,131],[37,67],[26,86],[43,38],[90,18],[134,71],[120,107],[34,43],[37,85],[60,111],[114,134],[52,74],[79,187],[53,155],[44,99],[30,89],[21,89],[12,144],[-8,57],[-33,92],[-23,24],[-6,44],[12,76],[0,132],[7,210],[37,170],[91,223],[17,91],[10,145],[1,51],[114,207],[67,158],[23,38],[59,73],[205,157],[116,113],[68,82],[40,97],[112,381],[110,536],[9,62],[49,18],[35,8],[28,19],[34,41],[33,-17],[-16,-27],[0,-66],[23,-77],[41,-87],[75,-111],[58,-44],[83,-27],[96,49],[54,1],[27,21],[28,-31],[55,-10],[52,16],[40,47],[25,53],[4,-26],[1,-29],[8,-16],[15,-68],[9,-27],[30,5],[26,-14],[59,7],[57,-12]],[[49383,71268],[56,-11],[29,5],[67,53],[52,71],[41,36],[37,78],[32,50],[48,53],[136,114],[21,1],[45,-26],[39,8],[27,40],[29,96],[44,59],[57,59],[76,56],[50,52],[80,45],[199,28],[102,26],[70,-6],[70,82],[35,27],[152,6],[72,60],[272,0],[33,-20],[33,-32],[56,-78],[27,-17],[36,16],[84,74],[94,38],[51,44],[22,64],[44,23],[25,-49],[98,-49],[60,14],[26,15],[-9,73],[63,-19],[49,-36],[51,-70],[33,-15],[60,32],[125,16]],[[52382,72354],[68,36],[66,94],[23,23],[152,86],[19,-6],[22,-12],[-6,-33],[-9,-25],[13,-45],[18,27],[-4,19],[-1,24],[31,2],[28,-4],[30,-27],[-2,-101],[40,-100],[-11,-50],[33,-29],[29,35],[15,52],[54,30],[52,77],[28,7],[6,-62],[14,-55],[-19,-19],[-25,-59],[-47,-148],[-43,-43],[-33,-57],[-10,-41],[-3,-47],[8,-85],[23,-86],[28,-52],[26,-16],[61,-82],[-1,-49],[9,-57],[3,-71],[21,-56],[-45,-122],[-25,-89],[-49,-122],[-43,-79],[-93,-118],[-23,-39],[-15,-40],[-7,-43],[3,-49],[30,-123],[41,-72],[41,-39],[72,16],[-2,-47],[5,-56],[29,2],[20,9],[16,55],[36,-38],[18,-114],[30,-36],[3,-14],[-10,-8],[-9,-14],[9,-9],[29,-14],[17,9],[29,-25]],[[53195,70130],[43,-38],[43,-15],[130,-139],[40,-17],[91,-17],[107,57],[40,10],[71,-53],[31,-15],[52,-5],[89,-48],[22,-17],[52,-78],[25,-23],[184,-71],[25,-47],[26,-90],[1,-112],[14,-81],[23,-105],[28,-74],[30,-62],[35,-39],[81,-57],[91,-22],[92,-8],[158,-79],[133,-91],[33,-45],[67,-44],[134,-214],[74,-74],[52,-15],[46,13],[83,75],[34,44],[84,185],[27,96],[11,68],[-3,70],[-10,62],[-23,65],[-17,86],[-9,155],[13,108],[16,64],[25,66],[69,126],[70,88],[122,116],[71,1],[30,13],[58,82],[24,3],[33,-20],[97,5],[42,-22],[51,-51],[64,-32],[45,-32],[48,-40],[11,-101],[-5,-30],[-1,-39],[50,-70],[142,-33],[28,-18],[39,-54],[25,-16],[97,-8],[57,12],[54,-19],[20,-18],[21,-42],[25,-101],[10,-34]],[[56986,69225],[21,-72],[43,-12],[142,64],[157,-65],[86,-24],[133,-55],[81,-98],[23,-13],[58,2],[38,-57],[152,-28],[81,-64],[46,-51],[28,-16],[24,3],[33,19],[42,36],[45,50],[94,128],[33,22],[22,-6],[27,2],[11,35],[14,23],[8,27],[15,33],[48,9],[98,56],[-11,-27],[-89,-62],[38,-8],[39,22],[45,13],[8,27],[6,49],[9,7],[30,-9],[92,-77],[23,-1],[65,42],[13,9],[21,-24],[48,-95],[-17,2],[-51,82],[-4,-41],[-29,-72],[36,-31],[30,-11],[16,-40],[10,-36],[29,15],[21,49],[-11,27],[-8,28],[10,1],[20,-23],[58,-92],[20,-19],[22,3],[48,26],[13,-4],[63,34],[8,-25],[10,-25],[51,27],[80,0],[66,30],[76,73],[6,11]],[[59499,69028],[52,96],[25,59]],[[59576,69183],[2,5],[54,180],[35,178],[33,247],[23,126],[20,83],[9,69]],[[59752,70071],[13,46],[13,58],[13,79],[24,66],[49,223],[28,90],[10,128],[43,112],[33,33],[15,33],[0,48]],[[59993,70987],[-22,132],[-3,57],[1,66],[15,97],[-7,45],[-1,30],[-4,42],[-38,89],[21,165],[15,40]],[[59970,71750],[17,48],[-19,95],[-21,90],[20,57],[41,69],[44,80],[0,50],[-3,38],[-12,27],[-24,35],[-40,-38],[-29,-41],[-18,-8],[-21,-24],[-10,-42],[-24,-33],[-40,-13],[-60,35],[-65,54],[-37,44],[-30,10],[-28,-19],[-84,-107],[-77,-156],[-19,-27],[-72,-67],[-48,-23],[-22,6],[-95,-30],[-48,-4],[-37,-36],[-72,39],[-44,49],[-26,50],[-42,107],[-31,51],[-67,46],[-119,112],[-31,12],[-80,16],[-85,10],[-18,-41],[-6,-160],[-15,-45],[-6,-83],[-10,-24],[-17,-16],[-25,27],[-18,11],[-41,-34],[-82,-48],[-28,-7],[-94,60],[-35,39],[-22,43],[-8,73],[-14,42],[-2,28],[-5,33],[-19,13],[-21,-25],[-22,1],[-27,15],[-65,61],[-50,5],[-30,-74],[-24,-24],[-25,-7],[-2,21],[20,48],[-78,-9],[-41,-36],[-32,5],[-24,17],[3,20],[25,8],[21,16],[84,14],[20,13],[21,52],[40,45],[5,20],[-31,0],[-129,-13],[-89,7],[-10,-22],[-14,-3],[-3,60],[14,29],[19,-3],[46,25],[-4,50],[-33,34],[-7,20],[-24,5],[-20,24],[-4,61],[-15,66],[-23,32],[3,18],[41,22],[8,93],[-6,57],[-20,5],[-60,45],[-18,-5],[-20,50],[-35,35],[-17,-13],[-11,-16],[-16,8],[-26,31],[-27,17],[-12,20],[15,55],[20,-1],[4,43],[-16,72],[2,37],[17,10],[20,-7],[21,-43],[6,-42],[-4,-40],[13,-39],[9,-10],[6,41],[9,8],[12,-18],[25,-9],[66,25],[12,22],[-48,-3],[-17,20],[-20,45],[-11,41],[-3,20],[-6,29],[7,16],[33,24],[29,65],[-12,19],[-14,9],[-15,-6],[-14,22],[-2,32],[12,25],[1,35],[-38,86],[-10,19],[8,28],[29,47],[27,58],[-4,19],[-20,8],[-95,-25],[-37,-22],[-66,-10],[-5,32],[2,28],[15,52],[-2,129],[9,69],[37,21],[45,102],[73,120],[76,-2],[30,33],[45,2],[9,-24],[5,-23],[40,-34],[70,6],[17,13],[16,18],[-32,59],[10,17],[29,2],[32,-14],[2,-14],[-9,-18],[-10,-33],[10,-6],[90,20],[95,-16],[30,8],[75,0],[13,20],[-22,26],[-22,9],[-15,12],[-15,18],[47,57],[27,11],[126,36],[94,17],[1,13],[-14,0],[-121,29],[-29,23],[-40,53],[-9,16],[-10,26],[6,56],[7,44],[15,26],[48 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment