Skip to main content

faer/linalg/qr/no_pivoting/
factor.rs

1use crate::assert;
2use crate::internal_prelude::*;
3use linalg::householder::{self};
4/// information about the resulting $QR$ factorization.
5#[derive(Copy, Clone, Debug)]
6pub struct QrInfo {
7	/// estimated rank of the matrix.
8	pub rank: usize,
9}
10
11fn qr_in_place_unblocked<T: ComplexField>(
12	A: MatMut<'_, T>,
13	H: RowMut<'_, T>,
14	row_start: usize,
15	col_start: usize,
16) -> usize {
17	let mut A = A;
18	let mut H = H;
19	let (m, n) = A.shape();
20	let size = H.ncols();
21	let mut col = col_start;
22	let mut row = row_start;
23
24	while row < Ord::min(size, m) && col < n {
25		let (mut A00, A01, A10, A11) =
26			A.rb_mut().split_at_mut(row + 1, col + 1);
27
28		let (mut A10l, A10r) = A10.split_at_col_mut(col);
29		let mut A10r = A10r.col_mut(0);
30
31		let A01 = A01.row_mut(row);
32		let A00 = &mut A00[(row, col)];
33
34		let (info, v) = if row == col {
35			let info =
36				householder::make_householder_in_place(A00, A10r.rb_mut());
37			(info, A10r.rb())
38		} else {
39			let info = householder::make_householder_out_of_place(
40				A00,
41				A10l.rb_mut().col_mut(row),
42				A10r.rb(),
43			);
44			let nrows = A10r.nrows();
45			A10r.rb_mut()
46				.get_mut(..Ord::min(nrows, col - row))
47				.fill(zero());
48			(info, A10l.rb().col(row))
49		};
50
51		let tau_inv = &info.tau.recip();
52		H[row] = info.tau.to_cplx();
53
54		if *tau_inv < min_positive() {
55			if info.norm > zero() {
56				row += 1;
57			}
58		} else if info.norm > zero() {
59			for (head, tail) in
60				core::iter::zip(A01.iter_mut(), A11.col_iter_mut())
61			{
62				let dot = &*head
63					+ linalg::matmul::dot::inner_prod(
64						v.transpose(),
65						Conj::Yes,
66						tail.rb(),
67						Conj::No,
68					);
69				let k = &-dot.mul_real(tau_inv);
70				*head += k;
71				z!(tail, v).for_each(|uz!(dst, src)| {
72					*dst += k * src;
73				});
74			}
75			row += 1;
76		}
77		col += 1;
78	}
79	row
80}
81
82/// the recommended block size to use for a $QR$ decomposition of a matrix with
83/// the given shape.
84#[inline]
85pub fn recommended_block_size<T: ComplexField>(
86	nrows: usize,
87	ncols: usize,
88) -> usize {
89	let prod = nrows * ncols;
90	let size = nrows.min(ncols);
91	(if prod > 8192 * 8192 {
92		256
93	} else if prod > 2048 * 2048 {
94		128
95	} else if prod > 1024 * 1024 {
96		64
97	} else if prod > 512 * 512 {
98		48
99	} else if prod > 128 * 128 {
100		32
101	} else if prod > 32 * 32 {
102		8
103	} else if prod > 16 * 16 {
104		4
105	} else {
106		1
107	})
108	.min(size)
109	.max(1)
110}
111/// $QR$ factorization tuning parameters.
112#[derive(Debug, Copy, Clone)]
113pub struct QrParams {
114	/// threshold at which blocking algorithms should be disabled
115	pub blocking_threshold: usize,
116	#[doc(hidden)]
117	pub non_exhaustive: NonExhaustive,
118}
119impl<T: ComplexField> Auto<T> for QrParams {
120	#[inline]
121	fn auto() -> Self {
122		Self {
123			blocking_threshold: 48 * 48,
124			non_exhaustive: NonExhaustive(()),
125		}
126	}
127}
128fn qr_in_place_blocked<T: ComplexField>(
129	A: MatMut<'_, T>,
130	H: MatMut<'_, T>,
131	row_start: usize,
132	col_start: usize,
133	mut par: Par,
134	stack: &mut MemStack,
135	params: Spec<QrParams, T>,
136) -> usize {
137	let params = params.config;
138	let (m, n) = A.shape();
139	let size = Ord::min(m, n);
140	let block_size = H.nrows();
141	assert!(block_size > 0);
142	if block_size == 1 {
143		return qr_in_place_unblocked(A, H.row_mut(0), row_start, col_start);
144	}
145	let sub_block_size = if m * n < params.blocking_threshold {
146		1
147	} else {
148		block_size / 2
149	};
150	let mut A = A;
151	let mut H = H;
152	let mut col = col_start;
153	let mut row = row_start;
154	while row < size && col < n {
155		let block_size = Ord::min(block_size, Ord::min(size - row, n - col));
156		let sub_block_size = Ord::min(block_size, sub_block_size);
157		let mut A = A.rb_mut();
158		let mut H = H.rb_mut();
159		let start = row;
160		let mut offset = 0;
161		while offset < block_size && col < n {
162			let block_size = Ord::min(n - col, block_size - offset);
163			let sub_block_size = Ord::min(block_size, sub_block_size);
164			let new_row = qr_in_place_blocked(
165				A.rb_mut().subcols_mut(0, col + block_size),
166				H.rb_mut().subrows_mut(offset, sub_block_size),
167				row,
168				col,
169				par.reborrow(),
170				stack,
171				params.into(),
172			);
173			let local = new_row - row;
174			if local > 0 {
175				let mut k = 0;
176				while k < local {
177					let sub_block_size = Ord::min(sub_block_size, local - k);
178					if k > 0 {
179						let mut H = H
180							.rb_mut()
181							.get_mut(offset.., ..)
182							.subcols_mut(row + k, sub_block_size);
183						let (H0, H1) = H.rb_mut().split_at_row_mut(k);
184						let H0 = H0.rb().subrows(0, sub_block_size);
185						let H1 = H1.subrows_mut(0, sub_block_size);
186						{ H1 }.copy_from_triangular_upper(H0);
187					}
188					k += sub_block_size;
189				}
190				householder::upgrade_householder_factor(
191					H.rb_mut()
192						.get_mut(offset..offset + local, row..row + local),
193					A.rb().get(row.., row..row + local),
194					local,
195					sub_block_size,
196					par.reborrow(),
197				);
198				if offset > 0 {
199					use crate::linalg::matmul::triangular::{
200						self, BlockStructure,
201					};
202					let mut H = H.rb_mut().get_mut(
203						..offset + local,
204						start..start + offset + local,
205					);
206					let A = A.rb().get(start.., start..start + offset + local);
207					let (A0, A1) = A.split_at_row(offset + local);
208					triangular::matmul(
209						H.rb_mut(),
210						BlockStructure::UnitTriangularUpper,
211						Accum::Replace,
212						A0.adjoint(),
213						BlockStructure::UnitTriangularUpper,
214						A0,
215						BlockStructure::UnitTriangularLower,
216						one(),
217						par.reborrow(),
218					);
219					triangular::matmul(
220						H.rb_mut(),
221						BlockStructure::UnitTriangularUpper,
222						Accum::Add,
223						A1.adjoint(),
224						BlockStructure::Rectangular,
225						A1,
226						BlockStructure::Rectangular,
227						one(),
228						par.reborrow(),
229					);
230				}
231			}
232			let (Q0, A1) = A
233				.rb_mut()
234				.get_mut(row.., ..)
235				.split_at_col_mut(col + block_size);
236			let Q0 = Q0.rb().get(.., row..row + local);
237			let H = H.rb().get(offset..offset + local, row..row + local);
238			if A1.ncols() > 0 {
239				householder::apply_block_householder_transpose_on_the_left_in_place_with_conj(Q0.rb(), H.rb(), Conj::Yes, A1, par.reborrow(), stack);
240			}
241			offset += local;
242			row += local;
243			col += block_size;
244		}
245	}
246	row
247}
248/// Factors a matrix whose columns are not the contiguous direction by copying
249/// it into a column-major buffer, factoring that, and copying the factor back.
250///
251/// Nothing in the panel is layout-aware: `make_householder_in_place` reads the
252/// pivot column and then scales it, and a row-major matrix walks that column
253/// with a stride of `ncols`, so every element it touches costs its own cache
254/// line; the trailing block-apply is a `matmul` and does not care. LAPACK's
255/// row-major interface pays the same copy internally. The arithmetic and its
256/// order are the copy's, so the result is the same factorization, bit for bit;
257/// what the copy costs and what it buys is on the worklog for this row.
258///
259/// The buffer is allocated here rather than taken from `stack` because
260/// `qr_in_place_scratch` is given only the shape and cannot know whether the
261/// caller will pass a row-major matrix; reserving `m * n` for every call would
262/// tax the column-major majority. This is the same trade the fork's two row
263/// splits make for their partial buffers.
264fn qr_in_place_adapted<T: ComplexField>(
265	A: MatMut<'_, T>,
266	Q_coeff: MatMut<'_, T>,
267	mut par: Par,
268	stack: &mut MemStack,
269	params: Spec<QrParams, T>,
270) -> QrInfo {
271	let (m, n) = A.shape();
272	let mut work = alloc::vec![zero::<T>(); m * n];
273	let mut work = MatMut::from_column_major_slice_mut(&mut work, m, n);
274	linalg::copy_across_layouts(work.rb_mut(), A.rb(), par.reborrow());
275	let info = qr_in_place(work.rb_mut(), Q_coeff, par.reborrow(), stack, params);
276	linalg::copy_across_layouts(A, work.rb(), par);
277	info
278}
279#[track_caller]
280pub fn qr_in_place<T: ComplexField>(
281	A: MatMut<'_, T>,
282	Q_coeff: MatMut<'_, T>,
283	par: Par,
284	stack: &mut MemStack,
285	params: Spec<QrParams, T>,
286) -> QrInfo {
287	let block_size = Q_coeff.nrows();
288	assert!(all(
289		block_size > 0,
290		Q_coeff.ncols() == Ord::min(A.nrows(), A.ncols()),
291	));
292	// Cheap only when the panel actually walks this matrix column by column for
293	// its whole length: the panel touches about `size * (m - size / 2)` elements
294	// that way, one cache line each, against `m * n` elements the copy walks
295	// contiguous twice. A tall or square matrix makes those within a factor of
296	// four of each other, and the stride is worth more than that; a wide one has
297	// `size == m` over `n` columns, so `m x 4096` would copy eight megabytes to
298	// save a few per cent of the panel and measurably loses (256x4096 f64 at one
299	// thread: 16.9 -> 20.7 ms). A single row is the limit case of the same thing:
300	// `qr_in_place` eliminates at most one column of it.
301	if A.row_stride().unsigned_abs() != 1
302		&& A.ncols() > 1
303		&& A.nrows() >= A.ncols()
304		&& linalg::row_major_copy_pays(A.nrows(), A.ncols())
305	{
306		return qr_in_place_adapted(A, Q_coeff, par, stack, params);
307	}
308	let mut Q_coeff = Q_coeff;
309	let rank =
310		qr_in_place_blocked(A, Q_coeff.rb_mut(), 0, 0, par, stack, params);
311	Q_coeff.rb_mut().get_mut(.., rank..).fill(zero());
312	let mut col = rank / block_size * block_size;
313	let n = Q_coeff.ncols();
314	while col < n {
315		let block_size = Ord::min(block_size, n - col);
316		let start = Ord::max(rank, col);
317		Q_coeff
318			.rb_mut()
319			.get_mut(start - col.., start..col + block_size)
320			.diagonal_mut()
321			.fill(infinity());
322		col += block_size;
323	}
324	QrInfo { rank }
325}
326/// computes the layout of required workspace for performing a qr
327/// decomposition with no pivoting
328#[inline]
329pub fn qr_in_place_scratch<T: ComplexField>(
330	nrows: usize,
331	ncols: usize,
332	block_size: usize,
333	par: ParShape,
334	params: Spec<QrParams, T>,
335) -> StackReq {
336	let _ = par;
337	let _ = nrows;
338	let _ = &params;
339	temp_mat_scratch::<T>(block_size, ncols)
340}
341#[cfg(test)]
342mod tests {
343	use super::*;
344	use crate::linalg::solvers::DenseSolveCore;
345	use crate::stats::prelude::*;
346	use crate::utils::approx::*;
347	use crate::{Mat, Row, assert, c64};
348	use dyn_stack::MemBuffer;
349
350	#[test]
351	fn test_qr() {
352		let rng = &mut StdRng::seed_from_u64(0);
353		for rank in [1, 2, 3, 4, 5, 100, usize::MAX] {
354			for mut par in [Par::Seq, Par::rayon(8)] {
355			let par_shape = par.shape();
356				for n in [2, 4, 8, 16, 24, 32, 127, 128, 257] {
357					let rank = Ord::min(n, rank);
358					let approx_eq = CwiseMat(ApproxEq {
359						abs_tol: 1e-10,
360						rel_tol: 1e-10,
361					});
362					let A0 = CwiseMatDistribution {
363						nrows: n,
364						ncols: rank,
365						dist: ComplexDistribution::new(
366							StandardNormal,
367							StandardNormal,
368						),
369					}
370					.rand::<Mat<c64>>(rng);
371					let A1 = CwiseMatDistribution {
372						nrows: rank,
373						ncols: n,
374						dist: ComplexDistribution::new(
375							StandardNormal,
376							StandardNormal,
377						),
378					}
379					.rand::<Mat<c64>>(rng);
380					let A = &A0 * &A1;
381					let A = A.as_ref();
382					let mut QR = A.cloned();
383					let mut H = Row::zeros(n);
384					let mut params: QrParams = auto!(c64);
385					params.blocking_threshold = usize::MAX;
386					let params = params.into();
387					let computed_rank = qr_in_place(
388						QR.as_mut(),
389						H.as_mat_mut(),
390						Par::Seq,
391						MemStack::new(&mut MemBuffer::new(
392							qr_in_place_scratch::<c64>(
393								n,
394								n,
395								1,
396								ParShape::Seq,
397								params,
398							),
399						)),
400						params,
401					);
402					assert!(computed_rank.rank >= rank);
403					let mut Q = Mat::<c64>::zeros(n, n);
404					let mut R = QR.as_ref().cloned();
405					for j in 0..n {
406						Q[(j, j)] = c64::ONE;
407					}
408					householder::apply_block_householder_sequence_on_the_left_in_place_with_conj(
409						QR.as_ref(),
410						H.as_mat(),
411						Conj::No,
412						Q.as_mut(),
413						Par::Seq,
414						MemStack::new(&mut MemBuffer::new(
415							householder::apply_block_householder_sequence_transpose_on_the_left_in_place_scratch::<c64>(n, 1, n),
416						)),
417					);
418					for j in 0..n {
419						for i in j + 1..n {
420							R[(i, j)] = c64::ZERO;
421						}
422					}
423					assert!(Q * R ~ A);
424				}
425				for n in [2, 3, 4, 8, 16, 24, 32, 128, 255, 256, 257, 512] {
426					let bs = 15;
427					let rank = Ord::min(n, rank);
428					let approx_eq = CwiseMat(ApproxEq {
429						abs_tol: 1e-10,
430						rel_tol: 1e-10,
431					});
432					let A0 = CwiseMatDistribution {
433						nrows: n,
434						ncols: rank,
435						dist: ComplexDistribution::new(
436							StandardNormal,
437							StandardNormal,
438						),
439					}
440					.rand::<Mat<c64>>(rng);
441					let A1 = CwiseMatDistribution {
442						nrows: rank,
443						ncols: n,
444						dist: ComplexDistribution::new(
445							StandardNormal,
446							StandardNormal,
447						),
448					}
449					.rand::<Mat<c64>>(rng);
450					let A = &A0 * &A1;
451					let A = A.as_ref();
452					let mut QR = A.cloned();
453					let mut H = Mat::zeros(bs, n);
454					let computed_rank = qr_in_place(
455						QR.as_mut(),
456						H.as_mut(),
457						par.reborrow(),
458						MemStack::new(&mut MemBuffer::new(
459							qr_in_place_scratch::<c64>(
460								n,
461								n,
462								bs,
463								par_shape,
464								default(),
465							),
466						)),
467						default(),
468					);
469					assert!(computed_rank.rank >= rank);
470					let mut Q = Mat::<c64>::zeros(n, n);
471					let mut R = QR.as_ref().cloned();
472					for j in 0..n {
473						Q[(j, j)] = c64::ONE;
474					}
475					householder::apply_block_householder_sequence_on_the_left_in_place_with_conj(
476						QR.as_ref(),
477						H.as_ref(),
478						Conj::No,
479						Q.as_mut(),
480						Par::Seq,
481						MemStack::new(&mut MemBuffer::new(
482							householder::apply_block_householder_sequence_on_the_left_in_place_scratch::<c64>(n, bs, n),
483						)),
484					);
485					for j in 0..n {
486						for i in j + 1..n {
487							R[(i, j)] = c64::ZERO;
488						}
489					}
490					assert!(Q * R ~ A);
491				}
492				let n = 20;
493				for m in [2, 3, 4, 8, 16, 24, 32, 128, 255, 256, 257, 512] {
494					let size = Ord::min(m, n);
495					let bs = 15;
496					let rank = Ord::min(size, rank);
497					let approx_eq = CwiseMat(ApproxEq {
498						abs_tol: 1e-10,
499						rel_tol: 1e-10,
500					});
501					let A0 = CwiseMatDistribution {
502						nrows: m,
503						ncols: rank,
504						dist: ComplexDistribution::new(
505							StandardNormal,
506							StandardNormal,
507						),
508					}
509					.rand::<Mat<c64>>(rng);
510					let A1 = CwiseMatDistribution {
511						nrows: rank,
512						ncols: n,
513						dist: ComplexDistribution::new(
514							StandardNormal,
515							StandardNormal,
516						),
517					}
518					.rand::<Mat<c64>>(rng);
519					let A = &A0 * &A1;
520					let A = A.as_ref();
521					let mut QR = A.cloned();
522					let mut H = Mat::zeros(bs, size);
523					let computed_rank = qr_in_place(
524						QR.as_mut(),
525						H.as_mut(),
526						par.reborrow(),
527						MemStack::new(&mut MemBuffer::new(
528							qr_in_place_scratch::<c64>(
529								m,
530								n,
531								bs,
532								par_shape,
533								default(),
534							),
535						)),
536						default(),
537					);
538					assert!(computed_rank.rank >= rank);
539					let mut Q = Mat::<c64, _, _>::zeros(m, m);
540					let mut R = QR.as_ref().cloned();
541					for j in 0..m {
542						Q[(j, j)] = c64::ONE;
543					}
544					householder::apply_block_householder_sequence_on_the_left_in_place_with_conj(
545						QR.as_ref().subcols(0, size),
546						H.as_ref(),
547						Conj::No,
548						Q.as_mut(),
549						Par::Seq,
550						MemStack::new(&mut MemBuffer::new(
551							householder::apply_block_householder_sequence_on_the_left_in_place_scratch::<c64>(m, bs, m),
552						)),
553					);
554					for j in 0..n {
555						for i in j + 1..m {
556							R[(i, j)] = c64::ZERO;
557						}
558					}
559					assert!(Q * R ~ A);
560				}
561			}
562		}
563	}
564	/// A matrix whose columns are not the contiguous direction is factored through
565	/// a column-major copy, so the factor, the `tau` matrix and the rank it
566	/// leaves behind have to be the column-major ones for the same matrix.
567	/// Anything less -- a copy that lands an element in the wrong place, a shape
568	/// the copy's tiling clips, a partition that overlaps -- is a wrong
569	/// factorization, and this is what says so.
570	#[test]
571	fn test_row_major_factor_is_the_column_major_one() {
572		/// A well-conditioned fixture with no structure for the two orders to
573		/// exploit: a `(i, j)`-hashed value in `[-5, 5)`. The structured
574		/// alternative (`(i * 31 + j * 17) % 101`) makes the leading block
575		/// nearly singular, which amplifies a rounding difference between the
576		/// two orders into the `1e-8` range and would drown the comparison this
577		/// test is not making.
578		fn val(i: usize, j: usize) -> f64 {
579			let mut h = (i as u64).wrapping_mul(0x9E37_79B9_7F4A_7C15)
580				^ (j as u64).wrapping_mul(0xBF58_476D_1CE4_E5B9);
581			h ^= h >> 31;
582			h = h.wrapping_mul(0x94D0_49BB_1331_11EB);
583			h ^= h >> 29;
584			((h >> 11) as f64 / (1u64 << 53) as f64 - 0.5) * 10.0
585		}
586		trait Entry: ComplexField + core::fmt::Debug {
587			/// The matrix' `(i, j)` entry, as the flat buffer at storage row `i`
588			/// and column `j` holds it.
589			fn at(i: usize, j: usize, zero_col: bool) -> Self;
590			fn bits(&self) -> (u64, u64);
591		}
592		impl Entry for f64 {
593			fn at(i: usize, j: usize, zero_col: bool) -> Self {
594				if zero_col && j == 0 {
595					0.0
596				} else {
597					val(i, j)
598				}
599			}
600			fn bits(&self) -> (u64, u64) {
601				(self.to_bits(), 0)
602			}
603		}
604		impl Entry for c64 {
605			fn at(i: usize, j: usize, zero_col: bool) -> Self {
606				if zero_col && j == 0 {
607					c64::new(0.0, 0.0)
608				} else {
609					c64::new(val(i, j), val(i + 7, j + 3))
610				}
611			}
612			fn bits(&self) -> (u64, u64) {
613				(self.re.to_bits(), self.im.to_bits())
614			}
615		}
616		fn check<T: Entry>(
617			m: usize,
618			n: usize,
619			zero_col: bool,
620			// `true` factors the row-major side through a view whose rows are
621			// walked backwards, so its strides are both negative. The
622			// column-major side stays a plain view of the same matrix, because
623			// a negative row stride is *not* the layout the adaptation is for.
624			flipped: bool,
625			// Whether the adaptation applies to this shape. Where it does, the
626			// two orders run the same arithmetic on the same values, so they
627			// must agree bit for bit; where it does not, they are two different
628			// kernels over the same values and only the rounding may differ.
629			exact: bool,
630			mut par: Par,
631		) {
632			// An empty matrix has no row to start a backwards view from.
633			let flipped = flipped && m > 0 && n > 0;
634			let size = Ord::min(m, n);
635			let block_size = recommended_block_size::<T>(m, n);
636			let qr_scratch =
637				qr_in_place_scratch::<T>(m, n, block_size, par.shape(), default());
638			// The same matrix, flat in each order. The row-major side is read
639			// back through the same view, so it is compared at the storage row
640			// the view puts there.
641			let row_of = |i: usize| if flipped { m - 1 - i } else { i };
642			let mut cm = Vec::with_capacity(m * n);
643			for j in 0..n {
644				for i in 0..m {
645					cm.push(T::at(row_of(i), j, zero_col));
646				}
647			}
648			let mut rm = Vec::with_capacity(m * n);
649			for i in 0..m {
650				for j in 0..n {
651					rm.push(T::at(i, j, zero_col));
652				}
653			}
654			let mut h_cm = vec![T::zero(); block_size * size];
655			let mut h_rm = vec![T::zero(); block_size * size];
656			let mut run = |a: &mut [T],
657			           h: &mut [T],
658			           base: usize,
659			           (rs, cs): (isize, isize)|
660			 -> QrInfo {
661				unsafe {
662					qr_in_place(
663						MatMut::from_raw_parts_mut(
664							a.as_mut_ptr().add(base),
665							m,
666							n,
667							rs,
668							cs,
669						),
670						MatMut::from_raw_parts_mut(
671							h.as_mut_ptr(),
672							block_size,
673							size,
674							1,
675							block_size as isize,
676						),
677						par.reborrow(),
678						MemStack::new(&mut MemBuffer::new(qr_scratch)),
679						default(),
680					)
681				}
682			};
683			let rm_base = if flipped { (m - 1) * n } else { 0 };
684			let rm_strides = if flipped {
685				(-(n as isize), 1)
686			} else {
687				(n as isize, 1)
688			};
689			let cm_info = run(&mut cm, &mut h_cm, 0, (1, m as isize));
690			let rm_info = run(&mut rm, &mut h_rm, rm_base, rm_strides);
691			if cm_info.rank != rm_info.rank {
692				panic!(
693					"{m}x{n} flipped={flipped}: rank {} against {}",
694					cm_info.rank, rm_info.rank,
695				);
696			}
697			let differs = |a: &T, b: &T| {
698				if exact {
699					a.bits() != b.bits()
700				} else {
701					abs1(&(a - b).clone()) > from_f64::<T::Real>(1e-10)
702				}
703			};
704			for j in 0..n {
705				for i in 0..m {
706					let k = row_of(i) * n + j;
707					if differs(&cm[i + j * m], &rm[k]) {
708						panic!(
709							"{m}x{n} flipped={flipped}: entry ({i}, {j}) \
710							 differs between the two orders"
711						);
712					}
713				}
714			}
715			for k in 0..block_size * size {
716				if differs(&h_cm[k], &h_rm[k]) {
717					panic!(
718						"{m}x{n} flipped={flipped}: tau entry {k} differs \
719						 between the two orders"
720					);
721				}
722			}
723		}
724		// Shapes the adaptation applies to: a tall or square matrix with more
725		// than one column, and at least `64 * 64` elements so the copy floor
726		// lets it through. These must match the column-major factor exactly.
727		for (m, n) in [(64, 64), (128, 128), (256, 64), (300, 64), (512, 64)] {
728			for mut par in [Par::Seq, Par::rayon(8)] {
729				check::<f64>(m, n, false, false, true, par.reborrow());
730				check::<c64>(m, n, false, false, true, par);
731			}
732			check::<f64>(m, n, false, true, true, Par::Seq);
733			check::<c64>(m, n, false, true, true, Par::rayon(4));
734		}
735		// An exactly zero leading column is the one place the unblocked core
736		// stores a reflector's essential part in a different column than the one
737		// it is eliminating, so the copy has to carry that column too.
738		for (m, n) in [(64, 64), (128, 128), (256, 64)] {
739			check::<f64>(m, n, true, false, true, Par::Seq);
740			check::<c64>(m, n, true, false, true, Par::Seq);
741		}
742		// Shapes it deliberately leaves alone -- empty, one row or column, wide
743		// (the panel is `m` reflectors over `n` columns and the copy would cost
744		// more than it saved), and small, where the copy and the thread-region
745		// start-up cost more than the strided panel they replace. Still the same
746		// matrix, so still the same factor up to rounding.
747		for (m, n) in [
748			(0, 0),
749			(3, 0),
750			(0, 3),
751			(1, 7),
752			(7, 1),
753			(2, 3),
754			(2, 2),
755			(3, 2),
756			(3, 3),
757			(4, 4),
758			(17, 15),
759			(16, 16),
760			(32, 32),
761			(300, 17),
762			(512, 17),
763			(8, 64),
764			(17, 300),
765			(64, 256),
766		] {
767			check::<f64>(m, n, false, false, false, Par::Seq);
768			check::<c64>(m, n, false, false, false, Par::rayon(4));
769			check::<f64>(m, n, false, true, false, Par::Seq);
770		}
771	}
772	/// Factor `A`, rebuild `Q` and `R`, and return `||A - QR|| / ||A||`.
773	fn qr_reconstruction_error(A: MatRef<'_, f64>, block_size: usize) -> f64 {
774		let (m, n) = (A.nrows(), A.ncols());
775		let k = Ord::min(m, n);
776		let mut QR = A.cloned();
777		let mut H = Mat::zeros(block_size, k);
778		qr_in_place(
779			QR.as_mut(),
780			H.as_mut(),
781			Par::Seq,
782			MemStack::new(&mut MemBuffer::new(qr_in_place_scratch::<f64>(
783				m,
784				n,
785				block_size,
786				ParShape::Seq,
787				default(),
788			))),
789			default(),
790		);
791
792		let mut Q = Mat::<f64>::zeros(m, m);
793		let mut R = QR.as_ref().cloned();
794		for j in 0..m {
795			Q[(j, j)] = 1.0;
796		}
797		for j in 0..k {
798			for i in j + 1..m {
799				R[(i, j)] = 0.0;
800			}
801		}
802		householder::apply_block_householder_sequence_on_the_left_in_place_with_conj(
803			QR.as_ref().subcols(0, k),
804			H.as_ref(),
805			Conj::No,
806			Q.as_mut(),
807			Par::Seq,
808			MemStack::new(&mut MemBuffer::new(
809				householder::apply_block_householder_sequence_on_the_left_in_place_scratch::<f64>(
810					m, block_size, m,
811				),
812			)),
813		);
814		(&A - &Q * &R).norm_l2() / A.norm_l2()
815	}
816
817	/// `A = [a, a + 1e-10 e_0, a + 1e-6 e_1]`, `a = (1, ..., 1)`, tall `m x 3`.
818	#[test]
819	fn test_near_dependent_columns_are_not_skipped() {
820		for m in [100, 1000, 8192] {
821			let A = Mat::from_fn(m, 3, |i, j| match j {
822				0 => 1.0,
823				1 => 1.0 + if i == 0 { 1e-10 } else { 0.0 },
824				2 => 1.0 + if i == 1 { 1e-6 } else { 0.0 },
825				_ => unreachable!(),
826			});
827			let relative_error = qr_reconstruction_error(
828				A.as_ref(),
829				recommended_block_size::<f64>(m, 3),
830			);
831			assert!(
832				relative_error <= 1e-13,
833				"m={m}: relative reconstruction error {relative_error:e}"
834			);
835		}
836	}
837
838	/// The same fixture transposed, so the nearly dependent columns are the
839	/// rows: wide `3 x n`. This is the shape that a caller sees as "wide", and
840	/// it exercises the blocked path's recursion into the unblocked core.
841	#[test]
842	fn test_near_dependent_rows_are_not_skipped() {
843		for n in [100, 1000, 8192] {
844			// W = A^T, i.e. W[(i, j)] = A[(j, i)] for the fixture above.
845			let W = Mat::from_fn(3, n, |i, j| match i {
846				0 => 1.0,
847				1 => 1.0 + if j == 0 { 1e-10 } else { 0.0 },
848				2 => 1.0 + if j == 1 { 1e-6 } else { 0.0 },
849				_ => unreachable!(),
850			});
851			let relative_error = qr_reconstruction_error(
852				W.as_ref(),
853				recommended_block_size::<f64>(3, n),
854			);
855			assert!(
856				relative_error <= 1e-13,
857				"3x{n}: relative reconstruction error {relative_error:e}"
858			);
859		}
860	}
861
862	#[test]
863	fn test_rank_deficient() {
864		let i = c64::new(0.0, 1.0);
865		let A = mat![
866			[
867				-42.63301571125646 + 12.332799004481444 * i,
868				22.14792539952694 + 34.88980973191775 * i,
869				17.08833097340157 - 35.73642756638833 * i,
870				16.46359410465419 - 42.92839086211859 * i,
871				-51.764730444742824 + 81.65328924776695 * i,
872				16.26315772194988 + 101.5902862344418 * i,
873				32.77410298966414 - 29.760957827435675 * i,
874				54.439294321277174 - 19.079738442315318 * i,
875				-13.472034925473565 - 13.943573427112455 * i,
876				-37.92130013603088 - 5.7926798723257775 * i,
877				11.194976295897504 - 31.928468357395335 * i,
878				22.006669976718612 + 3.3819587127690625 * i,
879				-6.674280620224554 + 3.387564723853501 * i,
880				-27.293486814495225 + 15.784839382140262 * i,
881				-70.1443517961362 + 45.51634877173214 * i,
882				8.181229285208616 + 11.577617946683347 * i,
883				91.36331153456992 + 5.978813469385237 * i,
884				9.984370037964844 - 46.821962088062065 * i,
885				-7.961599724739131 + 24.482176731342236 * i,
886				-2.3944781784861675 + 59.88090585477201 * i,
887				-30.59313953515538 + 26.04745441455745 * i,
888				-23.2138559332029 + 71.42630235367764 * i,
889				22.210550339117574 - 8.41265667708069 * i,
890				-11.395416853480953 - 21.12459074171425 * i,
891				53.214674012253 - 115.94154857087852 * i,
892				-73.57661533181208 - 26.388545645959155 * i,
893				-7.090193099053337 + 25.72478190092928 * i,
894				69.88086414991596 - 61.87734406117171 * i,
895				1.7746488531197873 + 22.338809391772543 * i,
896				53.17879024337897 + 3.0434791244725403 * i,
897				17.11701506186965 + 8.310347464005673 * i,
898				-1.4446985641791343 - 8.302085605445917 * i,
899				31.01042486753896 - 7.032023465838279 * i,
900				50.529023639015065 - 30.432756878940538 * i,
901				31.20832359612237 - 18.42527233678696 * i,
902				-11.219592741413372 + 7.966456895330857 * i,
903				-29.972014970412957 + 14.566825708553516 * i,
904				0.29786829050329544 - 60.43731329910441 * i,
905				68.20619173666897 + 61.4177082555907 * i,
906				38.18522457770308 + 39.84442487790024 * i,
907			],
908			[
909				12.392666547455747 + 8.598469521105585 * i,
910				-4.989137989279129 - 33.00917260871823 * i,
911				-36.3778560847675 + 33.965754531979854 * i,
912				-14.186892703037756 + 7.8005444248189235 * i,
913				40.14774343578466 - 37.073977200615204 * i,
914				20.515112381381726 - 39.67019203209179 * i,
915				-11.247367898035563 - 24.867001222923307 * i,
916				-49.7400862432402 + 41.41428057951588 * i,
917				-3.7213275390216154 + 51.57768254492541 * i,
918				-6.345081010580628 + 53.304858550561896 * i,
919				-11.529781103419339 + 2.902201112665864 * i,
920				-19.346649644440838 + 7.461276014085186 * i,
921				-28.718472256689964 - 2.8043513041184553 * i,
922				-5.691563912437118 + 48.35693831223085 * i,
923				-34.299545543675215 + 6.545395352640526 * i,
924				7.438830278671389 - 10.739267797900883 * i,
925				24.11439247436401 - 29.701199086689808 * i,
926				-54.93729078780896 + 17.091416018852897 * i,
927				15.68845749746022 - 2.188338155362544 * i,
928				60.97624713742826 + 11.795504838770498 * i,
929				53.39361626612977 + 11.614849968126038 * i,
930				47.112022139988945 - 47.422312498326974 * i,
931				-31.731750386335847 - 13.013784865796737 * i,
932				-12.242942262135827 - 23.39632386635281 * i,
933				-20.99632660387538 - 50.155831920264006 * i,
934				32.853343930391404 + 39.33730823584699 * i,
935				25.191258444072332 + 23.926919559757664 * i,
936				-34.18728556598965 + 52.5998197331729 * i,
937				64.80196305869202 - 10.491798137124405 * i,
938				-3.7973985569930306 - 34.25408107334158 * i,
939				31.90902882064414 - 30.56021961088784 * i,
940				-7.840305921418871 + 51.263365311660365 * i,
941				5.999217219970496 + 60.657097999788675 * i,
942				-56.00257012089648 + 32.307128304063674 * i,
943				1.6182839905382513 - 30.670206400422288 * i,
944				-29.228061063708484 + 4.618529965360111 * i,
945				-1.841921635134554 - 9.941332210308186 * i,
946				-28.83749752522963 + 23.48822343787033 * i,
947				31.33927120630301 - 71.58546530411547 * i,
948				8.181832440934743 + 82.64255143443799 * i,
949			],
950			[
951				-12.799030330740077 + 66.72947765658043 * i,
952				-10.231934039979912 + 12.493297096248554 * i,
953				19.285109623888076 + 16.56539210325027 * i,
954				-35.97113317387823 + 12.77732345394736 * i,
955				-42.753078264350506 + 31.109302328632026 * i,
956				-92.5918702738831 + 13.20717885481352 * i,
957				-5.444744981663884 + 48.16106562407031 * i,
958				48.84587551022895 + 26.251595375317834 * i,
959				32.933710253207224 + 14.718356097405149 * i,
960				9.648128610518484 - 3.9457537091127026 * i,
961				19.03552788630428 - 19.94207328846148 * i,
962				17.638202950481865 + 18.33026376219135 * i,
963				2.5078899478693097 - 45.70267635206393 * i,
964				65.38384334644981 - 25.199272871591987 * i,
965				-63.467061790245424 + 106.98211601738333 * i,
966				-55.62393136607952 - 45.51555918892136 * i,
967				19.15778634967591 - 33.028235082995124 * i,
968				-16.336567724656685 - 10.44522106845141 * i,
969				6.666994028110054 + 32.92591049296345 * i,
970				-6.047530207659875 - 27.439036726043298 * i,
971				39.52962940543614 - 42.64379506697883 * i,
972				-27.573007769719624 - 9.75081496679099 * i,
973				-7.684664374667875 + 23.339026825258244 * i,
974				22.58119786377813 - 4.454197784068818 * i,
975				45.29146872103806 - 103.15857753791218 * i,
976				-31.25659917861597 + 13.70164575929067 * i,
977				13.660916345380933 - 19.46889545971939 * i,
978				-21.96183310377741 - 23.31280166325685 * i,
979				4.5653695184317655 + 10.616453681351558 * i,
980				-0.25434597828302685 + 47.167740733214515 * i,
981				33.82461168808063 - 20.417606401735725 * i,
982				21.40415980541069 - 27.931611547777152 * i,
983				49.94594590735055 - 49.56309902061 * i,
984				27.886633708526702 + 29.70147478184972 * i,
985				-18.16905152235941 - 10.046271334081538 * i,
986				-13.32135487551704 - 60.68677560840839 * i,
987				-15.237503754455295 - 6.588689364973661 * i,
988				-15.481784996249857 - 46.99021467938253 * i,
989				-16.136673443184375 + 13.902154631685766 * i,
990				25.194569063162533 + 34.5621640946647 * i,
991			],
992			[
993				65.48222712345446 - 4.138391495079304 * i,
994				8.306462492672111 - 15.140617871481396 * i,
995				-28.25587078248205 + 50.32663902684051 * i,
996				-42.955896042037864 + 41.46713382497833 * i,
997				75.13916830569464 - 64.90394781293571 * i,
998				3.4250892035273566 - 55.122759708615945 * i,
999				-38.67812775272067 + 21.094268967787286 * i,
1000				-39.40657764104256 - 3.733222413764196 * i,
1001				0.9695375254205487 + 3.876176033829374 * i,
1002				45.749414055844625 + 18.586694744497834 * i,
1003				11.935303844620492 + 39.477261236067676 * i,
1004				-55.36026338025768 - 19.755621035097477 * i,
1005				12.205216270291857 + 18.307651510095745 * i,
1006				-17.102914926687376 - 5.8964800477324815 * i,
1007				73.92643576109086 - 26.358635886040645 * i,
1008				18.62547989733079 + 21.445184756989846 * i,
1009				-56.327314013975666 - 24.534245355235583 * i,
1010				1.8624471836432406 + 30.085648450846378 * i,
1011				15.302535749118924 + 7.674212804643901 * i,
1012				25.8637235046063 + 0.9361225038480256 * i,
1013				15.603583412146435 - 1.6612068829250664 * i,
1014				18.47432197641083 - 63.34015823189532 * i,
1015				5.816489465444917 - 23.75750418328684 * i,
1016				12.548375804510385 + 14.79286301101477 * i,
1017				-66.90207518361544 + 63.910915160309486 * i,
1018				83.37918838614108 + 40.05271581472445 * i,
1019				-37.36994071626608 + 6.558073050359511 * i,
1020				-75.67731562330931 + 70.34100920967161 * i,
1021				17.123194674315357 + 2.6912987746509813 * i,
1022				-56.13906743564637 - 9.747808550411886 * i,
1023				-32.0719278876096 + 0.035416915023617435 * i,
1024				7.453294267488758 + 31.840840443445664 * i,
1025				-27.326428632546204 + 16.404546707806446 * i,
1026				-85.79400760768401 + 51.86531366733967 * i,
1027				-47.38136649846963 + 2.067569048796164 * i,
1028				22.65699895650813 - 26.500540841293287 * i,
1029				35.74882215661379 + 0.4279576089606252 * i,
1030				-76.88759162135085 + 61.729308548926745 * i,
1031				-37.44977437439012 - 56.87002751956335 * i,
1032				-35.08304533233703 - 4.462986912180606 * i,
1033			],
1034			[
1035				31.583724748998776 - 51.249777560521466 * i,
1036				22.65843906393765 + 17.313137285238554 * i,
1037				10.382748046036994 - 42.735528014733234 * i,
1038				20.724646012317805 + 20.900719508178582 * i,
1039				16.376566756962994 + 53.89212191787085 * i,
1040				10.066813288632034 + 52.523949880976545 * i,
1041				43.579591284487336 + 31.252883531054323 * i,
1042				28.184699679323813 - 82.13512631377462 * i,
1043				25.440457311415628 + 31.849880177745945 * i,
1044				-24.151628096605307 - 23.32888438479003 * i,
1045				-73.6350009853953 - 81.1777776721621 * i,
1046				28.364800957876895 - 3.6250014074372885 * i,
1047				38.396317055131306 - 69.546957049437 * i,
1048				-1.4874584247683202 + 6.860653145887976 * i,
1049				99.22080146828978 + 17.543861995516416 * i,
1050				-10.46250932797625 + 22.241347373245674 * i,
1051				-23.62190472546816 - 70.59350835314189 * i,
1052				26.34172971210808 - 60.22547306196421 * i,
1053				37.90974516173529 - 7.695380437440619 * i,
1054				-35.43744520165066 + 42.51167883371055 * i,
1055				-18.775026327486785 - 16.956301595807304 * i,
1056				21.840451013195377 - 7.788376505976714 * i,
1057				33.09952105067807 + 43.20960076304959 * i,
1058				19.34930634141674 + 21.351881549098977 * i,
1059				-143.72559656621607 - 48.39026005448909 * i,
1060				-84.861170978867 + 2.7837442780206416 * i,
1061				6.07739013993995 - 52.6344486015943 * i,
1062				-21.33187479671998 - 35.95542921378066 * i,
1063				0.08757059072188866 - 38.46847267117025 * i,
1064				53.77485342607943 + 49.47511865583735 * i,
1065				-76.81015945487538 - 18.43833465675783 * i,
1066				-31.308131660283053 - 39.82604917803266 * i,
1067				-79.42584088986062 - 36.85873541440512 * i,
1068				39.063233310761746 - 49.75991465666547 * i,
1069				-23.590897533452015 + 24.69942294209421 * i,
1070				-55.00539490222253 + 2.186956953950137 * i,
1071				-26.638771613402398 - 65.28585892133748 * i,
1072				11.968149530543663 + 15.74074558115147 * i,
1073				46.924712251106854 + 90.83370071059912 * i,
1074				76.4747123007834 - 29.289927777420857 * i,
1075			],
1076			[
1077				-25.578557076310645 - 26.766359674243205 * i,
1078				-31.644839606419964 - 5.617473287649716 * i,
1079				9.823483731434163 + 43.248069608313386 * i,
1080				2.672375889300838 - 4.755961211633132 * i,
1081				-76.9263312976145 - 50.17566661665678 * i,
1082				-64.95093839016988 - 45.4578250269475 * i,
1083				-35.560543630021414 - 3.5888284627331757 * i,
1084				-41.06467435210163 + 91.17075079127582 * i,
1085				10.85492097775365 + 31.427121748171828 * i,
1086				41.19076647688331 + 14.935860258180696 * i,
1087				45.83767858930871 + 65.30292213636108 * i,
1088				5.475162771136581 + 23.807507454288483 * i,
1089				29.287510839124877 + 41.159672576346225 * i,
1090				16.280362143178394 - 33.78524201973386 * i,
1091				-75.50032717807619 + 13.18905520206016 * i,
1092				7.565949918458841 - 6.56539538753897 * i,
1093				-2.4465013777225932 + 20.456717990118733 * i,
1094				14.381363859892803 + 58.38589995305506 * i,
1095				-29.05208950533445 + 4.706022825770864 * i,
1096				-0.9002125402046204 - 62.12447336684386 * i,
1097				19.656245943958925 - 12.869662053948904 * i,
1098				-42.0636887885214 - 39.24399163670813 * i,
1099				-0.011803621899311167 + 16.688867591699918 * i,
1100				-12.492893033463261 - 17.937736765361308 * i,
1101				64.21546351437391 + 51.605080288718526 * i,
1102				36.91267213569334 - 73.13098005416595 * i,
1103				-25.525209659150693 + 23.5352740057052 * i,
1104				57.65163679154867 + 48.64691617765472 * i,
1105				-42.496849189681654 - 5.291338162190961 * i,
1106				-38.954293054708295 - 5.521067322012144 * i,
1107				50.35676002688245 + 36.51708209327393 * i,
1108				38.10344718654048 + 16.797297865041322 * i,
1109				83.49399438639901 + 64.83208254781137 * i,
1110				20.74889885651865 + 64.37977126550692 * i,
1111				6.995143235134677 + 22.13996728228271 * i,
1112				63.3232030983194 - 35.57621973993962 * i,
1113				-9.93099758706921 + 28.827857180270613 * i,
1114				-9.9372392383756 + 40.36848263407507 * i,
1115				-81.73994066939929 - 32.540538268088895 * i,
1116				-6.972702160385735 + 7.2810082661594615 * i,
1117			],
1118			[
1119				-39.533111408076024 + 23.69499447776633 * i,
1120				-22.91893147481639 + 13.912288879056263 * i,
1121				31.970112354378752 - 6.274870212732608 * i,
1122				36.02649811357895 - 29.369289609658956 * i,
1123				-57.37126467977515 + 39.44543207716319 * i,
1124				-33.21392750556933 + 2.31325455824782 * i,
1125				5.504384182791682 + 1.1314383007183153 * i,
1126				-12.761658291436959 - 7.030143070779076 * i,
1127				25.42560890198791 + 34.2782992105918 * i,
1128				31.85069695776061 - 2.611504997126957 * i,
1129				-1.0778905536494676 + 11.186615280440869 * i,
1130				7.002191044964846 + 25.783443322475314 * i,
1131				-0.43478568633533143 - 2.03481196958748 * i,
1132				47.93268545760567 - 46.05766272795361 * i,
1133				-86.88661654441438 + 13.166255933762898 * i,
1134				-11.387147239610272 - 17.288479337212046 * i,
1135				-34.515012611515104 - 14.177064833349931 * i,
1136				-6.285753446891917 - 11.72228107335983 * i,
1137				17.88548716213686 - 4.042341176701882 * i,
1138				10.515130527678576 - 85.02295246871657 * i,
1139				34.573508949249714 - 51.81711167668266 * i,
1140				-11.24922483777982 + 23.114342099470775 * i,
1141				-16.62291909867281 + 34.402750937701654 * i,
1142				29.697481944292818 - 17.26924002785852 * i,
1143				4.287641692176678 + 34.65126459619482 * i,
1144				8.642563024300204 - 48.67140042344289 * i,
1145				0.4752675358050844 - 28.83717974726673 * i,
1146				40.69537730504539 - 32.475682389285055 * i,
1147				-45.26077064695138 - 37.87842043650326 * i,
1148				-23.333473340656603 - 1.090546566235858 * i,
1149				22.524011597323288 + 4.205992256758487 * i,
1150				24.334900880966856 - 72.83814875934986 * i,
1151				31.0040417811348 + 52.751349394370656 * i,
1152				46.69722487096804 + 2.2830930235470532 * i,
1153				19.13996268796151 + 45.686937737528105 * i,
1154				-3.155429138228641 - 41.98572124273077 * i,
1155				-0.27439111585914766 - 0.0424908693981898 * i,
1156				5.4676976604011465 - 15.819100391461975 * i,
1157				2.374657295716762 - 10.025647287456497 * i,
1158				37.693625151559786 - 42.41144011172045 * i,
1159			],
1160			[
1161				-21.55368545784853 - 11.965093929456799 * i,
1162				15.269836381018422 - 6.723746991502296 * i,
1163				-30.929835536710243 + 23.625022083338905 * i,
1164				-13.531291907458922 - 52.08708061196921 * i,
1165				-44.92575740261259 - 30.00914161138877 * i,
1166				24.59902956675443 - 16.30770435777285 * i,
1167				-47.80025879855576 - 41.46279563919512 * i,
1168				11.20398486871565 + 36.3881233959801 * i,
1169				-47.22624254734831 - 11.141717272423364 * i,
1170				-23.171658265997962 - 8.038332725429228 * i,
1171				45.70764728757604 + 29.482096062539163 * i,
1172				7.544132969347288 + 2.3976982476295063 * i,
1173				25.930035282855414 + 59.65598345400858 * i,
1174				-51.433293377550726 - 5.854456745366065 * i,
1175				-25.730730323328658 - 69.86711542678464 * i,
1176				23.928134030762088 + 11.653568766281879 * i,
1177				37.05319179515189 + 17.7987872750021 * i,
1178				-10.979415188021491 - 1.4727761821351173 * i,
1179				-37.19375468872414 + 0.6767807462333195 * i,
1180				29.507732428817008 + 18.52436798045187 * i,
1181				-10.112277301766158 + 37.50012696393238 * i,
1182				-14.934816780618064 + 16.622070267250677 * i,
1183				41.00689183009243 - 42.87360584605926 * i,
1184				-7.496381140067598 + 16.285315632526927 * i,
1185				-7.561809097739257 + 34.0552036851923 * i,
1186				35.54745065665762 - 11.6406777042546 * i,
1187				-51.1577320652325 + 13.70231514956923 * i,
1188				33.1223690319064 - 11.290266444430863 * i,
1189				-32.90001970416135 + 33.76462261168461 * i,
1190				6.053853814446258 + 0.9147809286238626 * i,
1191				16.187628643199545 + 54.050152022727275 * i,
1192				24.24447446880718 + 27.403214810457058 * i,
1193				30.665341430648112 + 42.51731745981449 * i,
1194				-6.620407584002567 - 20.44372835756372 * i,
1195				10.23165104189317 + 9.928497327685793 * i,
1196				121.70943435733494 + 18.294569782547413 * i,
1197				-3.6847206148913685 + 69.79985799810493 * i,
1198				-5.054102781790107 - 6.3692984966866995 * i,
1199				-47.61454098877892 - 59.293642895756484 * i,
1200				-34.900856482546594 - 51.790923765750144 * i,
1201			],
1202			[
1203				17.25576978214997 + 33.96148302919222 * i,
1204				44.714117433784864 - 5.411255296952598 * i,
1205				-46.863417595503336 + 5.508210705561666 * i,
1206				-34.18132328642872 + 5.272749724437205 * i,
1207				46.4419425747629 - 53.32689961225293 * i,
1208				38.29445042230218 + 23.197929666400228 * i,
1209				17.21281092244584 + 8.230188131904669 * i,
1210				-7.217789039096928 + 29.041218034259046 * i,
1211				15.73517400166007 + 1.9407830190829465 * i,
1212				7.47632611613335 + 7.978325374479539 * i,
1213				-24.988360236253527 + 20.123721221995247 * i,
1214				-38.2075730880623 - 7.333836942616784 * i,
1215				-21.858663091236537 - 38.90229242928695 * i,
1216				-9.059545472857895 + 43.50862080875834 * i,
1217				39.98959128240756 + 56.92806332756845 * i,
1218				-18.600231145661766 + 2.6396216335135136 * i,
1219				-1.4608102424286642 - 35.717697857977726 * i,
1220				-4.150810006497679 + 32.086732333943694 * i,
1221				38.91902454862037 + 4.468176459346665 * i,
1222				-1.1697858359666284 - 64.99977103743046 * i,
1223				0.4893420729536899 - 1.0099182663732904 * i,
1224				-8.446213900022329 - 25.984869471148087 * i,
1225				-15.59524811926535 - 6.057014366076132 * i,
1226				-26.543712262455216 - 24.748644114504856 * i,
1227				-18.12802694989497 - 68.21035571463506 * i,
1228				-16.224582597247643 + 8.015061611429338 * i,
1229				14.159319660845412 + 2.54205111699531 * i,
1230				-27.67826887730265 + 14.907573609844768 * i,
1231				45.471642789278334 - 15.86728255811461 * i,
1232				17.232632641938014 - 13.467429805676602 * i,
1233				-36.256180213437304 - 15.860064222576765 * i,
1234				1.0021755792482239 + 41.239542333909554 * i,
1235				-9.256238161631071 - 60.492571285285656 * i,
1236				-15.63297732439154 + 11.609718253052726 * i,
1237				-9.448486745366756 - 71.70278041871568 * i,
1238				-39.39640690815541 + 80.78519727338436 * i,
1239				-39.395869356072204 - 31.15543950766675 * i,
1240				-26.864700236517663 + 29.262478568227674 * i,
1241				32.815596529404914 - 34.11708879171351 * i,
1242				63.42201800783117 + 40.94151078790488 * i,
1243			],
1244			[
1245				-37.85424922481582 - 18.632083635692226 * i,
1246				8.30192797319016 + 77.51772701863564 * i,
1247				-38.55632574319898 - 54.06715956988576 * i,
1248				31.247394161859802 - 88.94283002300054 * i,
1249				11.369144694581848 + 73.7852859262728 * i,
1250				43.166934241082814 + 6.0752659654121715 * i,
1251				33.72393018072812 - 39.2055653391711 * i,
1252				-54.64017042959031 + 8.195171091011446 * i,
1253				-23.51135860051815 + 9.802965968574085 * i,
1254				-1.0787050942309264 + 7.730773526337842 * i,
1255				-0.1954232786143706 + 17.69212538790228 * i,
1256				3.56906505863984 - 13.724978295570452 * i,
1257				-12.070894188488708 + 11.565186160031828 * i,
1258				-66.44997934464766 - 48.32425130895769 * i,
1259				-72.29920368488105 - 43.653088379987054 * i,
1260				30.14758969155585 - 30.772317284413276 * i,
1261				67.81080621413294 + 33.15388129620932 * i,
1262				4.909043167647951 - 58.061131485356384 * i,
1263				-25.76355904795031 + 13.034149366895122 * i,
1264				12.715904812920968 + 67.60581655112854 * i,
1265				-5.6167982150059 + 68.44469029883031 * i,
1266				24.31964208796947 + 77.67068147975843 * i,
1267				23.656225127895787 - 41.94456731192289 * i,
1268				17.492984169162654 - 24.571122134909402 * i,
1269				54.80499072287952 - 62.073916111466644 * i,
1270				-40.846550889156816 - 1.9589474792947916 * i,
1271				-25.0737715301371 - 1.9674768751847722 * i,
1272				36.00624296393538 - 49.58243114695291 * i,
1273				-7.678194485500839 + 6.258226835328728 * i,
1274				19.135758311254307 + 37.51858856067837 * i,
1275				-11.795536865338804 + 77.23125200441869 * i,
1276				-11.450170627980023 - 16.64776327917454 * i,
1277				-6.99564453031995 + 53.86331982831497 * i,
1278				56.08323835230311 - 54.03674113601569 * i,
1279				85.08202088984388 + 30.210597189390157 * i,
1280				9.491599772377413 - 1.1313051456639514 * i,
1281				28.465770812149742 - 14.522398049695596 * i,
1282				-37.056379799428775 - 35.63554255779242 * i,
1283				86.60950287192956 + 6.553565452138766 * i,
1284				-25.432851041005407 + 43.3044718614866 * i,
1285			],
1286			[
1287				38.31410384312522 - 21.401900990808706 * i,
1288				13.819070705307922 + 10.751535690829314 * i,
1289				-6.34071019755625 - 60.4107514871459 * i,
1290				1.0358618673699311 + 28.579887281978007 * i,
1291				26.61381527141313 - 20.40908457666393 * i,
1292				15.379552452611335 - 38.10152094685664 * i,
1293				-2.8848738006862504 + 25.37282331258244 * i,
1294				-58.444474255501476 + 22.1614500700669 * i,
1295				32.71610777097065 - 7.800021473935473 * i,
1296				52.74668124709601 - 35.096670997852755 * i,
1297				-15.224283378548222 - 0.3716116323928986 * i,
1298				-9.507398139383266 + 1.2854765551085165 * i,
1299				28.846067346072033 - 23.556902272759512 * i,
1300				-5.359722010456778 - 23.102588929338012 * i,
1301				70.82975944282254 + 6.305168317276269 * i,
1302				-6.8153005132962505 - 32.111785425358114 * i,
1303				-64.92515970955154 - 1.8932624557584674 * i,
1304				6.80973203113561 + 11.103695465268103 * i,
1305				26.877413356688578 - 24.88491047641267 * i,
1306				-6.3727499924673765 - 33.54877708349753 * i,
1307				-17.09305048648136 - 51.61851764252174 * i,
1308				-0.6958815178287416 - 13.011389209324562 * i,
1309				-4.7920081526425236 + 0.08560497128022604 * i,
1310				-7.11538373141579 + 33.180232214236895 * i,
1311				-7.057677675147627 + 33.704749876766826 * i,
1312				13.394069460401283 + 23.499775650134666 * i,
1313				33.032957263602064 - 17.162411901076496 * i,
1314				-9.723684915207429 + 22.90261459373055 * i,
1315				8.417780554636167 - 45.476415590540924 * i,
1316				-12.925373617724695 + 25.701470498566195 * i,
1317				-77.62893801412532 + 8.771172991492747 * i,
1318				-12.577190512415115 + 11.770869636170222 * i,
1319				-28.631356375314837 - 44.33826543718645 * i,
1320				8.667376603495633 + 41.49404929739423 * i,
1321				-2.4385088484789605 + 0.04378952650684198 * i,
1322				-81.8696956832087 + 41.58634268689738 * i,
1323				38.43811817341395 - 65.59361739828425 * i,
1324				12.923498206429501 + 10.578834645788252 * i,
1325				-17.40928902913147 + 1.882715575965321 * i,
1326				-12.197281737560397 + 24.644707351619186 * i,
1327			],
1328			[
1329				15.624787749477978 - 3.08175959535572 * i,
1330				31.64127531457332 - 16.881615782042036 * i,
1331				1.890207866353876 + 50.32088799159419 * i,
1332				-65.4977125824758 + 24.989786335448628 * i,
1333				34.81214444655414 - 59.30792733893145 * i,
1334				-10.433501968142323 - 22.998943439836978 * i,
1335				10.502853068617924 + 33.94711412226598 * i,
1336				15.593203335082762 + 76.6520637908932 * i,
1337				-13.395991136070506 + 8.687052915142047 * i,
1338				2.081731201094403 + 3.8559227478572495 * i,
1339				30.583016268547937 + 1.2879653859015718 * i,
1340				-25.29562951899294 + 8.41557681790519 * i,
1341				11.479123421013526 - 22.8866683592249 * i,
1342				-52.19831242424364 + 68.83294717361125 * i,
1343				32.39840985061852 - 7.468503718345374 * i,
1344				7.345658271150569 - 44.65348101340274 * i,
1345				18.32361340083014 - 20.175472912397026 * i,
1346				-13.366276401727387 + 39.4889913842033 * i,
1347				10.173839514362811 - 2.5344239200743885 * i,
1348				12.966807751013704 - 7.825732938608937 * i,
1349				19.990977936447862 + 26.96608297565048 * i,
1350				-3.172560104018274 - 18.614006882422416 * i,
1351				-29.777636820282737 - 60.630406210085766 * i,
1352				-28.614421681306737 - 13.463181327439386 * i,
1353				32.29564701389236 + 0.346177776532528 * i,
1354				10.929769288479605 + 15.84579430884051 * i,
1355				32.72281107515033 + 56.370005822465686 * i,
1356				-10.16653333610929 + 23.88123265466092 * i,
1357				52.95907792627234 + 51.23002827773357 * i,
1358				4.54104618436611 + 31.14307823441345 * i,
1359				29.339772939929347 + 3.842122341156994 * i,
1360				8.881209533228002 + 49.588235065052714 * i,
1361				48.72530396726207 - 61.79170083110623 * i,
1362				-26.7340209080433 + 26.480558437595334 * i,
1363				7.460845492562186 - 51.590210517672396 * i,
1364				-21.91784534689704 - 1.4648992581772973 * i,
1365				-1.4427493124100184 - 2.391725334754419 * i,
1366				18.898438167960094 + 69.61121648531747 * i,
1367				-29.868503282256945 - 41.330967392528365 * i,
1368				-1.283833365665796 + 62.50858072750488 * i,
1369			],
1370			[
1371				-43.64318909682555 + 4.8941608869612026 * i,
1372				-70.79640827922367 - 27.126700858136928 * i,
1373				76.14660539482074 - 26.556417050291213 * i,
1374				117.00275205054717 + 2.9988074366013677 * i,
1375				-89.95680320725006 - 4.92349460578572 * i,
1376				-38.53982332900939 + 8.819147741003874 * i,
1377				14.298897092634263 - 49.37224176808918 * i,
1378				1.5009142040404981 - 47.92325842975333 * i,
1379				-37.45050424154303 + 17.497304199946427 * i,
1380				-24.77739734280604 - 2.0680037278574446 * i,
1381				-4.890945632657038 - 8.642690530198706 * i,
1382				-2.6778042225101046 + 23.853545899984905 * i,
1383				-31.563681368220728 + 25.890824976859307 * i,
1384				82.97881151057727 - 52.495343732731484 * i,
1385				-78.07838315278896 - 64.13652405966148 * i,
1386				-3.764734044790657 - 0.806912565428334 * i,
1387				12.512790435857085 + 13.909287822962725 * i,
1388				14.757682613305434 - 4.131788085272191 * i,
1389				-9.579808839126052 + 14.799799358965785 * i,
1390				43.5107073892724 - 30.390794582492035 * i,
1391				31.021081848789947 + 23.123293543932505 * i,
1392				-61.510584339706725 + 15.314013470919633 * i,
1393				-2.632985102996713 + 58.398184920897876 * i,
1394				14.27833068051109 + 23.642372443191427 * i,
1395				1.9208925479959191 - 13.193333103522152 * i,
1396				19.654474686923294 - 8.863411913646086 * i,
1397				25.85257728446011 - 14.298151407009328 * i,
1398				44.17530413879953 + 8.852761485918613 * i,
1399				7.018896223789966 - 55.11837834082728 * i,
1400				-25.900038844840672 - 50.43966246407622 * i,
1401				18.751399694251397 + 18.4732825989075 * i,
1402				57.036848610807255 - 46.83577480112478 * i,
1403				-35.895257059978086 + 81.59738725969054 * i,
1404				50.05063227862899 + 31.43379854673976 * i,
1405				-49.709545002221375 + 56.91275670701566 * i,
1406				12.55122082164452 - 13.662157067565253 * i,
1407				11.322520086642877 + 11.185007198024138 * i,
1408				87.49311687729501 - 78.2510335700629 * i,
1409				3.0749400775656492 + 19.789535402317004 * i,
1410				25.405727401450527 - 43.35496574398705 * i,
1411			],
1412			[
1413				-21.9746382913192 + 57.260908020582626 * i,
1414				-17.309691012150665 + 12.033347232917805 * i,
1415				9.302187048813522 - 22.032737667484625 * i,
1416				41.27703570954847 - 15.269768039718656 * i,
1417				79.16259342881648 + 59.305130154682104 * i,
1418				12.030021233034802 + 30.275408551393852 * i,
1419				-29.49329022135327 - 23.150293214003028 * i,
1420				-1.5613387562800085 - 51.12885551287232 * i,
1421				32.28709805588023 - 8.267893194263635 * i,
1422				1.5326974594392624 + 25.485008886532345 * i,
1423				-31.531115590201352 + 1.1048156153813977 * i,
1424				-24.210884431168658 - 26.96850294936297 * i,
1425				-18.507559106972863 + 6.59168048372706 * i,
1426				45.59302134574375 - 18.673184981872915 * i,
1427				-4.728850072156561 + 52.81851607653809 * i,
1428				17.148937673984662 - 9.700143230108893 * i,
1429				-15.591427264035246 - 41.91135055423448 * i,
1430				31.872068745285944 - 11.453762703390211 * i,
1431				-26.23389655731808 + 13.788251384758752 * i,
1432				25.980219033276455 + 3.2178359208652694 * i,
1433				36.133781871039254 + 22.599669655770768 * i,
1434				25.65424771957772 - 21.303861385193812 * i,
1435				27.270843064780966 + 23.13581207323918 * i,
1436				-8.973459119113244 - 16.74435852466283 * i,
1437				-90.44462219143102 - 2.152481729896664 * i,
1438				-11.53284081399481 + 53.40695657482124 * i,
1439				15.206297927827634 - 17.628152336425824 * i,
1440				-21.02399786508812 - 57.249701116442225 * i,
1441				2.649307094830732 + 9.467735117892076 * i,
1442				-49.503862365300506 - 47.168394057030426 * i,
1443				-12.015603358243723 - 33.396844343088134 * i,
1444				18.39414823450135 - 41.585835797705315 * i,
1445				14.317689771468562 + 44.484576593516245 * i,
1446				-14.138077633424562 - 34.55412842873703 * i,
1447				-12.395602349365284 + 23.11224302339442 * i,
1448				3.00986844474005 - 15.720821426996626 * i,
1449				-29.014232795811523 + 13.029926354248124 * i,
1450				-16.609396608986565 - 33.929196400487555 * i,
1451				63.41696149772055 - 30.016370201881642 * i,
1452				63.685918806049585 - 78.81077025082564 * i,
1453			],
1454			[
1455				13.608444500419012 - 45.76495274688483 * i,
1456				-41.26154320891504 + 20.89351260456067 * i,
1457				28.744659927469826 - 30.276490227970584 * i,
1458				109.17450705211161 + 9.741052214387139 * i,
1459				-35.68371217685993 + 15.972356879562483 * i,
1460				-7.739434458645235 + 12.114479360097704 * i,
1461				12.244438081154442 - 27.66015252699981 * i,
1462				-47.036947278419916 - 32.19599788864667 * i,
1463				-20.993596205767965 - 28.23131609812873 * i,
1464				-27.866299080701477 - 8.732591004585032 * i,
1465				19.035967711486364 - 23.566426343753236 * i,
1466				-13.800952405284185 + 23.604638602885103 * i,
1467				-11.851645055485605 + 59.76733977060161 * i,
1468				0.46715283013466546 - 55.21581637106732 * i,
1469				-18.627696606462784 - 41.20922935409757 * i,
1470				17.310599071128593 - 0.33985114325957966 * i,
1471				6.814687434465926 + 39.68857868501219 * i,
1472				-15.757902299602193 - 64.95282935600267 * i,
1473				-5.570137850793948 - 11.85553741249852 * i,
1474				1.8061881999332599 + 56.31240269296606 * i,
1475				-3.55421490597584 + 0.10876458487277318 * i,
1476				-15.979450250131492 + 42.224411011579406 * i,
1477				-5.910038199762397 + 22.08375782983679 * i,
1478				24.591599582592863 + 27.08053472967371 * i,
1479				-17.235687223648295 - 10.544708467361545 * i,
1480				26.61567293928264 - 3.2643382310833005 * i,
1481				-13.892010132738001 + 12.911036413993642 * i,
1482				-1.6488123513608883 + 7.2326458557921995 * i,
1483				-23.242323343015727 + 1.366245700405031 * i,
1484				3.2023456756353212 + 16.85741765034464 * i,
1485				0.18005791157862205 + 61.568716163143876 * i,
1486				-7.7079706318874415 - 26.717641791924414 * i,
1487				-45.76931258932926 + 100.09816470138165 * i,
1488				21.955675175243623 + 10.607290156394264 * i,
1489				-11.469155865689004 + 82.44285377857035 * i,
1490				0.9312183950837323 - 14.131285742410636 * i,
1491				7.7328823679160195 + 24.139750519658513 * i,
1492				17.996981303712538 - 35.6488449160984 * i,
1493				29.55197580215438 - 3.805551540452804 * i,
1494				-12.058038313063589 + 1.448777541654494 * i,
1495			],
1496			[
1497				-4.229357059790402 - 72.40610078608012 * i,
1498				-34.88549134866386 - 39.6136074648432 * i,
1499				6.354505606078746 + 18.875461952177943 * i,
1500				6.310516500448216 + 77.96689028141947 * i,
1501				-57.11285308247869 - 36.203426612061264 * i,
1502				-16.30397020760644 - 36.15922683969603 * i,
1503				42.597814712927416 - 6.78957208895531 * i,
1504				-37.02481698863755 + 8.29718307926592 * i,
1505				-54.02015453074131 - 39.23995967145683 * i,
1506				-32.470830217559175 - 18.60328089542739 * i,
1507				26.764199002210887 + 9.935207147962728 * i,
1508				-4.858447743916884 + 27.923154611924218 * i,
1509				0.5608781893273687 + 16.601784372307336 * i,
1510				-10.244611861977994 + 26.000291436374347 * i,
1511				-37.73169629044152 - 125.98789619034028 * i,
1512				39.8949805530587 + 11.79707876126129 * i,
1513				6.8322001393378144 + 77.9909047044081 * i,
1514				-10.27191835518672 - 1.4454225348595884 * i,
1515				-10.489048129230667 - 45.4901792449904 * i,
1516				8.558616738254614 + 66.75117558788398 * i,
1517				-37.26003027395352 + 19.07117143213256 * i,
1518				15.21852443350083 + 1.4325203833028297 * i,
1519				-25.02174935064903 - 5.56159246552204 * i,
1520				12.372999867622504 + 2.042365614210084 * i,
1521				84.42998328429722 + 51.77527913042954 * i,
1522				34.55016677403128 - 4.263461496054845 * i,
1523				-19.6280078741828 + 39.75957851722526 * i,
1524				46.43923175167566 + 25.26809102236923 * i,
1525				-55.18303726343304 + 32.463364037020824 * i,
1526				8.283408611578992 - 8.75754976575652 * i,
1527				9.686374414822353 + 75.33196693028094 * i,
1528				-13.991635106126498 + 22.237863979224713 * i,
1529				-54.0481383072162 + 84.23408782656517 * i,
1530				-5.392914855133282 + 49.790006193704585 * i,
1531				-25.650381181372346 + 44.033757579525414 * i,
1532				14.068355218563383 - 0.14503501847040923 * i,
1533				-2.57211645758089 + 3.9505825965873598 * i,
1534				16.673010195517644 + 14.311615477701505 * i,
1535				14.250300059681733 + 6.570667755098676 * i,
1536				-42.74087002958286 + 53.00462825810864 * i,
1537			],
1538			[
1539				38.55008095330993 + 3.422082855243943 * i,
1540				37.84894311690596 - 23.67212938712936 * i,
1541				-23.716259966269035 + 29.520706481304103 * i,
1542				-61.852141425522944 + 11.839586995418017 * i,
1543				3.486480260015128 - 37.57825925370582 * i,
1544				34.632798245250285 - 31.832474253435407 * i,
1545				-17.32770338567167 - 3.466774325420765 * i,
1546				14.374307596494177 + 32.720501808485636 * i,
1547				20.145574493135342 - 11.492983491145708 * i,
1548				19.48220044250869 - 14.340239530641043 * i,
1549				19.720752634698897 + 29.133814011227845 * i,
1550				10.055146739763757 + 0.9612596320716378 * i,
1551				2.8181637703194298 + 0.15997885339936602 * i,
1552				-24.722403752341755 + 32.39008679553746 * i,
1553				44.12964617731052 + 9.425885288051902 * i,
1554				7.240175941627442 - 3.369081694912353 * i,
1555				-39.9010282098079 - 2.880520771661253 * i,
1556				10.560531969197157 + 4.979482511610939 * i,
1557				1.6817112577895585 - 0.17540256604016236 * i,
1558				-34.83074814309978 + 24.088100748063752 * i,
1559				2.4171317331423747 - 27.823632962510914 * i,
1560				12.702646954534003 - 43.48295218153633 * i,
1561				8.42586967428602 - 10.36001030976685 * i,
1562				-53.12428661451531 + 11.572261395176994 * i,
1563				17.816425664189346 + 52.156410859096326 * i,
1564				5.314810377721827 + 1.499206338839869 * i,
1565				-25.204658127159462 + 9.616917099150735 * i,
1566				-0.2535100714001146 + 12.951371150572683 * i,
1567				-6.964781734674965 - 22.606024885451802 * i,
1568				15.783531986942975 + 0.3608251821098847 * i,
1569				-3.665721051799892 - 8.201625463800085 * i,
1570				-24.327412225713992 + 24.990881935322506 * i,
1571				-14.455104013715886 - 31.32973970226689 * i,
1572				-55.77297177520783 - 23.699310697874495 * i,
1573				-12.914190731428036 - 51.12780232633092 * i,
1574				12.551513287940423 + 33.29795397467205 * i,
1575				11.83153540032891 + 17.99329381619981 * i,
1576				-9.569150814440363 + 43.7625574548146 * i,
1577				-50.75047546395437 + 8.52808075903065 * i,
1578				-39.263097882048854 - 8.91891935562206 * i,
1579			],
1580			[
1581				0.74107227080097 - 39.69605169916656 * i,
1582				-21.105886155923088 - 22.354692172575483 * i,
1583				5.69516820748089 + 47.49315244193902 * i,
1584				11.848155693941607 + 69.63142984694267 * i,
1585				-79.992334352585 - 11.897737339735954 * i,
1586				-94.21865918691569 - 4.856865904039495 * i,
1587				8.912888798393084 + 56.27371990342825 * i,
1588				39.0687781422352 + 1.843997612689833 * i,
1589				21.736221807853255 + 15.976431572481033 * i,
1590				-13.605125835101951 - 6.7768652767821465 * i,
1591				39.4691609346836 - 25.91127345661309 * i,
1592				1.6285971326651634 + 17.434398075699008 * i,
1593				46.85180798009261 - 18.540360823621654 * i,
1594				34.573312209814134 + 10.450299455133774 * i,
1595				-24.876170859727843 + 18.03442170793224 * i,
1596				-20.122870921753844 + 17.38392267323141 * i,
1597				10.70990530681648 + 14.283793518394805 * i,
1598				37.334949207616376 - 9.319713575293719 * i,
1599				5.900542635256677 + 14.668441637967163 * i,
1600				-42.460090219154466 + 5.547680302482917 * i,
1601				0.6874148452607571 - 27.434611763470322 * i,
1602				-26.1708588598 - 39.66681136299043 * i,
1603				-4.8347421201724075 + 40.34975431738896 * i,
1604				25.507773205798287 + 13.405099700824692 * i,
1605				61.12065964429675 - 27.921024799970496 * i,
1606				-6.148363706136507 - 85.16090754838733 * i,
1607				-9.539908970777859 + 4.748628824784735 * i,
1608				28.060561450651704 + 34.54835310543215 * i,
1609				-26.27223583252392 + 1.4702289228079266 * i,
1610				-12.18864528705086 + 34.652024431694855 * i,
1611				23.63814580699487 - 26.935501102750727 * i,
1612				13.24583397097598 - 1.6139275255802241 * i,
1613				-10.701207790595447 + 19.278777231584325 * i,
1614				13.127004140763432 + 71.78059863868138 * i,
1615				-42.215599192487545 + 29.781044424010723 * i,
1616				38.81905365290007 - 67.2980105608856 * i,
1617				-34.97755510690054 - 23.854562156086985 * i,
1618				12.34718345702866 + 28.51755491883042 * i,
1619				-33.83751330040761 + 88.3220396100055 * i,
1620				9.276957999512465 + 59.340980877805904 * i,
1621			],
1622			[
1623				64.69871892727258 - 10.55934518885931 * i,
1624				-2.385539574654814 + 56.6338616877193 * i,
1625				-10.16636397821938 - 0.8397654077265173 * i,
1626				-44.81694505635235 + 11.247800285358224 * i,
1627				-14.134343674055799 - 30.451481152436422 * i,
1628				-44.66260502553216 - 28.251576812010967 * i,
1629				-18.095626496390892 + 73.55836609481395 * i,
1630				-7.622819050993485 + 63.726879249818325 * i,
1631				-17.418927594379795 + 45.626129472146744 * i,
1632				30.06706025259095 + 2.0123034454551316 * i,
1633				26.854521181815585 - 6.424969619013531 * i,
1634				-30.727799938990472 + 23.055949819160986 * i,
1635				45.948739868288385 - 3.2441109671126753 * i,
1636				-23.360486910505813 - 8.705734864451486 * i,
1637				-21.21526941714727 + 41.57712521317042 * i,
1638				-4.711659134894024 - 53.119522984399396 * i,
1639				25.77530119051491 - 8.208406053679795 * i,
1640				22.473171773361983 + 23.297057847781407 * i,
1641				11.97439476956003 + 10.191278587948801 * i,
1642				-13.51054049141728 - 34.816211074326375 * i,
1643				26.206414834379146 - 13.315833273007598 * i,
1644				-8.218249093720246 + 1.1806516630911261 * i,
1645				-22.212962701687665 - 12.782611222830532 * i,
1646				21.755260203006557 - 2.6042129157440606 * i,
1647				32.074452649121575 - 88.70637795375612 * i,
1648				23.51588739514236 - 20.263174186447145 * i,
1649				22.08638078162612 - 1.3590487271081315 * i,
1650				-15.033726330546646 + 25.355467066703973 * i,
1651				29.31229536319725 + 14.46221862647856 * i,
1652				-46.0728001234772 + 80.8964095854964 * i,
1653				-28.33465300132268 + 13.602772971926125 * i,
1654				22.56460034032588 + 0.9675541437146933 * i,
1655				26.8195885253419 - 22.568512489752038 * i,
1656				5.442022147793708 + 80.44128692953169 * i,
1657				-10.97237343800677 + 17.536094021607184 * i,
1658				3.168184673910627 - 20.78563517316433 * i,
1659				24.511301729733297 - 67.6030568986513 * i,
1660				-63.67613748493606 + 37.59845008959193 * i,
1661				-21.639069165162574 - 19.586428472358502 * i,
1662				10.295062506841418 + 100.17067997847857 * i,
1663			],
1664			[
1665				23.250881427485325 - 67.29323614838148 * i,
1666				9.92750770148966 - 11.831423364926742 * i,
1667				14.540087007481375 + 24.142781334784075 * i,
1668				-2.3207814217325904 + 38.1560581615922 * i,
1669				-33.657739284937676 - 75.15696036836445 * i,
1670				-1.6041432313123494 - 9.766415922490978 * i,
1671				-40.62297447592118 - 8.149236897239206 * i,
1672				7.80886539863593 + 31.566537092861893 * i,
1673				-54.29591395226455 - 42.79341096287732 * i,
1674				-10.296889808510343 - 6.517332892984413 * i,
1675				49.78347923975511 + 11.966446846780144 * i,
1676				-20.32452564704883 + 31.98316907161535 * i,
1677				-32.25662915549705 + 25.37282280191431 * i,
1678				-50.31927949097101 + 73.73505998713645 * i,
1679				-6.663281930524249 - 54.806314451998226 * i,
1680				21.753802510052402 - 15.754076897390576 * i,
1681				6.367839510107132 + 47.30901717134401 * i,
1682				-0.4177040938928869 - 1.278845438954761 * i,
1683				12.741345685722763 - 1.3930383302903806 * i,
1684				66.8995135967796 + 24.795098474261522 * i,
1685				7.638308607108485 - 1.793378272540643 * i,
1686				-89.53787188757589 + 6.1311798312565315 * i,
1687				-26.084030489451962 - 87.87822154620747 * i,
1688				-15.408301223404706 + 30.744253951343484 * i,
1689				33.93105103910251 + 33.3184100975244 * i,
1690				83.12197217256276 + 13.729811861686073 * i,
1691				4.829982369231587 + 75.77362584366404 * i,
1692				22.052780581379437 + 64.87583072877513 * i,
1693				-2.531656428950022 - 1.0708413435485085 * i,
1694				18.058316724706458 + 21.744816784762 * i,
1695				29.54915662250555 + 75.70323123452431 * i,
1696				0.9042867595537771 + 71.17128141212594 * i,
1697				32.059941777819695 - 1.6527211823988637 * i,
1698				-29.211968937731953 + 43.2076847068635 * i,
1699				-8.939727868023354 - 4.6183507181268135 * i,
1700				-1.982683145067388 + 48.388189241771315 * i,
1701				-7.916333072524349 - 17.465021232109592 * i,
1702				3.9651739569142777 + 11.862567440833864 * i,
1703				-25.31998272039262 + 18.6405878856228 * i,
1704				-43.698552191671006 + 88.49620362901246 * i,
1705			],
1706			[
1707				-25.148635632839017 - 46.671880516041014 * i,
1708				21.620272524940564 + 58.016511711873505 * i,
1709				-13.287827757421681 - 90.23693838983749 * i,
1710				71.44528966509196 - 32.75794401974472 * i,
1711				-52.341182345186525 + 10.034350223954789 * i,
1712				3.4541031322372646 + 50.2718915131812 * i,
1713				91.48756692870069 + 8.048429001109497 * i,
1714				7.589317030547058 + 26.95905628184977 * i,
1715				4.183404641187337 + 9.369095897385236 * i,
1716				-32.231398886480434 - 38.29308830781305 * i,
1717				-42.05364966561765 - 54.52465546122146 * i,
1718				31.90848672054338 + 18.648640369411055 * i,
1719				53.97119469433545 - 28.713856790807707 * i,
1720				-45.55590731221844 - 21.69478705981112 * i,
1721				0.9868323144423599 - 29.01453704299577 * i,
1722				-30.956042502373947 - 16.09528767169473 * i,
1723				37.60197336274782 + 2.1802391100331704 * i,
1724				22.04902041576556 - 46.13321977377893 * i,
1725				-6.396035675433595 - 0.8538734823428058 * i,
1726				-57.19002843478512 + 22.501186662458352 * i,
1727				-29.40466948348333 - 7.918041073056116 * i,
1728				11.436040449638881 + 23.166959914327663 * i,
1729				17.070257884040316 + 56.58577112314836 * i,
1730				-17.312603911913556 + 10.01119210097383 * i,
1731				19.122160282958482 - 19.826180147521484 * i,
1732				-61.663052880689435 - 57.59817804689294 * i,
1733				22.855470650211146 - 44.87786477178476 * i,
1734				54.94567942590961 - 25.591470279401676 * i,
1735				27.210951430387837 - 33.26986167536724 * i,
1736				77.30551925795852 + 59.843218170153676 * i,
1737				-38.956956209261755 + 30.549939985829315 * i,
1738				-34.59337055799069 - 31.472782262895308 * i,
1739				-41.36340112580628 - 15.993311717791457 * i,
1740				85.19715534907768 - 42.84037089951667 * i,
1741				55.79185406300712 + 1.6383780335200981 * i,
1742				-70.67741562430412 + 47.557554188498294 * i,
1743				-8.461916260151327 - 52.70993867733971 * i,
1744				78.14168991493341 - 34.62208622059792 * i,
1745				-5.407203176949589 + 78.85611004764357 * i,
1746				29.3620459671619 + 16.829495044486976 * i,
1747			],
1748			[
1749				43.8309900721614 - 32.28830108746635 * i,
1750				1.4054886639338378 - 16.75440347517599 * i,
1751				28.46739835999591 + 4.785877013880452 * i,
1752				-23.701707836498016 + 16.544398810150142 * i,
1753				9.907494985570853 - 75.09449880123869 * i,
1754				-10.550245158893517 - 8.822963984511325 * i,
1755				17.774655256224108 + 31.14684567474677 * i,
1756				0.38410843188066224 + 21.68825071951349 * i,
1757				-10.969906152355776 - 3.828704543262461 * i,
1758				-15.548663546707227 - 26.37097595545353 * i,
1759				-12.152236210773722 + 9.383230886804043 * i,
1760				-17.97550826060572 + 29.311870271069978 * i,
1761				-16.64393505108056 - 10.66664098008583 * i,
1762				-9.890584437053532 + 8.278761457209956 * i,
1763				2.34885580040217 - 64.76232494782768 * i,
1764				7.615229863943853 - 46.10678321901108 * i,
1765				-15.369884621514188 + 18.23347697019439 * i,
1766				-26.37653510611463 + 6.402558049376296 * i,
1767				-10.332763844143813 - 5.942523082096855 * i,
1768				48.26436525788195 + 8.975777400545498 * i,
1769				4.962260887713775 + 6.832281763651686 * i,
1770				-24.84852973118221 - 30.38757795007578 * i,
1771				-10.112016631828908 - 32.440374236295895 * i,
1772				-0.9535450299813704 - 23.04469733169421 * i,
1773				-2.1294159059968436 + 22.515328896761503 * i,
1774				47.31432391934753 + 22.40741556750401 * i,
1775				-6.116521731860875 + 1.504399754658408 * i,
1776				1.0263408323507974 + 26.40647186660876 * i,
1777				29.621941833791908 - 4.340229947841436 * i,
1778				-0.3049952988455402 + 47.055043197807315 * i,
1779				-45.29802217492767 + 48.53351479206309 * i,
1780				10.19341151998363 - 9.832453988463811 * i,
1781				11.99442751319512 + 18.698928127474872 * i,
1782				-3.200648552059306 + 54.93589101832884 * i,
1783				-13.611839122405307 + 18.23652800343084 * i,
1784				-10.677899458277658 + 10.693089317751465 * i,
1785				-11.731578674391983 - 4.142512308041219 * i,
1786				23.539310224324083 + 39.66302237625199 * i,
1787				-14.791440787905394 - 56.982039508505025 * i,
1788				-7.152129172707706 - 1.3240191468107105 * i,
1789			],
1790			[
1791				-29.743030369168398 - 33.62686114495567 * i,
1792				-13.501120323241139 - 54.04504109164331 * i,
1793				65.9497031491571 + 20.1959490659042 * i,
1794				-12.44338458721623 + 48.02040454899752 * i,
1795				-43.5638284467521 - 31.72389775947994 * i,
1796				-61.36044709816238 + 8.541775583581767 * i,
1797				-21.622832977032886 + 15.344645517958043 * i,
1798				7.91389823206373 - 9.537058597796204 * i,
1799				-5.867409619195058 + 14.538649378659848 * i,
1800				-10.303231208285993 - 6.338590914468426 * i,
1801				24.208480137209477 - 18.21545857284393 * i,
1802				-15.861600078519205 + 3.281840893581901 * i,
1803				11.634879159826653 - 3.7623217473663537 * i,
1804				30.646307467161563 + 43.061308400725316 * i,
1805				-53.26512382347469 - 39.88939834688358 * i,
1806				4.418177529500127 + 31.274451940672872 * i,
1807				27.649278672057505 + 30.81234137382603 * i,
1808				6.005601687507379 + 25.22775303591638 * i,
1809				-5.145529833333185 - 3.1224578140768102 * i,
1810				36.50038526073098 - 13.080934247408749 * i,
1811				-2.7559892160851405 + 17.65537209364598 * i,
1812				-40.42183526951577 + 8.386773117258926 * i,
1813				-30.904094239037406 - 31.63746962027396 * i,
1814				35.82878556823447 - 19.241794802339502 * i,
1815				55.49487459675273 - 15.46412397726283 * i,
1816				-7.605361830298023 - 24.95191165347302 * i,
1817				23.62778178327948 + 49.060723278913834 * i,
1818				40.33313748204157 + 39.984177366665094 * i,
1819				11.637202160554423 + 36.78573584952643 * i,
1820				-10.234176063346023 - 34.62974139508268 * i,
1821				19.16074707957131 - 19.406398616894865 * i,
1822				50.428170657505106 + 18.189232348795976 * i,
1823				25.26911901858297 + 22.665164413146776 * i,
1824				-7.364726194981937 + 88.61721208896164 * i,
1825				-13.028935880010062 + 10.058291062358553 * i,
1826				28.279561096437206 - 75.34215103069343 * i,
1827				-24.06959635654036 - 26.44171511355713 * i,
1828				50.8875023940169 + 17.183248870993285 * i,
1829				4.164754865667793 + 29.110342715172937 * i,
1830				-9.901409792694635 + 40.49047460881421 * i,
1831			],
1832			[
1833				-28.786599692820516 + 19.03303886789044 * i,
1834				-7.232906370810639 - 50.051309975800564 * i,
1835				-2.894044369437439 + 49.877689261891646 * i,
1836				-5.096941664239068 - 26.130236394196295 * i,
1837				-53.574186343995734 + 35.79703999362177 * i,
1838				-7.114141153509818 + 23.48652694259613 * i,
1839				-14.233055521500063 - 1.3300805687087234 * i,
1840				11.461795987952712 - 3.3285247703778396 * i,
1841				-22.084655471338685 + 1.4649092675726827 * i,
1842				-25.928222233471978 + 12.997567898590098 * i,
1843				26.048585834230693 + 14.510058777454162 * i,
1844				7.583241324009478 + 0.8449861128674314 * i,
1845				3.173041206453661 + 32.56223000370389 * i,
1846				11.398422993010456 - 5.767587888063133 * i,
1847				-35.10514947091053 + 27.758357725875783 * i,
1848				30.906098112931893 + 65.95804670159836 * i,
1849				56.97069315357777 + 7.934354105605372 * i,
1850				-22.931469406895474 + 2.7222508163698933 * i,
1851				-6.02205222389129 + 9.621605467569978 * i,
1852				-18.363576579050584 + 2.660887727249772 * i,
1853				-40.52558022897875 + 16.465927167691646 * i,
1854				-0.8202287126448482 + 31.59851165307733 * i,
1855				3.886591259379763 + 6.523383053098314 * i,
1856				10.05000890992369 - 25.07371351281985 * i,
1857				39.16293631067013 - 12.580838729115998 * i,
1858				-14.330754011923183 - 46.12548475984953 * i,
1859				-32.22815494075138 + 23.53559016795667 * i,
1860				49.585262922746494 - 12.107887302261567 * i,
1861				-38.10021778178597 + 30.94456751055798 * i,
1862				-26.540578350199382 - 57.47824971538415 * i,
1863				49.396713225830055 - 12.050039153177252 * i,
1864				21.50181848618686 + 5.304881994480279 * i,
1865				43.89934368843253 + 46.18226122719289 * i,
1866				0.4605455580632878 + 17.77087131762816 * i,
1867				-9.361319933100575 - 21.66546967574018 * i,
1868				64.71738124979568 - 45.50180284405613 * i,
1869				-52.21985415156074 + 75.01595493685983 * i,
1870				-28.676292187324492 - 14.070474297969996 * i,
1871				21.52145803803683 - 3.5380647746314753 * i,
1872				2.3236308358803393 - 1.2752750969860969 * i,
1873			],
1874			[
1875				-22.05811146786081 + 10.322103864300573 * i,
1876				-58.60829654669651 + 15.988998635151976 * i,
1877				39.983241701820106 - 21.212297603039023 * i,
1878				15.29614931181285 + 26.85677643373583 * i,
1879				10.163582852051704 + 81.40115032296558 * i,
1880				-37.13194012860623 - 10.234612828699966 * i,
1881				21.324581114621296 + 26.97386695697901 * i,
1882				18.115593129499246 - 35.80512803638272 * i,
1883				6.771385007596848 + 44.690334114079434 * i,
1884				-22.916906360723132 + 28.319903395522196 * i,
1885				-12.835625128513316 - 47.99548341302511 * i,
1886				35.964444374896104 - 14.65189603300958 * i,
1887				22.59120189701204 - 6.05500805053839 * i,
1888				71.28786205787736 - 6.6772007272599865 * i,
1889				-48.586192377936314 + 36.69865170428035 * i,
1890				1.8182753358048842 - 47.39203398923351 * i,
1891				44.50760328448799 - 14.565771495263974 * i,
1892				2.813990376938875 - 9.79655042379838 * i,
1893				-34.08393595968741 - 6.246330080355392 * i,
1894				-5.506518230794541 + 27.137593329004147 * i,
1895				4.118356178232968 + 19.622709389214705 * i,
1896				47.442340433941595 - 3.2298817526522043 * i,
1897				-10.955087829107214 + 42.28395376031422 * i,
1898				9.67151680848049 + 1.5785432728099806 * i,
1899				44.93457958986092 - 67.40637566791199 * i,
1900				-51.13073451984209 - 7.1649243700716845 * i,
1901				47.34038658401961 - 23.874868113948 * i,
1902				-16.264196472191216 - 78.38398973972768 * i,
1903				11.662046278941894 + 57.395096871028656 * i,
1904				-34.39948233716019 + 26.11069227212529 * i,
1905				7.12732219172705 - 63.142406925341206 * i,
1906				-4.077536856077472 - 27.350347029473443 * i,
1907				25.848292525761792 - 5.809902479393069 * i,
1908				15.599470329948872 + 11.519771451394647 * i,
1909				-3.2122747602321637 + 32.02187361890526 * i,
1910				3.1821265861368744 - 62.295278523964086 * i,
1911				10.899120821151953 + 7.833443333241153 * i,
1912				26.676558087606367 - 19.45701284307566 * i,
1913				34.07231800659871 + 6.776407524409958 * i,
1914				22.8478373822427 + 9.702641613220981 * i,
1915			],
1916			[
1917				39.821808107810206 + 40.25417861483771 * i,
1918				4.719091632314985 - 6.028737399163788 * i,
1919				-39.459098832526195 + 93.29897870135079 * i,
1920				-52.08995179313288 + 14.015366869663808 * i,
1921				76.63262286220214 - 71.66941042066142 * i,
1922				-9.680960230696712 - 41.42554753198476 * i,
1923				-18.60217967579888 + 53.815080183568455 * i,
1924				-32.59963331485443 + 50.38306563966976 * i,
1925				-24.184468571501483 - 15.62831990753217 * i,
1926				6.953108357112768 + 7.791306044165481 * i,
1927				-0.147641147154971 + 23.652985441914552 * i,
1928				-36.904071483665874 - 17.65761540232404 * i,
1929				23.3352026967832 - 33.75587513221486 * i,
1930				-43.90477639663948 + 13.393952512933055 * i,
1931				60.771172380321545 - 26.582057242731906 * i,
1932				45.240360719005196 + 4.570404999127582 * i,
1933				-22.228561214105934 + 2.191925232706069 * i,
1934				-20.587063265349997 + 35.882766615457285 * i,
1935				-2.8879026706118367 - 12.241984127998066 * i,
1936				-12.74023788680644 - 16.897954935736976 * i,
1937				-10.943596180886605 + 19.94065543078213 * i,
1938				12.303455994475613 - 78.21266552746654 * i,
1939				24.917149503867734 - 47.403388655113986 * i,
1940				12.100960711189241 - 18.360708221490682 * i,
1941				22.839678140872294 + 102.4886536912054 * i,
1942				41.067108999959785 + 14.96652304921897 * i,
1943				-28.507973627226782 + 26.601444777767178 * i,
1944				-54.68669865068979 + 40.31121318461764 * i,
1945				12.969269946732325 + 86.37969583372083 * i,
1946				-50.29995422956982 + 21.276028582394474 * i,
1947				-18.371085778819776 - 13.65883465526843 * i,
1948				-11.712400020261654 + 47.68886141297147 * i,
1949				32.09512113017917 - 17.116661519978088 * i,
1950				-64.74044848605959 + 10.787368985663019 * i,
1951				6.908646184768928 - 18.73073440538082 * i,
1952				3.6416547825046024 - 11.562462020211633 * i,
1953				2.203765024256633 + 16.407248769676077 * i,
1954				-44.32467396945714 + 77.73143148716287 * i,
1955				-37.276968783689824 - 55.928949686080514 * i,
1956				-63.82182132142299 - 2.813689034683429 * i,
1957			],
1958			[
1959				-8.807632732456298 + 34.06584218661163 * i,
1960				-54.032792939596675 - 3.906886938884483 * i,
1961				-27.992074356877055 + 34.3223221306515 * i,
1962				-63.34503939132198 - 63.62654380381349 * i,
1963				25.191238958743526 + 65.06751534530355 * i,
1964				-34.2088080510605 - 17.45112775547159 * i,
1965				-74.17465664237972 + 23.52414651711055 * i,
1966				-10.834646927951098 - 17.48670656326017 * i,
1967				-11.358295963164153 - 5.448468696158841 * i,
1968				-62.924814421053696 + 47.44690103935986 * i,
1969				-2.6276782967284333 + 21.059168829157702 * i,
1970				12.338306134554546 - 47.8174193515096 * i,
1971				28.771019903184822 + 29.284940656478298 * i,
1972				-19.218460741855708 - 39.41688169121509 * i,
1973				-52.987074685769954 + 19.695782435896774 * i,
1974				20.376350589577275 + 16.834715691535404 * i,
1975				50.054302839157415 + 25.95270089428555 * i,
1976				-49.37030200418019 + 52.60857650544787 * i,
1977				-44.322619223647195 + 11.944844331748644 * i,
1978				20.22064897474118 + 5.9618389309210755 * i,
1979				-30.475278635556958 + 50.63469526547405 * i,
1980				17.85509955834341 - 5.347173580551271 * i,
1981				69.53921703179228 - 29.03358594163069 * i,
1982				55.328731798037566 - 27.822710240527314 * i,
1983				14.407092703517407 + 10.652425133074004 * i,
1984				-4.85445638247646 + 2.6705875310467064 * i,
1985				-64.2214615134073 + 21.64486489546306 * i,
1986				-24.991807360173144 - 36.374786589054274 * i,
1987				-78.5179605835208 + 92.9013247091658 * i,
1988				-56.643873665344444 - 27.04720237276733 * i,
1989				14.455968070561255 - 10.76402671513467 * i,
1990				-9.216446716267868 + 1.392177628889499 * i,
1991				94.79943251271632 + 67.96879599403152 * i,
1992				-36.97786153528395 - 0.16413839084363246 * i,
1993				5.511467636676315 + 45.89805245827924 * i,
1994				116.11410414746886 - 64.03551118589803 * i,
1995				1.4705945155181066 + 50.63132289252928 * i,
1996				-74.18320398134583 - 55.55009048710702 * i,
1997				2.2927410771323373 - 41.83928808286546 * i,
1998				-72.85050697001863 - 29.32614666940412 * i,
1999			],
2000			[
2001				-44.55765539684779 - 45.0345790094857 * i,
2002				-34.96064692345531 + 83.0582040106521 * i,
2003				34.67921938632702 - 75.11985084950085 * i,
2004				87.71906357877862 - 39.62776525091138 * i,
2005				-75.46658888938273 + 111.2451945359199 * i,
2006				-17.448759886948324 + 58.1080672177614 * i,
2007				65.3352358111079 + 7.401427659318642 * i,
2008				5.139318460948829 - 32.91065164391199 * i,
2009				7.213336317080234 + 22.677080710236723 * i,
2010				-11.820327048087023 - 0.7963373866151358 * i,
2011				-17.679622132411282 - 24.226662127429037 * i,
2012				60.82211307736901 + 6.889255275886455 * i,
2013				30.968237442506876 + 18.668559333344263 * i,
2014				11.901168646172376 - 79.05402462061276 * i,
2015				-31.789031137553593 + 34.13531971183797 * i,
2016				-7.318829486543848 + 0.06150297743789679 * i,
2017				44.84884084020503 + 25.11057244849738 * i,
2018				33.95488070080373 - 28.365149846209974 * i,
2019				-17.24530488414021 - 15.841914317439205 * i,
2020				-78.04408363684973 - 8.893897964599986 * i,
2021				-59.765046584873645 - 17.6559135494973 * i,
2022				-11.787283554335659 + 68.39921692619455 * i,
2023				35.546462096116144 + 73.83391291719602 * i,
2024				7.896536540073413 - 3.983401859132023 * i,
2025				25.413215406637704 - 16.68976653089966 * i,
2026				-69.95669478818249 - 89.75355581485896 * i,
2027				1.2921726856197324 - 42.12872890961883 * i,
2028				58.354356586468924 - 69.57302479495513 * i,
2029				-52.46540790137006 + 14.118357062431834 * i,
2030				6.331074904207981 + 51.206548090112136 * i,
2031				-11.230507287039458 + 6.373502127487981 * i,
2032				-36.061219871966166 - 56.93586831069358 * i,
2033				37.43942156691017 + 4.210900015037073 * i,
2034				112.66543238805511 - 33.798368255509665 * i,
2035				62.867253609296355 + 67.11540989752197 * i,
2036				-10.65906745812776 - 9.223066132773369 * i,
2037				-9.370474217183414 + 4.668422527895203 * i,
2038				43.429576629434386 - 38.93785785400394 * i,
2039				9.375817628274024 + 58.83538000703049 * i,
2040				32.34543509336801 - 34.073740751308 * i,
2041			],
2042			[
2043				-6.984590491324269 + 8.758776654722965 * i,
2044				-22.06220484592035 - 37.04934323603416 * i,
2045				32.77787009920452 + 56.094804584732096 * i,
2046				6.653941342362195 - 36.29579185865835 * i,
2047				12.061999369899965 - 45.67380426134889 * i,
2048				-42.82928895007572 - 11.911134055394683 * i,
2049				-45.26686475491034 - 41.338309946878546 * i,
2050				-45.751575395582364 + 0.06991921922335109 * i,
2051				-45.846263731398395 - 4.23675902579032 * i,
2052				-3.0206613425541065 + 36.2900847599396 * i,
2053				23.140239569906576 + 18.61636914038317 * i,
2054				3.4528400272032798 + 14.589158996486603 * i,
2055				-34.864814660958984 + 42.6202753387153 * i,
2056				16.10009694038547 - 24.28373184037993 * i,
2057				-37.95890787831246 + 16.444062973045618 * i,
2058				-31.28009106924273 + 21.868410692187652 * i,
2059				33.05918408266979 + 23.61909268191107 * i,
2060				-52.58184322744853 + 26.285666808693747 * i,
2061				-13.806895299883493 + 24.148204233079355 * i,
2062				59.63160324860385 - 20.047439561486776 * i,
2063				23.870606905013076 + 9.764778526598192 * i,
2064				-39.45730130812866 - 19.386882894442714 * i,
2065				-6.256220759424934 - 22.05096731977251 * i,
2066				8.872139007560314 - 20.99739885117623 * i,
2067				15.280975314800912 - 18.570260572058572 * i,
2068				25.707304945767703 - 4.175172923408425 * i,
2069				-19.40750218854285 + 32.79854077268282 * i,
2070				-33.437318506558285 + 46.18860683533995 * i,
2071				-3.3744250625918255 + 26.272332756046076 * i,
2072				1.5252501775473206 - 21.75632161998466 * i,
2073				59.12116099179899 + 3.7382652768328057 * i,
2074				1.9659642635401298 + 33.29505063157714 * i,
2075				73.07967560641104 + 46.5115394438975 * i,
2076				-19.48671313641543 + 16.673542547263796 * i,
2077				24.825757285744857 + 1.1957801485381907 * i,
2078				38.10617356599211 - 49.948597837591265 * i,
2079				-3.2645527899626003 + 52.8455152758648 * i,
2080				-12.429107003562507 - 13.921472857559506 * i,
2081				-23.62098568298314 - 60.84150287541546 * i,
2082				-36.98666280017338 - 9.03800318607365 * i,
2083			],
2084			[
2085				21.22944416913873 - 54.3343174373922 * i,
2086				-24.92210624258982 + 9.860655891685553 * i,
2087				19.56478820896814 - 15.932193039324432 * i,
2088				13.233317592128117 + 53.32377328782508 * i,
2089				-70.38967847631676 - 40.20220814808256 * i,
2090				-3.460431822197563 + 0.24182847906450888 * i,
2091				41.87338612635795 + 30.56519301984305 * i,
2092				23.092098116119715 + 51.10409662775635 * i,
2093				-39.16562189593728 - 3.301260381078208 * i,
2094				-12.263254120916073 - 11.552704389434979 * i,
2095				21.71763305306949 - 10.690744989889396 * i,
2096				15.453241624126207 + 24.229902013928225 * i,
2097				16.91157623713446 - 10.37662051078803 * i,
2098				-16.846346543255457 + 29.06047491302828 * i,
2099				-14.939639826136101 - 51.14073209374253 * i,
2100				21.314054353922504 - 30.512024624470676 * i,
2101				19.85791461542749 + 45.112965896899894 * i,
2102				20.09381583520269 + 15.486667005419406 * i,
2103				-21.504194047322105 - 9.926874558124126 * i,
2104				-21.838780256485048 + 26.964831760128448 * i,
2105				-29.087395030666613 - 1.9907905213771642 * i,
2106				-20.4181001382494 - 3.3740557335838766 * i,
2107				-38.754337078294014 - 5.044614159945737 * i,
2108				-28.68953721352939 + 9.72593748923633 * i,
2109				121.56741494781843 - 3.4142404021150554 * i,
2110				22.9218987326082 - 42.43510890083742 * i,
2111				24.914241044344777 + 11.573648848097122 * i,
2112				38.0954853601416 + 13.782624868130739 * i,
2113				45.594934321002896 + 15.456968069030722 * i,
2114				13.41441086116346 + 52.85902426609979 * i,
2115				-11.128628685792542 + 20.88579775658327 * i,
2116				-6.14440989391872 + 25.527512634133927 * i,
2117				-6.056187732642801 - 40.949587735973736 * i,
2118				22.99544025216779 + 44.39629387722769 * i,
2119				6.469815634852608 - 5.199061270886688 * i,
2120				-32.109232533021014 + 23.77788589070608 * i,
2121				30.387000020414057 + 8.89216059533377 * i,
2122				37.67826389392566 + 18.740840554094362 * i,
2123				-54.417282691297615 + 37.97367131190644 * i,
2124				-40.66471205602454 + 82.69853029260582 * i,
2125			],
2126			[
2127				25.98126112294122 - 47.55171610902498 * i,
2128				11.861955766073706 + 39.49863632644664 * i,
2129				-22.37607725670071 - 13.249726562217177 * i,
2130				-13.150211141704773 - 54.06299467863803 * i,
2131				-56.69124849008681 + 14.745410991538137 * i,
2132				6.03845794025591 + 14.10495659551853 * i,
2133				2.5629668106314796 + 1.9953671268215771 * i,
2134				53.49308738029006 + 81.67035600936839 * i,
2135				-28.800824367185523 - 14.873258997140589 * i,
2136				-16.895753526320068 - 29.75932907513507 * i,
2137				46.77619922741928 - 4.995193725202007 * i,
2138				47.36733587326832 + 6.025053736388877 * i,
2139				24.57249955035229 + 49.651187454414455 * i,
2140				-84.6842221004784 - 4.44317117863784 * i,
2141				8.928248479805987 - 17.840350429667712 * i,
2142				-8.250073953519134 + 10.223728575620228 * i,
2143				58.39552112564887 + 82.25505810946612 * i,
2144				8.65650218134958 + 14.744544674996234 * i,
2145				-40.839098986532505 - 11.518551617438803 * i,
2146				-68.18020383581052 + 64.38680418881995 * i,
2147				-79.75364986344064 - 1.9351986460899013 * i,
2148				7.99747051874337 + 45.77558835276368 * i,
2149				15.157383721004873 - 0.6896994658369913 * i,
2150				-9.428917639628452 + 5.000132827952618 * i,
2151				113.37731964850113 - 34.36155677001043 * i,
2152				6.89700908872959 - 78.04102966073404 * i,
2153				-15.723486413505164 - 0.40020214221516426 * i,
2154				64.15365376729919 + 6.680324019289701 * i,
2155				-15.797488204670074 + 25.10440995769308 * i,
2156				24.071164437539466 + 40.542019477309395 * i,
2157				21.930959053064075 - 5.1764728769480115 * i,
2158				-18.81830468011784 + 28.942174652390356 * i,
2159				24.147914678906382 - 18.080993521980673 * i,
2160				21.955417413132874 - 13.391777295598555 * i,
2161				45.93695790223202 - 14.152634938499745 * i,
2162				48.94423221023273 + 62.84270654883151 * i,
2163				30.923665165110215 + 16.58196425584319 * i,
2164				-17.831088630216698 + 4.8949832075287745 * i,
2165				-60.74408176236093 + 37.373504895779746 * i,
2166				-44.39531772699465 + 55.91350214252248 * i,
2167			],
2168			[
2169				-52.874527419135745 - 95.28523239832946 * i,
2170				-15.309177101343522 - 1.3022153279628057 * i,
2171				14.781157533583155 - 47.80690062724453 * i,
2172				88.01937858412936 + 17.30097937091577 * i,
2173				-92.78047585626888 - 38.040867564265454 * i,
2174				-33.425102288024505 - 15.667607808696232 * i,
2175				18.845525858758634 - 38.80769030346539 * i,
2176				-3.95649414264696 + 13.947841833135044 * i,
2177				32.9226418181278 + 2.476372525240251 * i,
2178				-0.9016466411563542 - 40.456098285327315 * i,
2179				-16.393621748798907 + 12.02097251125457 * i,
2180				30.473604782590684 + 18.420196201994656 * i,
2181				-16.901408405180177 + 16.37352317099061 * i,
2182				31.657217426853762 - 5.6950056597027015 * i,
2183				-48.12191770436852 - 72.84711942682745 * i,
2184				-24.916983163307435 + 6.165357845409233 * i,
2185				-14.465722031046113 + 49.848001716909565 * i,
2186				40.218536430389 - 34.26016686260573 * i,
2187				-23.90247218763028 - 9.754000038327227 * i,
2188				4.863691932616803 + 2.2873559531149112 * i,
2189				-3.4474956987606467 - 25.473313950698667 * i,
2190				-52.78792794666442 - 10.846150675882502 * i,
2191				-10.150153023536578 + 45.11988981913923 * i,
2192				-11.740174869338574 + 32.27817900224277 * i,
2193				2.324871436195626 + 51.290050120781956 * i,
2194				11.574559207187576 - 42.75837339896126 * i,
2195				-1.2162757851173467 - 36.03885069823681 * i,
2196				83.21946770131926 + 27.48470891082792 * i,
2197				-43.21319532388348 - 97.87621131567056 * i,
2198				46.09317260258544 - 8.436030761937104 * i,
2199				-11.810682604374328 + 66.7093995952209 * i,
2200				11.305719733591056 - 10.165970662086599 * i,
2201				-41.43979703028907 + 68.30313235036104 * i,
2202				58.8586394719013 + 3.948784356374265 * i,
2203				9.191522210983134 + 27.741943070538287 * i,
2204				3.768534210166795 + 51.078194939918774 * i,
2205				-42.92661494839656 - 50.73665124797652 * i,
2206				103.32563012714638 - 21.469534116248465 * i,
2207				-20.929220831723804 + 63.85738265621242 * i,
2208				24.089613206218644 - 9.332717885203678 * i,
2209			],
2210			[
2211				22.92415314743156 + 74.12387242368064 * i,
2212				17.081097391145477 + 46.368428104057784 * i,
2213				-4.220748837777094 - 26.461644565223594 * i,
2214				-35.82773649967575 - 82.66282708927406 * i,
2215				36.18984375445058 + 31.365232399929077 * i,
2216				34.98864032252479 + 20.155905631203723 * i,
2217				-36.374582581133495 - 13.777721744769224 * i,
2218				-46.72322092055569 + 22.92317899962309 * i,
2219				8.78832347337044 + 33.68171812870858 * i,
2220				46.816209450003754 + 16.456236108310904 * i,
2221				-20.657369311495657 + 38.889976356577165 * i,
2222				-13.499874753790607 - 7.7431557040046926 * i,
2223				8.791542689610978 - 35.52844995256413 * i,
2224				-36.352673670933555 - 65.03899048068071 * i,
2225				-2.2215199038992637 + 56.49743593119183 * i,
2226				26.585793984991362 - 25.207940882647137 * i,
2227				-33.90589762752762 - 57.63934190650572 * i,
2228				-15.254066135839622 + 5.795936981980631 * i,
2229				11.293236153755913 + 24.643817210107272 * i,
2230				6.866951865994119 - 39.035746574013025 * i,
2231				45.97643740473197 - 2.1978343774818256 * i,
2232				6.255749199767038 + 18.60380461360947 * i,
2233				37.04922725781462 - 39.013154506413464 * i,
2234				10.122808019663747 - 28.42146226072643 * i,
2235				-31.26618784805686 - 0.5202916658965293 * i,
2236				-14.393559697639075 + 57.64711088441915 * i,
2237				-15.828554830078943 - 13.337958093277692 * i,
2238				-41.275407916540715 - 29.66416068183475 * i,
2239				32.412991423173956 + 5.507319562097379 * i,
2240				-36.78081047739239 + 15.413147294181432 * i,
2241				-17.493528227106335 + 6.231452208746276 * i,
2242				0.04064048770442774 - 37.41872936363492 * i,
2243				52.1676899967333 - 22.534757437429924 * i,
2244				6.49869048111367 - 40.58444102635213 * i,
2245				40.002825653679025 + 5.604977652128869 * i,
2246				-40.15622573607647 - 28.410882073257895 * i,
2247				44.038043336251505 + 26.701341757022085 * i,
2248				-66.08481620636942 - 19.57462901967508 * i,
2249				1.8737153059686689 - 68.55094998008643 * i,
2250				-39.331838917040585 - 53.660303089641396 * i,
2251			],
2252			[
2253				28.54059465409493 - 15.583126276747743 * i,
2254				1.7759627404416278 + 38.53037982005973 * i,
2255				-24.02608756872337 - 15.932395012234634 * i,
2256				-24.94223970739978 + 30.953121166835544 * i,
2257				16.317277723130758 - 45.714069045146985 * i,
2258				-17.979466797796135 + 2.481294631460429 * i,
2259				1.5218077601869027 + 20.942859601882503 * i,
2260				7.280577283017103 + 51.199037884133276 * i,
2261				14.938266991160532 + 15.708874549554992 * i,
2262				7.860579617220139 + 2.9236226765639053 * i,
2263				-8.962364670792006 + 18.016824049989054 * i,
2264				-7.151343845398912 - 2.334659653197555 * i,
2265				2.4705794039326463 - 44.92722588010676 * i,
2266				-31.86648157718311 + 12.142950697894037 * i,
2267				26.00900597920588 + 8.650039182268927 * i,
2268				-27.078020889271016 - 38.041622362521764 * i,
2269				-17.325381049230852 - 27.196746607448986 * i,
2270				40.765898211291145 + 24.476530806160895 * i,
2271				3.8915705171683044 + 6.143788431875279 * i,
2272				0.5751403554872923 - 35.82124381715815 * i,
2273				24.041739799935755 - 5.310767626740045 * i,
2274				-35.789572833443856 - 47.732351985842286 * i,
2275				16.61343046302379 - 28.88212299288648 * i,
2276				-21.778232255376786 + 9.141055575710617 * i,
2277				-26.93967430101017 - 14.442367823581526 * i,
2278				21.85951193448883 + 23.03722802930533 * i,
2279				5.837224672131121 - 15.018213971158488 * i,
2280				-29.275817850963307 + 1.3370083887767805 * i,
2281				24.244653078628332 + 1.130813756050486 * i,
2282				4.1239598495523495 + 62.811804888814095 * i,
2283				-39.308144816300285 + 35.137513385010706 * i,
2284				-8.946388532603628 + 22.043003509493747 * i,
2285				18.85054854884372 - 56.85315969610568 * i,
2286				16.74814837023179 - 2.4391247850520994 * i,
2287				8.404073005577654 - 1.9906108782058638 * i,
2288				-21.90970336857654 + 49.932915170146586 * i,
2289				-6.812569636886536 - 43.337689224476094 * i,
2290				-12.303066940656688 + 11.825115101933068 * i,
2291				-49.20103768456001 - 9.582339119955012 * i,
2292				8.387196243571054 + 21.1831163074076 * i,
2293			],
2294			[
2295				-3.5357792329740505 - 59.68573975229219 * i,
2296				-33.689857730995016 - 21.167154404908473 * i,
2297				28.78999914868041 - 26.737427466923705 * i,
2298				4.940660808524484 + 26.201416565674123 * i,
2299				-32.815902206844356 - 54.12883870570329 * i,
2300				11.677620618130248 - 4.969978298179143 * i,
2301				-8.113951943651983 - 11.227112597182867 * i,
2302				-58.38292660675876 - 1.3521675759727714 * i,
2303				-22.015101681900546 - 33.83977181318883 * i,
2304				-0.8582121468676291 + 17.677857193515592 * i,
2305				25.419472965819864 + 27.270634206680388 * i,
2306				-1.1132569458357011 + 19.397326467022765 * i,
2307				-20.421566639050326 + 45.7770089484437 * i,
2308				-9.620269905042363 - 8.277679797637916 * i,
2309				-4.503064541880093 - 71.76998104933313 * i,
2310				13.802990994450571 + 29.905330275622987 * i,
2311				9.562367782684298 + 72.91891869365816 * i,
2312				9.540501569564555 - 13.353248145730447 * i,
2313				-9.05237483855904 - 0.7620307802338147 * i,
2314				6.056779427905582 + 49.987055176556225 * i,
2315				1.308784203920979 - 9.923126809419927 * i,
2316				-31.25326802702411 + 14.666553680211294 * i,
2317				-3.207241440946447 - 29.423182624575972 * i,
2318				-29.748875334810293 + 2.825657273686332 * i,
2319				33.19084928418238 + 71.06574697884496 * i,
2320				24.78971120822375 + 29.970937556629394 * i,
2321				-3.7932786112865244 + 38.53913010983749 * i,
2322				17.023228600508958 + 56.6209337513442 * i,
2323				-6.08192931865689 + 14.61316317662812 * i,
2324				-5.955440518096395 - 18.935771870010804 * i,
2325				2.5612964064619703 + 33.8244774690264 * i,
2326				-32.556290585405144 + 21.506361594137566 * i,
2327				14.820942098901869 + 45.58449591511646 * i,
2328				-27.68410396394588 + 39.974098461794114 * i,
2329				26.952877076173806 + 26.78162810581243 * i,
2330				-5.914850678645536 - 41.11207628264059 * i,
2331				10.806160041126589 + 33.939575597521475 * i,
2332				39.00881240507683 - 15.354420541942888 * i,
2333				-14.788015581615019 - 6.733117857743682 * i,
2334				-104.73200952359508 + 4.760226907642539 * i,
2335			],
2336			[
2337				-20.625298155041605 - 53.90520825470385 * i,
2338				5.721446110529712 - 28.82977150267328 * i,
2339				-15.935854174346616 + 31.94655559262557 * i,
2340				20.4760121741445 + 15.18006663377787 * i,
2341				-60.09645762836544 - 34.52559784016313 * i,
2342				4.23997074480755 - 15.406912442301042 * i,
2343				-28.247040265099777 - 11.601228790919748 * i,
2344				16.096222196567098 + 18.549582147050558 * i,
2345				-55.613976801973564 - 14.744242493530436 * i,
2346				-42.54653500387033 - 31.5021886166372 * i,
2347				52.31011203656709 - 7.2358740514589215 * i,
2348				-4.723348074230955 + 30.034067180062124 * i,
2349				-9.613476143154589 + 17.63309684149519 * i,
2350				-35.9369274795813 + 49.1942271048583 * i,
2351				-22.32254319501979 - 87.07978377751778 * i,
2352				28.247267284948975 + 15.277484163852684 * i,
2353				43.134296253327975 + 51.62384038997544 * i,
2354				34.610559029592814 - 38.303919078558835 * i,
2355				-13.770022944497294 - 7.01092215936464 * i,
2356				-1.8404060248046505 + 30.53072497690294 * i,
2357				-4.906007786376691 + 36.03697603359204 * i,
2358				-22.66496596912188 + 16.308751151918713 * i,
2359				-11.115103306359913 - 33.31717409896794 * i,
2360				-4.520309194531642 + 9.019072256718601 * i,
2361				4.455293474546147 + 9.243802138023911 * i,
2362				23.90355888931096 - 27.6522830058743 * i,
2363				-17.82894057868981 + 33.849837662819645 * i,
2364				44.68542018611526 + 9.110605459250134 * i,
2365				-29.543845341747414 + 13.111002392922103 * i,
2366				13.840396586718924 + 12.35402627047171 * i,
2367				26.794386348095678 + 70.63416734688849 * i,
2368				15.074049042392602 + 19.359815096285374 * i,
2369				-21.557006267719366 + 45.725191383906484 * i,
2370				13.487015891660022 - 20.970823134457618 * i,
2371				8.050670198357679 + 8.397680785119256 * i,
2372				75.17668335843189 + 18.571575706502863 * i,
2373				-30.45229030561198 - 1.120639908934308 * i,
2374				28.87549897116034 + 13.761983131567376 * i,
2375				-27.14326649685647 + 24.174483473493467 * i,
2376				-22.586097249288837 + 18.078972655673425 * i,
2377			],
2378			[
2379				47.50283273204178 - 3.70805350742404 * i,
2380				-24.598874230177557 - 36.469372473026226 * i,
2381				28.850377963086032 - 40.61770062768889 * i,
2382				26.76864314134042 + 18.83302463057862 * i,
2383				-6.151833315464785 - 52.91241373036084 * i,
2384				3.1432055792416804 + 10.841955900197405 * i,
2385				-6.406408657168441 - 33.060084392915755 * i,
2386				-25.83444723091945 - 44.898566459244854 * i,
2387				-10.88921626723129 - 53.702101282113105 * i,
2388				13.405932015884588 - 19.347552820790497 * i,
2389				-8.65520116055879 + 41.024644628258756 * i,
2390				-33.3510071645548 + 16.635945972498547 * i,
2391				-59.964308560452324 + 13.264842551457209 * i,
2392				42.68307800054768 - 41.36076275896913 * i,
2393				32.37878561504654 - 52.82470066752239 * i,
2394				-34.862952041906226 + 2.439293627093491 * i,
2395				-77.67446884082547 + 44.86852545410283 * i,
2396				8.176716630083938 + 19.882304571509195 * i,
2397				13.183839988882909 - 18.663980584356167 * i,
2398				33.78261923692318 - 30.060046224502784 * i,
2399				-5.3987389877799785 - 34.540099914514556 * i,
2400				-62.07098057876117 + 20.07789992489296 * i,
2401				-2.9173561833358974 - 11.960033701117226 * i,
2402				20.1933953443138 + 24.94183913416434 * i,
2403				-3.734124602680538 + 0.8954197099442103 * i,
2404				63.99764377393302 + 50.01830484796605 * i,
2405				2.4723795485542723 - 33.72369018173109 * i,
2406				0.5648448216209943 + 24.777765796048556 * i,
2407				-27.080842039671708 - 58.73373791310421 * i,
2408				-19.639536155388292 - 24.313305709283924 * i,
2409				-67.76594839285414 + 29.44608942676743 * i,
2410				28.4732042785825 - 11.146330164253001 * i,
2411				-66.4131577816626 + 23.424142532041458 * i,
2412				2.7088452167114365 + 60.84228152058945 * i,
2413				-65.23740734485266 + 53.93829509194309 * i,
2414				4.617015815496583 + 68.72671548949586 * i,
2415				-9.261860378512047 + 9.012473377842051 * i,
2416				-1.1275979852754516 - 60.99403464705627 * i,
2417				35.00056310144652 - 45.93018972790337 * i,
2418				8.93184393102788 - 44.45168024954286 * i,
2419			],
2420			[
2421				-49.475782458153475 - 65.11497519242316 * i,
2422				0.34476087057848304 - 40.697190377479586 * i,
2423				-4.749002409350027 + 18.336119560242068 * i,
2424				64.33158721867096 + 8.688971165637042 * i,
2425				-64.15572517408128 - 25.077945382101248 * i,
2426				-11.242474715263597 - 6.324164296616345 * i,
2427				-1.2830615415942503 - 55.384724103861515 * i,
2428				11.919293641278273 + 35.558090342805976 * i,
2429				-2.7931599045245363 - 7.56952187471137 * i,
2430				-20.20975107356213 - 25.856229565928828 * i,
2431				23.78589024321935 + 26.27163636720839 * i,
2432				-14.930501503203828 + 13.048924018025295 * i,
2433				-6.593715354547982 + 16.70738918209055 * i,
2434				-18.167178204595615 + 28.837139020997625 * i,
2435				-22.255080174501927 - 70.42920831693552 * i,
2436				31.79998968893625 + 33.40314005989359 * i,
2437				-9.885617458603136 + 39.92581106432365 * i,
2438				3.9357899720737635 + 11.158507889562259 * i,
2439				-9.628639386536491 - 32.76431382264346 * i,
2440				8.455757826529648 - 7.25042754891502 * i,
2441				-31.520418261068862 + 18.527867269863656 * i,
2442				-37.51958438545674 + 1.6217506646729873 * i,
2443				-2.621808755744766 + 11.066857281099825 * i,
2444				6.435395074915679 + 12.863410862029326 * i,
2445				0.04812780649378823 + 38.37397318767748 * i,
2446				19.898566108594594 - 31.482222841301564 * i,
2447				-13.259522191807974 + 21.92903980229777 * i,
2448				52.983361419702184 + 23.39663783897597 * i,
2449				-37.71589567540537 - 12.21749182752729 * i,
2450				-2.8325545916933095 - 46.04776202903533 * i,
2451				35.58901545175842 + 48.834128612765454 * i,
2452				24.700906530532606 + 25.795673546789807 * i,
2453				3.6342317709994916 + 82.88195215170174 * i,
2454				19.681911205527072 + 27.97494645290615 * i,
2455				-19.664330085560074 + 12.684046752274845 * i,
2456				36.861132410314674 + 42.677658624002135 * i,
2457				-58.05946749347715 + 7.214704399870957 * i,
2458				69.0123503774615 + 22.706363438928694 * i,
2459				4.686660232615612 - 12.5935816027585 * i,
2460				38.667141144924265 - 12.009938931705012 * i,
2461			],
2462			[
2463				-47.00083280576598 + 16.782929222825743 * i,
2464				12.920411639103008 - 15.9659695844271 * i,
2465				39.08727105530375 + 20.302012903034665 * i,
2466				-22.859480908304903 + 38.228725329067515 * i,
2467				38.38345546871251 + 37.12296245851195 * i,
2468				-17.992425580723705 + 27.850974525354843 * i,
2469				31.67866670028748 + 27.734434160147572 * i,
2470				3.9252246672607214 - 56.774674728646715 * i,
2471				-6.315382808171634 + 16.525845454124422 * i,
2472				-24.43058686040512 - 4.461407740538789 * i,
2473				-3.57867150966473 - 35.07382065285992 * i,
2474				-18.153184992830234 - 39.03951153694257 * i,
2475				9.847544051975774 - 59.747545674507506 * i,
2476				-5.945692287183533 + 8.901931934859874 * i,
2477				18.405372105613978 - 27.146721261332658 * i,
2478				22.111092610147935 + 4.068642334929352 * i,
2479				10.59067485570774 - 37.54044817059929 * i,
2480				-21.75930153867958 - 28.58439643642297 * i,
2481				27.293538026026795 + 29.142907123947793 * i,
2482				32.937507779677105 + 31.296234272123144 * i,
2483				16.82945671446251 + 57.494928842399744 * i,
2484				9.998531696713755 + 8.937019237078147 * i,
2485				3.6900110003817588 - 19.946334164253813 * i,
2486				31.81751058964828 - 17.523855282590524 * i,
2487				-35.00579667163724 - 18.911544912807905 * i,
2488				-69.42025493875913 + 50.802565904826054 * i,
2489				-15.037094373933357 + 53.654841922534565 * i,
2490				-57.099649974198925 - 15.485484899110482 * i,
2491				27.629877248871765 + 74.25600569790603 * i,
2492				36.44080187137095 - 13.77881004526489 * i,
2493				32.160663436425295 - 2.8194480590750697 * i,
2494				2.7981057506767204 - 16.93634666718385 * i,
2495				-32.45046591426954 - 26.171444732887775 * i,
2496				-24.847231203023647 - 29.258605048814726 * i,
2497				-6.319404404544123 - 2.281167456609282 * i,
2498				-36.02128783200105 - 111.43911639082827 * i,
2499				29.30011108127967 - 1.5443002800002361 * i,
2500				31.839523857007663 + 36.48299595968461 * i,
2501				49.55612329475002 + 37.377575720416786 * i,
2502				-18.394267214983646 - 7.5213289777809855 * i,
2503			],
2504			[
2505				-23.89302799484389 - 27.33369921864705 * i,
2506				63.75744688521593 + 80.47838089377595 * i,
2507				-9.880516279863045 - 69.82880393251293 * i,
2508				12.617438151531331 - 81.59036920732844 * i,
2509				75.22851360061087 - 68.5342513878486 * i,
2510				3.1959868865274643 + 9.447067305674068 * i,
2511				6.530219789455842 - 22.210877624664718 * i,
2512				-85.67963356541671 + 61.249794872340544 * i,
2513				15.45083442452436 + 27.42895326837423 * i,
2514				44.439744570309344 - 13.388114632159784 * i,
2515				-47.24425770546404 + 4.336988892772282 * i,
2516				-13.572627465562057 + 10.242215987546075 * i,
2517				21.429890206013226 + 0.4601963483031497 * i,
2518				-78.1685885993539 - 7.837283876436743 * i,
2519				-23.67753893950725 + 34.50966413103162 * i,
2520				-38.044096013828025 - 48.19463713404893 * i,
2521				7.394033202648899 - 37.09742071727337 * i,
2522				-50.118342968937384 - 2.706904759307932 * i,
2523				30.428691326487794 + 23.680317019341572 * i,
2524				89.3226303630612 - 82.9389631837063 * i,
2525				40.98808891971925 - 20.78192876901558 * i,
2526				-22.48133486229881 - 15.582220493418632 * i,
2527				-12.098716985169176 - 22.574219943320657 * i,
2528				-15.208361131625963 - 21.21658629868955 * i,
2529				-46.99334021359758 + 20.400530103566027 * i,
2530				9.63285398422127 - 6.29509265728106 * i,
2531				16.68408302107369 + 5.861951438898771 * i,
2532				-24.186902251956077 + 30.91816410929131 * i,
2533				40.257256721730634 - 42.4237668414176 * i,
2534				56.35898177011376 + 51.980968379825 * i,
2535				-9.644232156507229 + 58.74363555548047 * i,
2536				-43.69670473195748 + 14.580467183102366 * i,
2537				91.84604888933613 - 21.99799652310147 * i,
2538				27.284923408230412 - 22.536354674872143 * i,
2539				107.56756101918927 - 41.57759504397463 * i,
2540				-133.120602306975 + 47.60878690404279 * i,
2541				6.845192891953218 - 101.49492085033685 * i,
2542				17.32386848366346 + 23.582536636775238 * i,
2543				-4.993637898930341 - 47.90636814203103 * i,
2544				22.824463269065827 + 33.60394422592093 * i,
2545			],
2546			[
2547				73.92475160159236 - 34.382793787237645 * i,
2548				-37.380165366617064 - 19.480014892807446 * i,
2549				37.19449380946361 + 59.84509529573279 * i,
2550				-61.83606473404757 + 87.16184759014888 * i,
2551				43.126737780281445 - 59.35293420961668 * i,
2552				-73.16011172627562 - 53.46905042029522 * i,
2553				-34.64405531952475 + 74.88023142614011 * i,
2554				-40.17611438669611 - 4.2659681791589605 * i,
2555				-0.9121096633561407 + 30.270040618314013 * i,
2556				14.82220784143908 + 17.34285776801522 * i,
2557				26.300197917588605 + 15.094540971766378 * i,
2558				-54.1063159815167 - 9.99505872644125 * i,
2559				3.329700260928348 + 3.0075760023164833 * i,
2560				15.466596129364703 - 16.59763756674704 * i,
2561				32.15146103832194 - 7.659983032009776 * i,
2562				23.484486039200817 - 15.463457629078789 * i,
2563				-6.800869360938748 - 6.546006020069257 * i,
2564				5.6728975675345765 + 42.65510955537334 * i,
2565				15.224966595334536 + 19.386975474164316 * i,
2566				35.77621297895939 + 15.455784464370879 * i,
2567				39.40504440932927 + 23.713522576113803 * i,
2568				-9.640877718733421 - 73.82336383577098 * i,
2569				-8.087535846813758 - 11.886237699932956 * i,
2570				26.233236826620924 - 26.87025604292637 * i,
2571				-41.91718045386536 - 51.10515825008556 * i,
2572				32.01643670592722 + 36.95012503985117 * i,
2573				-23.750209386229145 + 41.23061930942605 * i,
2574				-65.74916814725641 + 81.93524093200061 * i,
2575				12.589578741158437 + 32.61799278607167 * i,
2576				-65.82794504590721 + 30.155667598551958 * i,
2577				-34.5948853623033 - 0.3140583003140023 * i,
2578				21.659889037975425 + 14.084862207099498 * i,
2579				-12.0875095599263 + 38.21129173489684 * i,
2580				-66.59875859583829 + 101.69549733531846 * i,
2581				-68.93420143391944 + 36.811032112241925 * i,
2582				25.540262015727997 - 100.05864069211977 * i,
2583				28.130010292191763 - 41.45740560984442 * i,
2584				-49.71856228456848 + 89.94313528051737 * i,
2585				-11.423001797274068 - 25.665353429073615 * i,
2586				-23.315299537768954 + 70.21028670252188 * i,
2587			],
2588			[
2589				31.635880501191977 - 25.366686812232345 * i,
2590				-52.86744718172963 + 32.19343455375508 * i,
2591				4.325224480061706 + 18.898597864583955 * i,
2592				-57.0066245596664 + 28.99362591456827 * i,
2593				-0.0887048627104079 - 26.364007249741498 * i,
2594				-53.88622886338635 - 54.52064205089022 * i,
2595				-17.47316635053481 + 74.71815155924324 * i,
2596				-46.92012959279384 + 32.08967030875141 * i,
2597				-3.366270771129223 + 53.962809920416035 * i,
2598				26.423710133971667 + 47.1584477241712 * i,
2599				15.971177118464936 + 33.12713940064133 * i,
2600				-26.21538861333144 + 1.297301464562075 * i,
2601				23.207673815201133 - 25.845368898394355 * i,
2602				-18.021551162667834 - 2.2751940849154373 * i,
2603				-72.28373989142938 - 12.61944051360728 * i,
2604				17.765091994115707 - 39.42295660794443 * i,
2605				4.201051691146333 + 21.137808723662204 * i,
2606				51.09114188693394 + 50.00475544815056 * i,
2607				-10.438633582776475 + 22.9167648354902 * i,
2608				-9.46537004075763 - 44.24972633493477 * i,
2609				42.70745091010903 + 17.207348389216435 * i,
2610				-18.180391487872768 - 32.72251042241648 * i,
2611				-17.352010263815195 - 50.05405300689405 * i,
2612				13.743687499810054 - 30.939764551244963 * i,
2613				79.93624127836321 + 33.061611828884 * i,
2614				30.154200892298604 - 31.01661486605416 * i,
2615				-3.7406028062807053 + 26.416651514167043 * i,
2616				-12.967789192045682 + 35.46038356748625 * i,
2617				15.827596815827707 + 23.87612541781953 * i,
2618				-68.62582570670739 + 53.68537205788773 * i,
2619				-12.170722855122214 + 28.865281032871327 * i,
2620				1.8988478314101336 - 5.953421234022542 * i,
2621				58.14741630557843 + 7.463482332893131 * i,
2622				-9.224635029857808 + 70.06505030007048 * i,
2623				27.34895483822358 + 37.10974665547179 * i,
2624				8.18206986546865 - 96.40809551799184 * i,
2625				46.23604366412268 - 51.873652722634915 * i,
2626				-49.65227456965019 + 33.3509221972479 * i,
2627				-50.123827002746346 + 19.548825160300343 * i,
2628				-85.52131879936695 + 80.23163082797168 * i,
2629			],
2630			[
2631				-22.7307694616743 + 1.178336546274224 * i,
2632				-24.684945148130943 - 4.927262161901041 * i,
2633				43.414009886083036 - 0.10250093029083018 * i,
2634				14.317748913292974 + 16.99394961914641 * i,
2635				-37.054963883249314 + 19.24620624535254 * i,
2636				-26.275673281510706 + 5.737002248117392 * i,
2637				-20.76035611104382 + 34.13900538682334 * i,
2638				25.995499586170922 - 44.047168770530504 * i,
2639				2.969611341252957 - 2.7237143340227803 * i,
2640				15.304599760164507 + 5.997288230706545 * i,
2641				3.4854400626095483 - 52.19530354191819 * i,
2642				-7.599069294096807 - 1.432421464035741 * i,
2643				57.199789012501924 + 11.62061458813831 * i,
2644				45.97788150304169 + 18.884753956635805 * i,
2645				6.593698757819993 - 7.8794981949474305 * i,
2646				2.3061274488899812 + 18.63743016694349 * i,
2647				14.494111621109028 - 24.3265667944331 * i,
2648				29.934965208174674 + 6.584540675180058 * i,
2649				19.539830479311355 + 4.063261207289258 * i,
2650				17.28022775125529 - 19.694631271735375 * i,
2651				3.4395284887458217 - 13.202603209255116 * i,
2652				-10.10006598979372 + 21.048016304580955 * i,
2653				-5.01849711657502 + 17.688148497686527 * i,
2654				30.359006645951133 + 33.06093864035989 * i,
2655				-13.596894222285542 + 3.756206049302179 * i,
2656				-11.465846347583458 - 38.14882467012106 * i,
2657				45.15077780887542 + 4.026267310919806 * i,
2658				57.185214461553166 + 0.04654714666412474 * i,
2659				-11.844506386368067 - 15.743046663642744 * i,
2660				-29.205265972214114 - 23.7210996954461 * i,
2661				-26.088707092331944 - 58.96415275604358 * i,
2662				53.68020936001696 - 11.28829681793998 * i,
2663				-6.3841750599303 - 13.432413489843501 * i,
2664				19.657710325904844 + 44.47892679501565 * i,
2665				-32.7673760290358 + 25.042662016714818 * i,
2666				11.878553914562062 - 38.471373953044846 * i,
2667				27.68512098601679 - 23.060621581136953 * i,
2668				22.491548591845614 - 30.16672821030201 * i,
2669				-8.291590829841937 + 58.367958038512185 * i,
2670				37.09812718714799 + 11.246062902243807 * i,
2671			],
2672			[
2673				-11.93511219230679 - 51.42802670522292 * i,
2674				-0.1455427330553789 - 6.532753280506029 * i,
2675				15.813155585487493 - 4.239490150750015 * i,
2676				-21.697775317090368 + 23.67450438743177 * i,
2677				-3.855138150192886 - 35.75835147183366 * i,
2678				-10.375856173446692 - 14.15822754355196 * i,
2679				-3.137983616127329 - 14.776850820167851 * i,
2680				8.302059666902757 + 78.14614118507143 * i,
2681				23.12754853587998 + 46.555241058565684 * i,
2682				23.703640170288775 + 1.5419317964465291 * i,
2683				7.253946750945033 + 14.375662531759787 * i,
2684				19.030316788183008 + 2.1640145186776207 * i,
2685				-7.825644146144185 - 12.699557050473771 * i,
2686				-40.24468917578696 + 35.64909163811849 * i,
2687				3.946220847004895 - 29.540970257674815 * i,
2688				7.959125319807855 - 19.72086707657634 * i,
2689				-13.042491195571873 - 2.4171930686308087 * i,
2690				-1.38674593153398 + 69.77672905062774 * i,
2691				-12.2433914045846 - 13.834639865282469 * i,
2692				34.784363095611326 + 3.14833719679266 * i,
2693				-4.887944191382715 + 13.361337758444947 * i,
2694				-24.848719921850346 - 39.683189747057085 * i,
2695				4.29209972404135 - 18.697767921184376 * i,
2696				-30.511443553232198 - 8.665994134830889 * i,
2697				-19.225805363349373 + 25.54294140004402 * i,
2698				33.98318928748378 + 21.14338012889067 * i,
2699				10.907399400912283 + 34.93715304988244 * i,
2700				10.34451578341308 + 84.31904406177027 * i,
2701				59.02283587240533 - 15.660654655712719 * i,
2702				25.496160757252255 + 2.3020075694237576 * i,
2703				27.189969359739464 + 9.773651857149236 * i,
2704				10.912754570217686 + 60.94251469709755 * i,
2705				44.59208639281714 - 24.73447719871571 * i,
2706				2.3215255068664646 + 44.38378853339704 * i,
2707				5.885442925848231 - 25.886483167822142 * i,
2708				-47.74576782448476 + 24.75837860454751 * i,
2709				32.772840905912915 - 24.96950172010171 * i,
2710				31.061905074071348 + 50.435535531214384 * i,
2711				-76.30139590418084 - 8.192421503860341 * i,
2712				-4.130423422294769 + 45.11781609158833 * i,
2713			],
2714			[
2715				1.2659540051087106 + 24.925957061642663 * i,
2716				51.67299256569147 + 31.35640478236334 * i,
2717				-40.92277555121095 - 44.60743653810829 * i,
2718				-20.76995835158708 - 16.96390767196047 * i,
2719				4.666290262799748 + 70.81716461317441 * i,
2720				12.509026813018735 + 22.776518526874398 * i,
2721				32.55350959618903 - 18.53257642954918 * i,
2722				17.99675264650017 + 28.154594706464735 * i,
2723				19.174341500137068 - 18.24737569602327 * i,
2724				18.483415084640228 - 52.24129963731052 * i,
2725				17.94542015929626 - 9.663922354591065 * i,
2726				38.19055273995432 - 12.038765490348027 * i,
2727				24.18998530477352 - 34.29249662943943 * i,
2728				-49.318617358211114 - 53.45657624592248 * i,
2729				34.72338643154685 + 55.691040040122004 * i,
2730				-35.37914193843888 + 2.2678678807557873 * i,
2731				-10.77102716822256 + 3.5949850931830483 * i,
2732				2.7883638324586855 - 22.662273083891975 * i,
2733				-8.326580670190385 - 9.627564961250041 * i,
2734				-77.49998812050882 + 24.803408467361322 * i,
2735				-43.77239559742128 - 27.334931930432596 * i,
2736				52.946965368224895 + 34.90916099609235 * i,
2737				18.80775324265844 + 16.516751372865684 * i,
2738				-8.92233214902727 - 0.47278732785008515 * i,
2739				25.366784030685523 - 59.47331403401701 * i,
2740				-60.48214764772351 + 11.674682621457848 * i,
2741				-20.6268077276235 - 39.49445887055417 * i,
2742				-21.562360441482213 - 61.60726423676908 * i,
2743				-10.384371646030765 + 22.56798719139077 * i,
2744				48.472653249597485 + 42.28116201977733 * i,
2745				-0.6170586705847114 + 2.836751485940809 * i,
2746				-44.450419318981886 - 23.236385289675944 * i,
2747				-27.039553898042477 - 67.67893387694141 * i,
2748				45.974405651836555 - 71.89096023397339 * i,
2749				47.696854809145265 - 24.785799368098594 * i,
2750				-34.163370954643796 + 5.711953632319318 * i,
2751				17.61114945717516 + 1.316460121948822 * i,
2752				-11.444853447207658 - 6.41097418109635 * i,
2753				-10.467460831561642 + 11.327177196870863 * i,
2754				-13.344042887188255 - 22.30440753638801 * i,
2755			],
2756			[
2757				85.97720128165054 - 38.86278183681418 * i,
2758				-10.723739729177758 - 5.1710139857040645 * i,
2759				22.495199813419845 - 5.7579177434700455 * i,
2760				18.136521914190045 + 45.462303898900345 * i,
2761				68.06820136331814 - 88.38331304290473 * i,
2762				8.32691843253582 - 13.294450044095193 * i,
2763				31.398625574221 - 7.466694589916248 * i,
2764				-59.02168115463138 - 32.27183615155828 * i,
2765				15.826205983010937 - 11.73510125612512 * i,
2766				20.447263893089882 + 4.587699762952425 * i,
2767				-22.296208838146924 + 20.065728212062623 * i,
2768				-39.96214309655082 + 32.14276453308639 * i,
2769				-26.166880809746544 + 22.56128936127049 * i,
2770				-14.76316523891046 - 30.68223375177982 * i,
2771				65.98544048495964 - 24.924168276224968 * i,
2772				-4.401283579071901 + 1.6041633837359228 * i,
2773				-68.09817652753912 - 14.228427640032514 * i,
2774				-2.6001810436749224 + 2.1146971559881393 * i,
2775				26.266061297836416 - 10.57507079993212 * i,
2776				6.565881195702502 - 7.106516169911984 * i,
2777				28.071604844680145 - 32.29364167279505 * i,
2778				-2.2213112428313195 - 68.01927400864787 * i,
2779				-1.572585586378473 + 13.460014564169583 * i,
2780				-34.63517733330248 - 6.308410738869802 * i,
2781				-102.48914309117762 + 75.37475617856775 * i,
2782				66.65008648800519 + 34.78420519135656 * i,
2783				-18.158221333532936 - 15.085566391942784 * i,
2784				-68.54844776793767 + 59.533656639284246 * i,
2785				27.491397744695327 - 43.91799871224707 * i,
2786				-29.64101755879112 + 41.410102063171074 * i,
2787				-63.411746300985044 + 29.461656117692385 * i,
2788				-56.08134549929534 - 20.034722328398395 * i,
2789				-12.047356536440724 + 32.89601567808943 * i,
2790				-24.759890506362687 + 34.167902803829136 * i,
2791				-19.54291342026823 + 27.69384501949406 * i,
2792				-74.10009331113861 - 2.4667687481359337 * i,
2793				-0.14441156204461691 - 9.545445892007514 * i,
2794				11.229317133881786 + 46.74382507654973 * i,
2795				-34.97151888903262 - 70.68890615324082 * i,
2796				-16.12934324048154 - 45.74688249440054 * i,
2797			],
2798			[
2799				30.804735741054145 - 11.199328773106451 * i,
2800				-35.003385075199816 + 6.715704002711241 * i,
2801				-12.886293753266898 + 13.299542430504687 * i,
2802				20.116514083615 - 2.287386910939958 * i,
2803				-0.2798630922994505 - 31.388917776533482 * i,
2804				0.12034510313446845 - 29.700984397121182 * i,
2805				-43.86912915839048 + 18.395328749603507 * i,
2806				-54.98214173549668 + 22.117490480910647 * i,
2807				-15.973623194467756 + 5.336268254891095 * i,
2808				19.698080593742517 + 16.109786596357978 * i,
2809				10.244929192222315 + 1.8943703287391713 * i,
2810				5.454925292816455 + 23.277489839136766 * i,
2811				17.60115559915136 + 50.61297132483075 * i,
2812				2.295755757137215 - 50.66666153198261 * i,
2813				46.30932117885766 + 24.233195607625603 * i,
2814				13.133539688605595 + 5.423823360698719 * i,
2815				-9.022476846609571 - 19.786859108608336 * i,
2816				-31.298937671400942 + 19.932494162876367 * i,
2817				23.584473840075823 - 10.197251459492307 * i,
2818				23.875959401771468 - 38.16514791192146 * i,
2819				14.693290531980907 - 37.375144097922814 * i,
2820				2.6264822869745075 - 28.13246331104203 * i,
2821				10.556035746349998 + 29.060970364413805 * i,
2822				-6.686300964057438 + 7.713525265149798 * i,
2823				-90.8662333002558 + 26.399616331294876 * i,
2824				61.43315127722573 - 2.524751014526231 * i,
2825				-3.3791908548838627 - 6.034038592611111 * i,
2826				-15.729037607952023 + 51.353669278412575 * i,
2827				-22.31999234263307 - 17.768596507037874 * i,
2828				-43.027605507966015 + 23.38871720792342 * i,
2829				-5.65536096967876 - 10.12584337613433 * i,
2830				-11.839763907498902 + 12.906866267084588 * i,
2831				31.8525896151574 + 26.109924156075852 * i,
2832				6.2958778689325925 + 21.14163036999662 * i,
2833				-9.926099275215595 + 32.18683685249255 * i,
2834				-6.365000302237739 + 4.751278766398077 * i,
2835				17.847270842209305 + 21.659042820521577 * i,
2836				-40.82747777009605 + 25.05838789081676 * i,
2837				-50.038702001285145 - 61.93869182610665 * i,
2838				1.9407025522713015 - 2.972802658344452 * i,
2839			],
2840			[
2841				12.357339688635317 - 42.79361129666253 * i,
2842				-8.030875563180928 - 3.0442033746774513 * i,
2843				64.25215855921768 + 32.62854928377088 * i,
2844				17.79357595572185 + 48.069960612782836 * i,
2845				-6.390609052411008 - 17.17480731722077 * i,
2846				-13.438990335199065 + 21.360844995688396 * i,
2847				35.44698159562311 + 13.966353076053025 * i,
2848				17.9217481626591 - 65.57913569987555 * i,
2849				-7.472428603108426 + 20.834801788892158 * i,
2850				15.39703072268405 + 45.48533690845923 * i,
2851				-22.91590676337172 + 7.187551544067642 * i,
2852				5.122001767258425 - 6.022277447271833 * i,
2853				-11.95522611503447 - 0.0028972146206029947 * i,
2854				57.80877697744499 - 2.602012924983228 * i,
2855				40.84278892200723 - 6.43552791110551 * i,
2856				-7.672246072879425 - 8.449196914049011 * i,
2857				-7.6426288510148765 - 51.29172142012612 * i,
2858				16.98526481388359 + 3.932761836298077 * i,
2859				-12.365211744983789 + 19.98689512226227 * i,
2860				39.33882089230997 + 13.847863630700573 * i,
2861				14.087055508215393 + 11.132616854576298 * i,
2862				-52.98650955438529 - 17.94978992036879 * i,
2863				-2.117577235189998 - 14.03356463966623 * i,
2864				-11.647319905025045 + 7.79034400078848 * i,
2865				-63.92230421449135 + 4.035046926411809 * i,
2866				6.046986040422382 + 4.6273631962396 * i,
2867				-8.081447399843313 - 7.969215067253543 * i,
2868				-11.58194144748868 + 7.237224693333573 * i,
2869				37.11193888915619 + 0.9541188040251001 * i,
2870				27.64528489760208 + 21.39930018751687 * i,
2871				-36.19537617683979 + 13.045069057993317 * i,
2872				34.373288573553246 + 9.315037068204177 * i,
2873				-5.2663742493670185 - 29.10174518576407 * i,
2874				10.887358366339498 + 31.43598479785139 * i,
2875				-26.679771651132995 + 31.40733527625038 * i,
2876				29.563159099938495 - 48.68127681055062 * i,
2877				-16.025307490245247 + 64.17689521042493 * i,
2878				18.488183106164847 + 30.77682384525022 * i,
2879				-7.834667804234201 - 13.91148438820306 * i,
2880				47.08142548604982 - 39.88152303043765 * i,
2881			],
2882			[
2883				69.77353695085276 - 10.585475843154903 * i,
2884				6.802979090135349 - 4.6977277151446515 * i,
2885				10.602515830389024 + 2.159911800301984 * i,
2886				-49.14279845630789 + 32.71012289295372 * i,
2887				12.213941268918404 - 35.95903505193857 * i,
2888				32.83264256880405 - 16.255526747481696 * i,
2889				-25.517117720624576 + 13.281771003796507 * i,
2890				-31.04916079361146 - 5.892564883564816 * i,
2891				-27.401757447813964 - 9.831600327570044 * i,
2892				20.626294833245957 - 23.729729604566444 * i,
2893				28.855173715877584 + 0.7457016191739996 * i,
2894				3.609794653896671 + 5.4180885902807745 * i,
2895				22.895217818912293 + 23.70821028417319 * i,
2896				-32.36583230377772 - 8.963069149489655 * i,
2897				40.58274702748913 - 5.908138804742663 * i,
2898				23.905723999125165 + 20.002275518200918 * i,
2899				-25.491851802233214 + 33.83390157499875 * i,
2900				0.9127204422597259 + 29.942057615260524 * i,
2901				5.282936165933961 - 24.8269858891195 * i,
2902				-29.22829444427549 - 8.980033659011099 * i,
2903				-33.856345360836734 - 24.602811491570954 * i,
2904				23.84805703994175 - 13.5686741289731 * i,
2905				-5.219606838667474 - 13.752388875083627 * i,
2906				-14.430768957225439 - 13.236168706138216 * i,
2907				25.66158624031911 + 22.996567960584244 * i,
2908				22.4200274789971 - 23.3200975774882 * i,
2909				-24.244106590697193 + 17.38393672158996 * i,
2910				-24.038045096308892 + 25.99978246582785 * i,
2911				0.5752782206896825 + 31.34185828708602 * i,
2912				-13.379956512176719 + 29.34009751233218 * i,
2913				-41.06076888627553 - 23.204278202180127 * i,
2914				-33.82752027964192 + 15.028584268085012 * i,
2915				-13.273566712065438 - 35.239278811812014 * i,
2916				-31.90567513795584 + 15.153892342481399 * i,
2917				5.668020357780218 - 0.3921454400403661 * i,
2918				-2.224605811885919 - 2.3046951327781926 * i,
2919				56.70019333374036 + 1.9168847215488896 * i,
2920				-31.8270872897136 + 63.47832905614035 * i,
2921				-60.81014126679963 - 16.488180664810194 * i,
2922				-74.30467919849414 + 0.8182238841415101 * i,
2923			],
2924			[
2925				-13.430433699074058 + 20.172971027312656 * i,
2926				8.70606066866543 + 26.97818576788461 * i,
2927				42.4241354960167 - 22.733717185205034 * i,
2928				-18.75246545854543 - 14.643581475763114 * i,
2929				30.739568225539884 + 12.07404730347416 * i,
2930				7.720143675961168 + 37.01130886965173 * i,
2931				32.04208214782549 + 48.038773742700656 * i,
2932				-25.041147251115063 - 11.148656766389028 * i,
2933				28.286926880151846 + 57.16706533224283 * i,
2934				24.720804108870226 + 16.19891224006804 * i,
2935				-32.11746628602964 - 0.1530410582412145 * i,
2936				-30.548791640129224 - 32.808044712071194 * i,
2937				-2.8891646013022836 - 49.711873596040846 * i,
2938				-1.344001863893311 - 2.9441696751881565 * i,
2939				2.673971783526156 - 1.8420433188900347 * i,
2940				34.30074986652198 - 37.821162895287785 * i,
2941				9.136364891622634 - 29.12976796377569 * i,
2942				-2.8867025659938435 + 29.726920350786074 * i,
2943				10.318597605994881 + 12.818251048806488 * i,
2944				12.4433813947862 - 26.325288517438395 * i,
2945				-1.3988146180205447 + 39.12930883416033 * i,
2946				-22.787498108773732 + 26.811537389550054 * i,
2947				-4.229766828203949 - 31.582710207510786 * i,
2948				22.351045635324624 - 44.87830256505845 * i,
2949				25.501297860295622 - 40.20590301153781 * i,
2950				-42.03485953355871 + 11.099008746578448 * i,
2951				12.837113892069752 + 18.09749694654151 * i,
2952				-3.262513410983635 + 30.20503206115756 * i,
2953				90.93647833197653 + 17.129694079387143 * i,
2954				8.550582352989935 + 20.69274709782485 * i,
2955				-60.51641501991767 - 29.82418926313315 * i,
2956				42.436508198269884 + 13.324064785140706 * i,
2957				-3.785996389719692 - 66.44628580481115 * i,
2958				6.191777605979446 + 46.9611553550631 * i,
2959				11.810565367270954 - 14.892051190413397 * i,
2960				-63.80760693010095 - 31.556786652483908 * i,
2961				31.46345553307431 - 13.049539601632368 * i,
2962				18.667583730013035 + 16.83546117871706 * i,
2963				41.04455104616386 - 0.5058629619662152 * i,
2964				7.215074349958879 + 48.335034351126104 * i,
2965			],
2966			[
2967				53.86888294230599 - 30.269218533893763 * i,
2968				-22.60542935934879 + 6.108840830802649 * i,
2969				62.778055406604665 - 6.072073887686173 * i,
2970				5.572331052595729 + 43.968730860537775 * i,
2971				-2.3167871622500797 - 9.252595250667355 * i,
2972				-39.320734189643076 + 49.710148408893176 * i,
2973				51.458285228191244 + 20.32996937988292 * i,
2974				8.092959491277867 - 18.445811974325352 * i,
2975				22.56551921010106 - 0.8730724358220527 * i,
2976				21.943661876911705 + 8.94301330704478 * i,
2977				-32.81200781364006 + 1.279705268017807 * i,
2978				11.539988026385622 + 12.26107092592368 * i,
2979				-30.472037443562797 - 25.538613341257406 * i,
2980				14.012724994995978 - 29.735245291621524 * i,
2981				45.51193750205286 + 16.43127093143883 * i,
2982				-30.690783676536057 + 16.28407952549682 * i,
2983				-46.86918755984691 - 18.6885711526251 * i,
2984				15.748830297473726 + 30.77122741050016 * i,
2985				15.57937593190966 - 7.075113361179646 * i,
2986				-19.349066532333417 - 6.922611643416019 * i,
2987				0.19975550825708321 - 41.73400059621287 * i,
2988				-28.77180902334503 - 13.674072561199242 * i,
2989				-13.334063664887992 + 10.416977030873014 * i,
2990				-1.8787155803644353 - 27.600713068491736 * i,
2991				-28.053549693140283 + 0.45088971158887503 * i,
2992				10.047889233104385 - 0.19315008445062176 * i,
2993				6.588089900012378 - 24.5659376995196 * i,
2994				5.416268797700042 + 28.068255418640774 * i,
2995				13.6725253134192 - 30.40447087345369 * i,
2996				14.94789420914033 + 29.57827206823262 * i,
2997				-31.89568448364048 - 9.665893324136405 * i,
2998				-8.930948673104139 - 27.62564211583696 * i,
2999				-10.535735981292532 - 28.932645521236466 * i,
3000				34.578876068415056 + 15.859104880902962 * i,
3001				-6.7519524645227165 + 25.380237691018202 * i,
3002				-65.77273105010207 - 16.1726618005629 * i,
3003				-8.884686749542121 - 4.53338008016061 * i,
3004				-8.941049832111094 + 15.823050350204914 * i,
3005				-15.439650922030381 + 26.31737403889332 * i,
3006				27.85406760269613 + 0.8433384658903716 * i,
3007			],
3008			[
3009				20.832029235439734 + 26.95394064767038 * i,
3010				-16.400532828695702 + 40.76068137064118 * i,
3011				-20.3762412990431 + 16.7239385107724 * i,
3012				19.328413673876327 - 61.28608206590842 * i,
3013				45.96058695668779 + 16.155240513373784 * i,
3014				13.710412595693072 - 19.48411134973752 * i,
3015				-34.066536041118894 - 15.770062256206842 * i,
3016				-46.8420215424655 - 39.03356636680786 * i,
3017				-19.480650001424408 + 5.505433616299598 * i,
3018				10.713421816103377 + 60.30387541586941 * i,
3019				-31.36677550435138 + 29.074556083333796 * i,
3020				-14.430257608224437 - 16.462598403083717 * i,
3021				22.246786746159614 + 23.430607188649706 * i,
3022				7.72118182656628 - 35.70251845389575 * i,
3023				-15.977367504374826 + 39.50085615616264 * i,
3024				15.180691688751196 - 16.80790360218699 * i,
3025				-1.0860621081625368 - 28.429737515088814 * i,
3026				-26.413135729092783 + 20.224141929410408 * i,
3027				-10.869179736870485 + 22.85819276349531 * i,
3028				45.47563659539801 - 24.89850307420174 * i,
3029				12.810632491343398 + 12.15447626072323 * i,
3030				-0.5447185934059462 - 27.71939781848519 * i,
3031				38.50406413551025 - 5.143842113390489 * i,
3032				26.317598880680457 + 7.336121158233738 * i,
3033				-5.94565721309209 + 31.041143424885945 * i,
3034				34.662460848476385 - 17.938123618305234 * i,
3035				-27.359999000580608 - 11.319744853409915 * i,
3036				-40.08508776495662 - 13.467925157270614 * i,
3037				-11.024779910842561 + 1.4449956877013506 * i,
3038				-48.64902745757692 + 2.4260988277217184 * i,
3039				-22.84785025590069 - 2.163623937891998 * i,
3040				-11.063674528206866 + 7.564286757628977 * i,
3041				52.895252846892355 + 33.475801564797365 * i,
3042				-16.952768256128635 + 0.37058751998078066 * i,
3043				10.068118743774576 + 35.85258433527894 * i,
3044				29.518598517282292 + 5.452012814772586 * i,
3045				26.8930085383461 + 31.069011724087645 * i,
3046				-72.57578140422834 - 36.73743801610483 * i,
3047				-0.7410449602371791 - 48.375330706839954 * i,
3048				-15.791992768532978 - 25.937632165842054 * i,
3049			],
3050			[
3051				17.070266539204937 - 33.826193113112105 * i,
3052				17.20256302927534 - 4.369823694298873 * i,
3053				-0.6256453995751272 + 29.040000368609924 * i,
3054				-38.45091310443095 - 12.417149771969164 * i,
3055				37.26687454387479 - 100.15485843281785 * i,
3056				-5.296562238154991 - 44.7565850973765 * i,
3057				-12.870426421092247 + 36.81093204527298 * i,
3058				-62.96342043205158 + 34.45676451494757 * i,
3059				-25.65881564831932 + 7.612941073780711 * i,
3060				28.09220025414359 + 15.584138758739257 * i,
3061				-6.26580460956464 + 45.921037474776 * i,
3062				-22.092552748419394 - 13.448172190919607 * i,
3063				12.454877318713585 + 19.62016128287658 * i,
3064				-27.47492076058691 - 3.3122854863668465 * i,
3065				32.36278210611842 - 84.24590251732624 * i,
3066				-9.657352179107093 - 15.520736639512904 * i,
3067				-33.62497158008675 + 10.877884095249286 * i,
3068				-50.372050923962924 + 38.06600038138231 * i,
3069				2.973601939430125 + 2.3474216974971718 * i,
3070				68.07303750819072 - 40.082736816253984 * i,
3071				3.049013002400798 - 5.770785816519554 * i,
3072				-25.591941227806245 - 23.994573979299048 * i,
3073				-13.548247021811974 - 60.6852425437873 * i,
3074				23.109668161291488 - 2.634982788187358 * i,
3075				20.910087786549013 + 112.12267078497081 * i,
3076				80.67373963816945 - 7.762790915286587 * i,
3077				-24.73754515720994 + 17.774368270969205 * i,
3078				-26.194857361465836 + 68.57878921317972 * i,
3079				10.04495703858099 + 22.975011084717625 * i,
3080				13.239048521941442 + 12.02294335248564 * i,
3081				-12.60693152200075 + 34.93872607037377 * i,
3082				13.17596719539344 + 47.71361724738763 * i,
3083				16.44485262755767 - 1.9942001369894733 * i,
3084				-61.973684465899076 + 41.99146307033121 * i,
3085				24.248103009912054 + 1.0207014475546146 * i,
3086				28.366187204841708 - 2.3171496575496704 * i,
3087				31.71959264147496 + 16.08855551349015 * i,
3088				-27.169807542209497 + 52.82111404714613 * i,
3089				-42.122282803850105 - 58.74781618493256 * i,
3090				-57.752280509432815 + 7.284212426969521 * i,
3091			],
3092			[
3093				-66.3279873275788 - 1.8991101943448143 * i,
3094				-24.490932556914757 + 37.118468211243886 * i,
3095				21.968925376946302 - 80.6048684014292 * i,
3096				57.28858918930405 - 25.484388947336825 * i,
3097				-27.66804642228334 + 107.7469776097434 * i,
3098				4.402264307312294 + 25.782017626776906 * i,
3099				28.93486890545188 - 6.5609859413404905 * i,
3100				-30.6349305085148 - 68.15550283497893 * i,
3101				29.018058990865512 + 16.541768415686022 * i,
3102				9.958899351824854 + 14.14354336518872 * i,
3103				-41.80557345955293 - 18.988902129024755 * i,
3104				21.254272446543325 - 23.08066655632483 * i,
3105				43.787133287316976 + 3.3077076511158623 * i,
3106				47.382308715830504 - 47.22324645356548 * i,
3107				-61.42179464158967 + 22.352434848341687 * i,
3108				49.68552676618009 + 19.806643719250232 * i,
3109				8.463665922416247 - 19.65507576151528 * i,
3110				-8.161775102357481 - 48.44041602242205 * i,
3111				-0.442570170128052 - 3.509124120360127 * i,
3112				-15.21717347775154 + 28.72830416618848 * i,
3113				-17.72148362340998 - 9.545556666831004 * i,
3114				35.80545731431546 + 43.75078725501401 * i,
3115				9.836997266490382 + 62.37665355633524 * i,
3116				26.7182215442692 + 4.092710622121146 * i,
3117				36.24275005894708 + 14.426583515276178 * i,
3118				-77.63961505005923 - 15.691949845042899 * i,
3119				11.080935829899268 - 33.09104058487998 * i,
3120				22.714057447362585 - 58.66909665002718 * i,
3121				-26.15289475696094 - 6.675114679344361 * i,
3122				-25.822401058042228 - 18.73365480241455 * i,
3123				-8.861436777714047 - 31.142694863705145 * i,
3124				-26.61698841463098 - 46.467885967743584 * i,
3125				1.1041568648386573 + 27.701123287840375 * i,
3126				17.00533329820324 - 6.169074730841629 * i,
3127				12.649830185075473 + 19.094825728962086 * i,
3128				-53.37786662093051 - 66.19814865977862 * i,
3129				-1.0607302921737443 - 8.940666879562759 * i,
3130				20.766419847622103 - 61.32621287836802 * i,
3131				90.97587538958096 + 71.11550915683125 * i,
3132				0.3187718267528513 - 4.201985602708994 * i,
3133			],
3134			[
3135				-19.805737025549604 - 5.208325447465597 * i,
3136				0.31431023298279115 + 17.57345110016665 * i,
3137				15.020414053405375 - 86.35787387314272 * i,
3138				59.81742217646246 - 25.958950162795645 * i,
3139				17.587625645985966 + 71.86080926767636 * i,
3140				25.948977884423073 + 51.0910505173687 * i,
3141				48.01559054707763 - 14.013171878173651 * i,
3142				-3.9093268551344806 - 58.85875429111641 * i,
3143				70.29161034968645 - 19.140258895939393 * i,
3144				-0.23242401746214014 - 20.61335621189218 * i,
3145				-45.344409165623546 - 12.73975918522649 * i,
3146				30.143309611652896 - 12.403507998655542 * i,
3147				2.018435302712554 + 4.2943779345065565 * i,
3148				19.19164382065849 - 52.61372197238887 * i,
3149				21.31977336560153 + 30.62545743667919 * i,
3150				-22.07158228641994 + 16.096672306733716 * i,
3151				-39.556746544208806 + 4.919357724770791 * i,
3152				22.985847789588192 - 44.25658216742957 * i,
3153				-2.499695217855148 - 13.815691373510905 * i,
3154				-47.09641188580742 - 0.14840756365668284 * i,
3155				-40.26968088721738 - 45.351232743936464 * i,
3156				5.797620583173099 + 16.282530721538993 * i,
3157				41.186060525058274 + 50.51805077943745 * i,
3158				-25.45223948736222 + 5.364713592566488 * i,
3159				-28.99884386962945 + 56.836353906080596 * i,
3160				-52.61586183608749 - 22.54149181157848 * i,
3161				3.5239078141733557 - 48.48696291270217 * i,
3162				31.768485349562958 - 63.72358117981572 * i,
3163				-38.67648658735493 - 37.16382824394989 * i,
3164				8.074229469293044 - 10.165821677951172 * i,
3165				-46.77881634259232 - 25.467342472454227 * i,
3166				-45.06160526599975 - 62.51865173385722 * i,
3167				-0.14965656161296437 + 14.177337481496965 * i,
3168				35.320033420204965 - 34.58020916527549 * i,
3169				28.046291005290044 + 22.252129419795857 * i,
3170				-48.73561459557655 + 9.832985776240193 * i,
3171				-34.141958567181156 - 6.5555250347912555 * i,
3172				52.311651966774576 - 33.87402178415848 * i,
3173				49.12454559367675 + 45.42335753651207 * i,
3174				29.122740303731824 - 91.76271421653193 * i,
3175			],
3176			[
3177				5.414098724080446 + 41.68796294731413 * i,
3178				28.545640779488302 - 22.287201492190494 * i,
3179				-71.04315500598483 - 29.153819716274626 * i,
3180				15.884070712360653 - 32.96708829840537 * i,
3181				77.03508291676381 + 59.45907505123171 * i,
3182				49.27873452310216 - 28.592784628956032 * i,
3183				-4.380689880942878 - 69.01393125785751 * i,
3184				-10.178158148457818 - 43.992093633417944 * i,
3185				-1.4898792950213249 - 9.970809902545732 * i,
3186				-24.017209940344458 + 16.535113487480146 * i,
3187				-14.5382532711063 + 21.924446899318482 * i,
3188				-10.467254289162941 - 5.229069360605479 * i,
3189				-35.49479256387173 + 16.337585714873228 * i,
3190				15.755488964285377 - 3.072172142843897 * i,
3191				-31.882125581190856 + 78.06332587030752 * i,
3192				-45.91070926831213 - 24.854303031458244 * i,
3193				-13.639973074322498 - 17.084964865092296 * i,
3194				-25.7400232041542 - 5.950695313478548 * i,
3195				-12.755608927118175 + 16.43769619418022 * i,
3196				15.950831566321781 - 14.283286929491105 * i,
3197				18.574690503961442 + 11.327761974629276 * i,
3198				84.05116215723527 + 1.2911958349593817 * i,
3199				-29.88764363155028 + 38.16939921088958 * i,
3200				-15.622838042928578 - 1.9214585344671065 * i,
3201				-29.89279979498075 - 59.5960505075242 * i,
3202				13.287486194140186 + 23.617407546074332 * i,
3203				-5.25545334277067 - 33.5523419481676 * i,
3204				-75.51646183716343 - 77.6702434872773 * i,
3205				-11.387888424839304 - 40.17668964486957 * i,
3206				0.04083343117059535 - 50.03659958761561 * i,
3207				47.745240111757866 + 21.87267587908528 * i,
3208				-40.05711401079681 - 36.19313403524751 * i,
3209				-25.458302247900207 + 42.59320203251539 * i,
3210				-18.32397262510689 - 59.62793216072172 * i,
3211				-4.871217444530949 - 22.302932083097357 * i,
3212				17.27230112579271 + 43.915911909014184 * i,
3213				-14.705889831186724 + 8.118022257365212 * i,
3214				-52.533275366172376 - 52.498803725611786 * i,
3215				47.65012693100489 - 59.3563178675229 * i,
3216				40.5881456750965 - 36.46999730264966 * i,
3217			],
3218			[
3219				-9.265054062054332 - 7.193124567303215 * i,
3220				-39.644737772612054 - 23.863446783431456 * i,
3221				99.74725454351395 - 52.45735446823076 * i,
3222				59.54932476592498 + 85.22196338208444 * i,
3223				-98.1400200113242 + 41.86685413318247 * i,
3224				-72.31232840600342 + 14.606925009218173 * i,
3225				48.950812842374944 + 35.25558342673759 * i,
3226				111.73495993723245 - 43.06151213744086 * i,
3227				47.33830033705326 + 54.87769924029544 * i,
3228				4.752725333386024 - 34.00921543376623 * i,
3229				-26.5219485544313 - 80.58375713204532 * i,
3230				40.60299112056124 + 24.883668281597934 * i,
3231				16.93898383177509 - 38.61847143885106 * i,
3232				126.26424796567116 + 24.439357205014517 * i,
3233				-25.83009322314966 + 29.331401364819186 * i,
3234				-46.35024982346958 - 40.33162027889885 * i,
3235				-41.10249390592375 - 54.8723046909883 * i,
3236				90.55336675900139 + 3.604362988281707 * i,
3237				-14.267622930411441 - 14.932037279240262 * i,
3238				-71.9691811498256 - 44.54434186277761 * i,
3239				25.268159468702144 - 47.485502909934425 * i,
3240				-18.99628190666465 + 8.782502651773278 * i,
3241				-65.52973644217079 + 98.16615520466057 * i,
3242				-21.471076718890913 + 47.85731932086043 * i,
3243				-7.114580559043844 - 36.627789719438624 * i,
3244				-45.92557021869452 - 41.31693351251518 * i,
3245				97.6657684683403 - 75.29201391451275 * i,
3246				59.362052614023575 - 47.64705820600847 * i,
3247				35.95988704102839 - 89.7771264218949 * i,
3248				18.175275189571806 + 13.762069742893829 * i,
3249				-14.997870697792067 - 52.565725984043596 * i,
3250				67.93501081146412 - 76.8506949628985 * i,
3251				-78.42909496695391 - 76.59966414544844 * i,
3252				69.66100880026221 + 23.94621716217453 * i,
3253				-87.81308544577516 + 0.8106213250390084 * i,
3254				-36.52408366509986 - 17.3117797545045 * i,
3255				-22.4879033610406 - 51.22558804295195 * i,
3256				123.95774254619954 - 42.572088887758746 * i,
3257				-32.72790885753172 + 125.8123906021491 * i,
3258				120.36613751970275 - 17.505967586628895 * i,
3259			],
3260			[
3261				-63.4172918043232 + 23.643408585946737 * i,
3262				-5.637806927164945 + 10.513190037920328 * i,
3263				-30.665619467577528 - 39.12238136949699 * i,
3264				28.690557386557373 - 44.37979455900687 * i,
3265				-27.049642766600073 + 49.13733791869811 * i,
3266				4.3768241953005 + 6.10388031624754 * i,
3267				-27.226164204067402 - 7.731805594304305 * i,
3268				-28.622939315785572 + 5.1255891512712175 * i,
3269				-11.647398662467225 + 15.705096593503754 * i,
3270				-3.4171476604665543 - 7.7884183906679425 * i,
3271				4.575711535060009 - 19.110255977904046 * i,
3272				28.679301519517765 + 3.2184802433691573 * i,
3273				40.55403108981514 + 14.747876912577645 * i,
3274				18.01265278446796 - 30.72882494543458 * i,
3275				-42.878724576583835 + 36.555775533689044 * i,
3276				3.92076755352727 + 7.3216194909402645 * i,
3277				48.26812225309495 - 17.220098355508085 * i,
3278				0.3508387318601933 - 34.36924820951731 * i,
3279				-6.225576138483191 + 14.39726521928884 * i,
3280				6.131087427928653 - 20.877239463180217 * i,
3281				4.627537219407635 + 10.305688900433196 * i,
3282				30.118247984530115 + 39.78553462456118 * i,
3283				5.434731637987738 + 26.198855592814702 * i,
3284				10.639386140092787 + 4.650062100940081 * i,
3285				4.510100091966578 - 25.333697646527536 * i,
3286				-26.906063317569505 - 26.88632976983982 * i,
3287				13.429777882023863 - 16.827733282021754 * i,
3288				36.41495617676364 - 44.61975283537263 * i,
3289				-30.475650955107323 - 1.8355160308553788 * i,
3290				-7.709366548138862 - 7.7115336317871765 * i,
3291				36.06655662033849 + 0.34890109839811334 * i,
3292				11.342389947889274 - 18.61426280838774 * i,
3293				19.494629090255646 + 6.139694102798526 * i,
3294				55.83578237186073 - 34.15917651568593 * i,
3295				28.89310090018619 + 3.0629170565852064 * i,
3296				12.887892664257109 - 11.912467298674114 * i,
3297				-11.175083456349014 + 5.781246203882176 * i,
3298				-19.544835336877874 - 47.77960752248377 * i,
3299				15.443927395370082 + 14.401841553878505 * i,
3300				13.66220938411311 - 7.839141580448219 * i,
3301			],
3302			[
3303				-24.554856510313897 - 14.883797274976587 * i,
3304				-3.633038808323711 + 36.96289741139053 * i,
3305				15.567827736793632 - 57.02637280489836 * i,
3306				8.759301132331586 + 4.820714938466011 * i,
3307				7.273067195121081 - 45.279764863892495 * i,
3308				-16.227964312749364 - 6.498135865864299 * i,
3309				-11.20054621063079 - 8.426273125267045 * i,
3310				-58.705248303116484 + 81.65445509008538 * i,
3311				25.594931889391546 + 39.35274872626501 * i,
3312				30.532309611036982 + 3.256923448612241 * i,
3313				7.129379172792408 + 6.838738947153601 * i,
3314				-15.190456636557016 - 2.2640782849479066 * i,
3315				31.910440308615442 - 15.29693075177645 * i,
3316				-39.124952616618685 - 2.837702414107156 * i,
3317				-20.999209101849488 - 11.697633954717489 * i,
3318				7.5884728774133805 - 41.05982235596716 * i,
3319				-18.57945603720178 - 8.51797072596581 * i,
3320				3.7213551064906056 + 38.28470046120539 * i,
3321				-9.591623141043726 - 6.440141500678379 * i,
3322				-1.6077782794851103 - 35.479927056383836 * i,
3323				42.07717542912572 + 15.97520671619767 * i,
3324				-5.062921415966187 + 4.00486534658808 * i,
3325				-22.060815068513847 - 19.366702158711433 * i,
3326				-4.61351673044696 - 7.801948348984595 * i,
3327				28.490431520610592 + 22.881853616671908 * i,
3328				2.082108560153415 + 23.555511363258546 * i,
3329				38.875229607076975 + 32.14117251388956 * i,
3330				-28.368058605991724 + 53.309435390115546 * i,
3331				75.01512549490411 + 25.092503280592197 * i,
3332				10.167320629547305 + 24.706753461420604 * i,
3333				28.25935236432018 + 16.124482278499286 * i,
3334				5.346452189736027 + 24.95298955330945 * i,
3335				26.596477084769305 - 40.68761542016499 * i,
3336				9.489041601049749 + 18.962661059822352 * i,
3337				39.96535074275272 - 1.2938098402726794 * i,
3338				-73.16794757765041 - 12.605417296973222 * i,
3339				47.09778621253232 - 31.7273897555976 * i,
3340				42.554318879901345 + 12.433245937648222 * i,
3341				-55.642285416444935 - 20.78705673417153 * i,
3342				-47.43055926537415 + 36.31857442850313 * i,
3343			],
3344			[
3345				27.170665240079952 - 12.556095234336539 * i,
3346				-54.796414924358324 + 71.20064916969002 * i,
3347				4.3904040032280705 - 80.10425016806684 * i,
3348				82.12082311686282 + 11.615571692954191 * i,
3349				22.878100587954613 - 1.5123862064746447 * i,
3350				10.059505130723675 + 21.473756998667454 * i,
3351				37.051288224050026 + 12.918762360647719 * i,
3352				-47.55183198492146 - 42.13334204934497 * i,
3353				33.81571579732643 + 41.79468302461305 * i,
3354				9.280509483078077 + 14.190236397618918 * i,
3355				-65.29781393332239 - 8.127088650560047 * i,
3356				-26.271455102674224 - 6.215384518307843 * i,
3357				-4.096022331183416 - 20.815918724286462 * i,
3358				9.220668537791155 - 57.85279232060919 * i,
3359				-29.001666407455218 - 29.390835910296005 * i,
3360				21.082981234737193 - 19.1189853351367 * i,
3361				-30.530065955545115 + 5.49351185024608 * i,
3362				42.92144374611563 - 13.904528271157389 * i,
3363				-1.7137581454371116 + 8.110292457513353 * i,
3364				1.5428073825626427 - 10.45923563767019 * i,
3365				26.18329088031431 - 11.084491516662247 * i,
3366				11.791975237320372 - 43.78954881413137 * i,
3367				21.334090450633063 + 55.28528187203936 * i,
3368				9.440243098618524 - 15.192376986184797 * i,
3369				-42.21095756994187 + 18.07856404275178 * i,
3370				30.177284952664458 + 3.0202096681995556 * i,
3371				3.8781580412827594 - 55.493058979317254 * i,
3372				-19.869966363493745 + 28.16208639266803 * i,
3373				58.51587627377572 - 55.21899485133818 * i,
3374				-44.44322955925524 + 30.815288659789857 * i,
3375				-96.1772076600449 - 19.93020592818185 * i,
3376				-26.991885704297566 - 55.550070956044095 * i,
3377				-45.44996489801197 + 57.635569015953465 * i,
3378				22.792999460267964 + 26.169910861595554 * i,
3379				13.107909898343834 + 70.94708603496012 * i,
3380				-95.98802754887068 + 3.049231197007856 * i,
3381				40.91088752351679 - 68.41664164478816 * i,
3382				15.45530001031669 - 15.004263586634355 * i,
3383				13.959846303043523 + 11.136256506055993 * i,
3384				-11.046465707001419 - 1.588928127033379 * i,
3385			],
3386			[
3387				16.694937908759982 + 32.35098891155559 * i,
3388				59.58450298945323 - 17.588123257737763 * i,
3389				-57.19287463402591 - 19.693477280585597 * i,
3390				-38.36807028534648 + 5.150458733922619 * i,
3391				24.639598018793844 - 10.70597729079492 * i,
3392				64.73764787481088 + 8.022656628091681 * i,
3393				41.50101846234429 - 47.872298041759365 * i,
3394				-28.3368956849107 + 28.94393300992462 * i,
3395				44.46017744402893 - 4.73642810937406 * i,
3396				4.846981346201986 - 22.02271660214808 * i,
3397				-12.166556355382852 + 54.97920913572901 * i,
3398				-14.852165025828697 - 15.929430829901747 * i,
3399				-84.08528882512249 - 39.5732081530151 * i,
3400				-25.853431157994123 + 0.8186941254087117 * i,
3401				29.839729219522667 + 28.56997070746624 * i,
3402				-12.404841510025719 + 3.9695958404289513 * i,
3403				-26.30152166387613 - 10.69108559787945 * i,
3404				-45.56899641543097 - 13.946238916469355 * i,
3405				44.09282277217365 - 13.370683425033999 * i,
3406				-23.67968383791154 + 1.080502487774993 * i,
3407				-4.242496384247204 - 1.3752871618532936 * i,
3408				13.792895233618346 + 25.238079081726895 * i,
3409				-17.134127947347395 - 20.876168516954458 * i,
3410				-19.06215887657048 - 22.745202476169183 * i,
3411				3.771419499425022 - 77.83657704454501 * i,
3412				-24.862418776127598 + 73.45537930637539 * i,
3413				-23.05465673112218 - 3.1273428245579424 * i,
3414				-40.9647247314676 + 9.726875028627546 * i,
3415				24.837833623859037 - 40.935606876343485 * i,
3416				52.53679709265559 - 21.58775635950127 * i,
3417				-8.898921069358932 + 30.250469340551717 * i,
3418				-29.302235595967552 + 26.226655083813192 * i,
3419				-74.71142149564812 - 39.31509795796596 * i,
3420				-12.01909477463233 - 37.02748653348231 * i,
3421				-4.261495354198544 - 71.1757307089134 * i,
3422				-56.46124362442106 + 90.65196142513504 * i,
3423				-27.86888053917925 - 7.6810070995144315 * i,
3424				-14.194155098250015 + 3.911129583745481 * i,
3425				63.653576144156965 - 43.67448655444909 * i,
3426				-0.028902572134995086 + 35.39599939277515 * i,
3427			],
3428			[
3429				-28.845101788058855 + 19.25797643943614 * i,
3430				34.92642143706021 + 20.01596879607112 * i,
3431				-22.528088608456812 - 84.12744163284049 * i,
3432				21.009284616039267 - 17.783449125416134 * i,
3433				-7.781933349187227 + 72.38625093079267 * i,
3434				10.33633422251464 + 37.1973388621351 * i,
3435				19.781474517693198 + 8.660447114953058 * i,
3436				-8.855128705036122 - 41.327129452569274 * i,
3437				36.20240900791313 - 7.871742563751752 * i,
3438				14.848431028682661 - 29.51134587533103 * i,
3439				-28.168184193770678 - 34.000509762169344 * i,
3440				21.88120179274705 - 23.474615376217287 * i,
3441				34.76203191575519 - 2.31859640880608 * i,
3442				23.5078165705256 - 33.46445614970884 * i,
3443				-9.48766141740279 + 55.17797814056428 * i,
3444				-36.23765714002439 + 33.78927596576293 * i,
3445				-1.177646812505202 + 6.963408321941131 * i,
3446				-11.579281603271411 - 47.828045148921206 * i,
3447				16.068533753227484 - 1.7391308186464656 * i,
3448				-24.564560045435382 - 0.6847242649798009 * i,
3449				-42.52338292157252 - 55.98677691142332 * i,
3450				36.8435562287044 + 61.19117262748678 * i,
3451				-3.2604479519230694 + 39.40915738243291 * i,
3452				31.805559384793042 + 17.389559589589226 * i,
3453				35.65190965281982 - 24.464533456828335 * i,
3454				-43.54287335196493 - 17.78592834993293 * i,
3455				18.562007283763535 - 42.45709136127148 * i,
3456				22.78372053982021 - 33.49667320619335 * i,
3457				-21.472101599947514 - 20.988601565137174 * i,
3458				28.464273424633657 - 31.31610973594841 * i,
3459				-13.040794751555108 - 48.276384738206644 * i,
3460				-17.793985590135662 - 28.12870230394705 * i,
3461				-42.72327372531533 - 17.220626181899483 * i,
3462				11.834697166104021 + 0.9055628710653778 * i,
3463				20.163700128886546 - 8.891485690047872 * i,
3464				-45.72025091136536 - 3.2860179051443126 * i,
3465				-14.226667434676937 - 46.22507940014523 * i,
3466				-7.872488897838053 - 52.25761441273042 * i,
3467				76.96436338609321 + 64.48738388326561 * i,
3468				14.916696406972425 + 10.203998720829462 * i,
3469			],
3470			[
3471				-27.98023104835636 + 47.71260636884574 * i,
3472				-6.173969076661976 + 2.9826954568633255 * i,
3473				-42.035741213743734 - 19.88600494870252 * i,
3474				-39.75939309507565 - 66.19661193460844 * i,
3475				25.806983801193297 - 41.780807207724536 * i,
3476				12.840981610590632 + 7.595343035075587 * i,
3477				-40.3828546724795 - 22.950170466801765 * i,
3478				-42.795749059321636 + 33.48237894440735 * i,
3479				29.37928171083361 + 6.386368996438382 * i,
3480				-6.106914920354413 + 29.79934715783088 * i,
3481				-12.289068815045704 + 50.00179456308443 * i,
3482				-12.60372198937523 + 12.765321597435277 * i,
3483				-0.41042438046834206 + 10.858892918776732 * i,
3484				-14.83922683767446 - 0.5874931392624418 * i,
3485				-45.976567701791325 + 44.51452256470078 * i,
3486				5.350361252925936 - 7.871073670139097 * i,
3487				18.830729797561467 - 2.5864553580188243 * i,
3488				-12.537965954877373 + 26.05301180100858 * i,
3489				-13.432038552196815 + 25.384018105059653 * i,
3490				-2.0635012007511193 - 35.1340434715115 * i,
3491				38.90763400227098 + 11.405415000940977 * i,
3492				15.775734645695408 - 22.1108616109327 * i,
3493				25.07657991447217 + 5.359416544159636 * i,
3494				-23.27556499783445 - 35.633372528500615 * i,
3495				9.58824544592715 + 39.76426122048282 * i,
3496				13.100803124767552 + 23.354573791510305 * i,
3497				-17.479969795265532 - 1.7604542039994584 * i,
3498				-17.87786848672522 + 21.36451048913001 * i,
3499				11.200098755481164 - 7.397982752736169 * i,
3500				-36.75297391150074 - 8.570488941670053 * i,
3501				19.263049029073052 - 5.838585847264191 * i,
3502				-31.653827720272794 + 5.7399431094085145 * i,
3503				86.86899230543679 + 3.1050839811657767 * i,
3504				-4.359950790296136 - 4.620673313676676 * i,
3505				29.639063730518476 - 23.11899280867528 * i,
3506				-23.292567964141192 + 21.517859688796506 * i,
3507				-25.151994252398687 + 36.35196796958007 * i,
3508				-9.647998879618468 - 59.79797788238365 * i,
3509				-35.46974454934007 - 83.10534482290342 * i,
3510				-50.72760264145238 - 34.3455985465426 * i,
3511			],
3512			[
3513				31.061609454305326 - 29.982574064324893 * i,
3514				-21.845882840250297 - 39.657540961403285 * i,
3515				24.1830156232553 + 15.874587863579421 * i,
3516				8.523302730100326 - 2.8506122645006666 * i,
3517				-14.073951796987899 - 49.511734320679935 * i,
3518				-14.301237095263687 - 20.094787825367597 * i,
3519				-26.969509253315323 - 39.6617573539908 * i,
3520				-8.53903462515008 - 11.696370441340434 * i,
3521				-9.998365193816737 - 17.378834620143465 * i,
3522				-33.957716514297715 + 7.492199110962524 * i,
3523				-7.143637815162151 + 21.380497465169015 * i,
3524				4.148270665619265 + 7.843765276705312 * i,
3525				-1.7514578270855168 + 46.24133702157342 * i,
3526				-0.07590106341558567 - 1.7905497655463378 * i,
3527				-34.2729284550756 - 22.71972591486523 * i,
3528				-14.597580454845925 + 12.745835842762517 * i,
3529				0.41146362103899037 + 32.13016259921736 * i,
3530				-27.056906117125152 + 28.739236913099774 * i,
3531				-29.186462319235368 + 11.445737783303358 * i,
3532				52.14178702879578 + 5.720325112569697 * i,
3533				-11.340086196141243 - 8.278916884636203 * i,
3534				-30.55814948250108 - 64.24876972888782 * i,
3535				26.326976792042384 + 1.9536759502548549 * i,
3536				-20.12155501592609 + 9.628804922094261 * i,
3537				3.442817109177719 + 53.26166320556354 * i,
3538				49.94824006452059 - 18.91089476253643 * i,
3539				-36.21911882543711 + 16.322493482051293 * i,
3540				9.202974380758093 + 15.006038634595484 * i,
3541				-23.767091741794076 - 18.075591007583263 * i,
3542				-8.161002955329156 - 38.80252736674977 * i,
3543				-14.808732447344164 + 24.489486093138993 * i,
3544				-18.1021055687359 + 8.155217567964641 * i,
3545				47.99524724267755 + 92.1246534582509 * i,
3546				-34.64282051412141 + 36.62787554452396 * i,
3547				-11.243513685868962 + 17.642478518103907 * i,
3548				40.03979446247281 + 10.464455848259675 * i,
3549				-3.5107303425582543 + 22.913497572326776 * i,
3550				27.59106298858709 - 20.055363813689038 * i,
3551				-53.210164482369315 - 35.74054372688787 * i,
3552				-38.621319943268546 - 39.26316810446023 * i,
3553			],
3554			[
3555				70.64727518782524 - 19.813928938979018 * i,
3556				4.510047202811606 - 41.247131792208535 * i,
3557				-16.215943311219846 + 72.91717556735546 * i,
3558				-82.61986164376333 + 39.030812054520254 * i,
3559				66.71552377848673 - 32.41885749369514 * i,
3560				-25.99871070785241 - 43.79142431325326 * i,
3561				-41.32221635631794 + 84.86269363218929 * i,
3562				17.67021953680451 - 4.877443772319822 * i,
3563				-1.6842449872742833 - 15.497490601950048 * i,
3564				-15.847438088014144 - 22.627855663788637 * i,
3565				27.999069747754664 - 19.463122190449383 * i,
3566				-10.287313872068708 - 13.65105199610798 * i,
3567				-5.515236333988703 - 4.576820606648724 * i,
3568				-20.875478086962374 - 0.8085764258052137 * i,
3569				103.11947491894982 + 14.439503825250014 * i,
3570				-6.622383019570748 - 7.046189678836512 * i,
3571				10.339952422149807 + 9.830602025527725 * i,
3572				-22.73731262825009 + 9.918419119507945 * i,
3573				3.2376472184436125 + 25.187871320947792 * i,
3574				13.425098037104192 + 36.95360869137306 * i,
3575				-11.79593176408795 + 21.975524140837862 * i,
3576				13.500104744931157 - 36.65537402251556 * i,
3577				-8.650711476059811 - 35.57439592624377 * i,
3578				14.74792136867815 - 12.306951331547197 * i,
3579				-69.92105462926628 - 50.974434705713534 * i,
3580				22.291297160275374 + 28.87998717879787 * i,
3581				-37.12770106166326 + 19.24414179298026 * i,
3582				-59.97293980170082 + 45.89533164049446 * i,
3583				2.2135246357886995 + 19.706240376447454 * i,
3584				-5.012910312883321 + 48.478271975831845 * i,
3585				-27.96144766288748 - 5.4073950983638355 * i,
3586				7.248699558000453 + 13.525831727331521 * i,
3587				-15.315082168597662 - 34.53612224301531 * i,
3588				-25.358848856510605 + 25.985390108276604 * i,
3589				-35.41363166856526 - 4.456065105876171 * i,
3590				38.276605990528985 - 54.1651578413959 * i,
3591				15.19260835620417 + 5.250999879463517 * i,
3592				-43.09889668807442 + 82.83674858289275 * i,
3593				-35.58146808553647 - 26.599076384791903 * i,
3594				-28.787644716899624 + 30.423249671622642 * i,
3595			],
3596			[
3597				-26.616024472284565 - 16.39271706569957 * i,
3598				-23.60768274685438 + 0.10954284154638572 * i,
3599				-36.3324069618119 - 15.164318214992875 * i,
3600				19.528144719280355 - 42.96832031847201 * i,
3601				-19.665880114151804 - 13.45134308190626 * i,
3602				22.168405023946477 - 17.618744431707654 * i,
3603				-3.289623151610897 - 44.813845348256855 * i,
3604				-53.30338754855228 + 11.5206870662727 * i,
3605				-25.34531839054138 - 34.279102290595915 * i,
3606				-18.86428449633742 + 16.698256078367564 * i,
3607				-8.984186136973449 + 33.83826894049395 * i,
3608				-0.13019701895882463 + 1.0481174434116483 * i,
3609				-30.152763177609884 + 14.005009580601438 * i,
3610				-12.643398732554118 - 22.882399704005707 * i,
3611				-37.52707603281792 - 39.41273814662171 * i,
3612				-11.451228842058853 + 2.9654527050602866 * i,
3613				21.260928401659953 + 34.424715920911524 * i,
3614				-28.80138331068613 - 29.57171168335239 * i,
3615				-9.855973350504076 + 2.113599576903468 * i,
3616				31.389424704406018 + 0.9144861848154733 * i,
3617				0.3635629124218269 + 14.057599245150186 * i,
3618				-27.390143326001294 + 37.931107340891394 * i,
3619				-3.5122406635850325 - 41.365891755651944 * i,
3620				5.141443596205384 + 20.609989256903 * i,
3621				12.724380321528542 - 10.256604954770694 * i,
3622				-4.1986978418806835 + 30.89308254422635 * i,
3623				-20.196996131844394 - 9.324117018247467 * i,
3624				4.811255738635941 - 37.38392355210847 * i,
3625				-45.18228730548884 - 7.539414761530132 * i,
3626				21.780191513020654 - 13.74894299926207 * i,
3627				-16.554498368276974 + 86.80159588061107 * i,
3628				-6.374545047331367 + 8.229687408800192 * i,
3629				8.338980649240055 + 52.881973081765324 * i,
3630				29.290763770368834 - 20.98043791576805 * i,
3631				32.596295821762084 + 20.777228055729083 * i,
3632				28.12142407080193 + 22.91200177451114 * i,
3633				-20.92089482541423 + 40.21180025265104 * i,
3634				3.4974520314650626 - 65.13308592551193 * i,
3635				46.75542915917377 - 59.8234339493441 * i,
3636				-25.880766298253974 - 13.01657873028351 * i,
3637			],
3638			[
3639				-35.911236681080936 + 33.05144430354082 * i,
3640				9.736188448315033 + 89.13797850462689 * i,
3641				-33.269483796810775 - 84.19938822497977 * i,
3642				45.590422636659255 - 98.81844725124243 * i,
3643				42.621975033346004 + 21.776375248513773 * i,
3644				10.819517842108326 + 61.349321053923234 * i,
3645				42.54819880016214 - 4.5392198541783495 * i,
3646				-74.66389985085382 - 79.18200179595712 * i,
3647				10.16370515621179 + 16.439041183999564 * i,
3648				-6.985967833533152 + 37.45890114115272 * i,
3649				-85.96152674754991 + 10.295160438551164 * i,
3650				-3.916921843335217 - 14.740493624104829 * i,
3651				34.16562864565531 - 9.238460682164828 * i,
3652				33.87722406234178 - 76.47695157100483 * i,
3653				-70.14140594635282 + 64.18039900738282 * i,
3654				-24.698207675408554 - 12.962532497068636 * i,
3655				41.09837903165564 - 27.709046535392424 * i,
3656				-14.403079491942279 - 68.0984946618311 * i,
3657				-2.7958278754045978 + 50.27832929114754 * i,
3658				23.519801532512616 - 26.622662072251618 * i,
3659				18.427948090775573 + 7.255552241037108 * i,
3660				3.102623604262959 + 9.748274537377426 * i,
3661				48.98056695708056 + 37.210974403952775 * i,
3662				32.61155229653296 - 23.896638081068545 * i,
3663				31.205301661878977 - 39.11520397705354 * i,
3664				-63.84165390798225 - 38.06182122634158 * i,
3665				-24.183893729087075 - 70.10835534549456 * i,
3666				-26.558359310032287 - 65.26297799832406 * i,
3667				-6.357751433220766 - 7.5881084433959956 * i,
3668				2.4699228094136174 + 44.398691726332004 * i,
3669				-61.13651873468991 + 1.3152164425419528 * i,
3670				-46.40006827518259 - 48.10506942733605 * i,
3671				29.249845142800204 + 17.236564127472185 * i,
3672				38.17492204415657 - 20.64835183096131 * i,
3673				58.584702661255974 + 35.70227539043968 * i,
3674				-27.552443546518173 - 6.816296278022237 * i,
3675				-45.98556255229736 - 13.968918808798218 * i,
3676				-40.10934088413354 - 76.65613490629775 * i,
3677				111.35268226675284 - 6.600426409464494 * i,
3678				17.03569293628805 - 41.4781521290674 * i,
3679			],
3680			[
3681				16.214875310535888 - 1.0724267243571148 * i,
3682				-1.2175018229823422 + 2.7088072238354357 * i,
3683				25.712837063709046 + 12.056478073843266 * i,
3684				-13.824876703280893 + 13.68132915693269 * i,
3685				6.73747183692231 - 31.879603221474866 * i,
3686				-20.536063196492528 + 30.49659048284542 * i,
3687				16.184996314777223 + 58.282872757812456 * i,
3688				31.540062949189462 + 25.088258377361996 * i,
3689				26.12414827238888 - 23.45788733746717 * i,
3690				-13.500060573403374 - 26.532713448756454 * i,
3691				4.438353428346154 - 10.637674000328104 * i,
3692				-1.3148910518464945 + 3.053668778943745 * i,
3693				4.643112596184949 - 10.605939204056384 * i,
3694				-1.3161602098984417 + 12.846876125969828 * i,
3695				26.1325855349276 + 10.792572692975142 * i,
3696				11.758899854756162 - 23.60899399473149 * i,
3697				7.59523311524903 + 33.58634798965073 * i,
3698				10.62605508702427 - 5.020765936428859 * i,
3699				-19.409845458041076 - 2.079912377237136 * i,
3700				-27.987096504664954 + 13.986905371679399 * i,
3701				-38.67176501700948 - 9.597283438792118 * i,
3702				-44.74208930382067 - 28.691838983368612 * i,
3703				20.2847847581713 - 9.852199778225142 * i,
3704				-23.99842719130922 - 11.984757276141224 * i,
3705				50.86313088223632 + 18.9147544608918 * i,
3706				-15.22796802515243 - 20.936603412773977 * i,
3707				-2.551980907481095 + 13.750656834440633 * i,
3708				23.64730329698373 + 4.137171749865814 * i,
3709				12.321853118444608 + 40.58102736784011 * i,
3710				-3.0435978905078382 + 44.10252317856987 * i,
3711				-45.28868462612712 - 19.357610910416774 * i,
3712				0.6119244754005919 + 12.029315132191982 * i,
3713				45.667928697568854 - 33.741916694005255 * i,
3714				-5.319170489857797 + 44.999887642295036 * i,
3715				-2.499749409194152 - 10.916740184609155 * i,
3716				-14.906124868709972 + 6.5580284485454605 * i,
3717				-36.41006902488422 + 15.277779586670043 * i,
3718				42.06145166917529 + 36.43943903686288 * i,
3719				-5.278497558550997 + 4.614313120775938 * i,
3720				-0.7814369150594511 + 0.2554244406303729 * i,
3721			],
3722			[
3723				-38.559415418246175 + 12.942428044479612 * i,
3724				9.142765199206991 + 36.553775652377794 * i,
3725				-19.85096478878062 - 4.318016595992248 * i,
3726				12.190749168705182 - 22.987857748099287 * i,
3727				21.840109291575317 + 102.78794891976389 * i,
3728				-13.504709728044475 + 2.142167431511652 * i,
3729				9.329612506839624 + 5.9791183694992185 * i,
3730				47.2040226762341 - 2.605698599147786 * i,
3731				15.56954035836074 + 49.40378998181629 * i,
3732				-21.005578507218218 - 5.138602909081655 * i,
3733				-30.7328703208926 - 48.07580062401752 * i,
3734				25.1642107052794 - 18.96334613309176 * i,
3735				24.619673970713073 - 75.16864353303332 * i,
3736				-21.47301367458084 + 30.123899598993397 * i,
3737				-31.929740929145616 + 7.539239865258523 * i,
3738				21.751878784754545 - 45.643454184115285 * i,
3739				-14.310567256383706 - 56.177723993010986 * i,
3740				-4.765464053981503 - 29.49385069913305 * i,
3741				-2.102968718688836 - 3.874706106767583 * i,
3742				2.7761122452965177 + 28.071372405888624 * i,
3743				19.603516172528003 + 15.961310621952464 * i,
3744				54.98958270557935 - 17.183005594293718 * i,
3745				11.473452392950831 + 22.91902137950231 * i,
3746				32.12636375610826 + 0.9896583067368567 * i,
3747				-30.660521884492894 - 19.382665446110735 * i,
3748				-46.81138014622253 + 4.778357108323689 * i,
3749				3.985877310529276 - 23.005596029742524 * i,
3750				-27.675886268755065 - 68.89153107353259 * i,
3751				0.04121876604281738 + 9.128698228551052 * i,
3752				25.676929551387616 + 35.06199647191609 * i,
3753				35.00948610031627 - 10.736934754580133 * i,
3754				-15.399135276845492 - 29.930459647805677 * i,
3755				-11.960176794253854 - 4.047928856890504 * i,
3756				5.468413302853591 - 87.36958177430682 * i,
3757				13.395299669989463 - 1.5507017166423083 * i,
3758				-33.708134856458514 - 7.56223202648269 * i,
3759				17.42584184797967 - 48.03781762197893 * i,
3760				-10.631864035714258 - 5.162567314521063 * i,
3761				27.642922199445273 + 65.48981418605682 * i,
3762				42.25552155293254 + 14.38359400373475 * i,
3763			],
3764			[
3765				-39.74533487284896 + 0.5445025071844896 * i,
3766				28.079032266441217 + 67.83719558565372 * i,
3767				-7.745842299621717 - 37.34131323266418 * i,
3768				20.684394815425094 - 40.16839701400792 * i,
3769				1.2521073165266472 + 16.878340365545085 * i,
3770				-21.955146307887063 + 33.54042447125204 * i,
3771				45.32793396552211 + 0.6448199565931816 * i,
3772				11.748782516278958 + 84.18256863809054 * i,
3773				5.270064106534818 - 16.728028134446276 * i,
3774				19.406918976160643 - 32.164294155406154 * i,
3775				10.983903372672785 - 31.546088847808463 * i,
3776				24.760937291416667 - 25.825895702702173 * i,
3777				49.26315628318396 - 13.32639343179136 * i,
3778				-72.70359489041586 - 2.636633619634921 * i,
3779				-26.13254889590239 - 0.872341050643783 * i,
3780				-17.83020924729837 - 25.13283965335107 * i,
3781				48.62355935395584 + 22.671410546387996 * i,
3782				0.16697213693643675 - 23.393331762826854 * i,
3783				-22.642687414212745 + 10.314617771066564 * i,
3784				1.1686406257963657 + 33.85049760797048 * i,
3785				-44.39233301827559 - 9.29769271427234 * i,
3786				-15.193516550214447 + 7.078856600978014 * i,
3787				16.4681905744229 - 23.869983958322162 * i,
3788				-17.93439725327398 + 19.134362760056252 * i,
3789				136.89688933650874 - 20.467521407869185 * i,
3790				-40.02404380255941 - 47.06372727910638 * i,
3791				17.703259063836896 + 6.662088795591025 * i,
3792				59.000970780083904 - 36.04648618802981 * i,
3793				20.869564664254753 + 40.99031356571227 * i,
3794				56.79353821392159 + 45.22335695615601 * i,
3795				-10.234669566495938 - 7.0703637012281035 * i,
3796				-11.557975076767814 + 37.75254658426536 * i,
3797				44.424949082348746 - 45.81242200521755 * i,
3798				26.546900593308628 - 16.156845201667977 * i,
3799				82.67814513583318 - 48.13434628739155 * i,
3800				-69.10680072907859 + 24.74127143297195 * i,
3801				26.360739346892938 - 33.01872647790613 * i,
3802				29.666989416691724 - 9.815565774496136 * i,
3803				10.320318543801546 + 61.397424055437554 * i,
3804				-6.521250642882733 + 78.74116218338078 * i,
3805			],
3806			[
3807				-23.048044587204572 + 13.326549450402183 * i,
3808				-1.1699234827022842 + 44.12482141577624 * i,
3809				-15.10516257001295 - 50.66351405555281 * i,
3810				57.937216114269546 + 10.791749475549928 * i,
3811				-4.469639633127102 + 44.05671119152047 * i,
3812				-6.376906804250588 + 23.81884970256685 * i,
3813				27.725709784698026 - 49.1620061239082 * i,
3814				4.176641060400726 + 0.6464002487200275 * i,
3815				13.460674888441417 - 4.480623237231628 * i,
3816				17.554227402528227 - 9.897501400574992 * i,
3817				-7.964378181673624 - 15.217288345624098 * i,
3818				6.479502818844253 - 13.814989175174908 * i,
3819				9.556368269583958 + 19.847230831525792 * i,
3820				10.879449994566329 - 25.202807298789338 * i,
3821				-39.39093830306417 + 23.841015899006862 * i,
3822				-16.345785873552813 + 1.2753077466940113 * i,
3823				16.055484478638277 - 13.74694620863329 * i,
3824				29.863143661460214 - 24.280133361320452 * i,
3825				-31.513676699500905 - 8.702226929316467 * i,
3826				-9.61343763093096 + 26.568582786749843 * i,
3827				-11.456120450732797 - 4.297967821472881 * i,
3828				26.578795953312586 + 17.3997017343943 * i,
3829				-1.4641745569479405 + 34.99654704059122 * i,
3830				-6.358253582428091 + 26.19837602791326 * i,
3831				-1.2016705057653922 - 53.32678615696298 * i,
3832				-4.693810507867163 + 12.82631301087425 * i,
3833				9.396442813388873 - 42.95623224345959 * i,
3834				18.302002065393815 - 44.63612499784425 * i,
3835				6.090663065732684 - 8.26834910914998 * i,
3836				21.21315983822064 - 5.50935088567384 * i,
3837				-20.473511881710515 + 11.910432138055604 * i,
3838				12.785537857884073 - 5.503030671231587 * i,
3839				-39.02553711229416 + 13.943670609251427 * i,
3840				38.568929016186814 - 13.14652499505437 * i,
3841				1.0506272463010262 + 5.0864741617094555 * i,
3842				-22.904134807017833 + 29.667996505059655 * i,
3843				-11.871998337822989 - 10.662004796498264 * i,
3844				-1.473550341460296 - 55.66331308160437 * i,
3845				32.23751976669902 - 1.8037521949535282 * i,
3846				60.66987105716622 + 2.247956055083236 * i,
3847			],
3848			[
3849				15.350183672341998 + 2.7201853965533758 * i,
3850				-83.3560218085059 - 1.2306126953306062 * i,
3851				28.34594400620116 - 3.5001061953892503 * i,
3852				46.72230561113287 + 51.07041324388919 * i,
3853				-25.52139352481271 + 20.99370718754467 * i,
3854				-14.376010148098942 + 5.728520613254915 * i,
3855				-34.26689150093324 + 45.496566681058084 * i,
3856				3.211348131750583 - 27.224189805825574 * i,
3857				-3.4486501105903073 + 29.166126802143353 * i,
3858				12.236608352752697 + 27.043983515978027 * i,
3859				17.184838642122145 - 28.784977246786838 * i,
3860				-14.30794894635764 + 6.796897922195278 * i,
3861				14.233855521871703 + 18.46968895830871 * i,
3862				35.160284044472796 - 27.868852426964494 * i,
3863				11.73279732500393 + 6.112908212323589 * i,
3864				19.98542506056427 + 19.422317496341435 * i,
3865				-6.927182941043853 - 19.066346054722256 * i,
3866				79.27644396299596 + 28.640632496474932 * i,
3867				4.081681904859238 + 15.16683507745256 * i,
3868				-12.290938007901019 - 47.72803559118711 * i,
3869				25.722632083494616 + 8.202532983791777 * i,
3870				-17.488068302703947 + 3.9432122509485623 * i,
3871				-6.073511421162721 + 19.886652048463418 * i,
3872				-0.6190591904074205 + 12.829610333257648 * i,
3873				-84.82576015172695 + 17.59172454493556 * i,
3874				48.979153985481375 - 16.948919939436934 * i,
3875				31.313781113398395 + 7.30445840561228 * i,
3876				22.018425323788392 + 28.730241961713823 * i,
3877				20.026380781897018 - 21.614972972953368 * i,
3878				-74.75176907692422 - 19.018269613101122 * i,
3879				-5.3819240698218636 - 25.223950278872024 * i,
3880				56.43115044031224 - 39.34062535061166 * i,
3881				-8.459310141238303 + 12.643324391849191 * i,
3882				43.50267413764142 + 43.61090410813755 * i,
3883				-41.742690367105254 + 64.72351745300965 * i,
3884				7.740630291303205 - 62.777596487973355 * i,
3885				43.77541448080712 + 1.2310675403849487 * i,
3886				-23.51143718595857 - 0.7458719676291139 * i,
3887				-55.7329837712228 + 32.316729046378455 * i,
3888				14.122152539214731 - 11.581426351539063 * i,
3889			],
3890			[
3891				7.137854601513979 + 12.140758830626591 * i,
3892				50.37367228721254 + 3.0286828199253364 * i,
3893				-19.895604808955227 - 5.582498989726567 * i,
3894				-23.997960235766698 - 54.68724692257891 * i,
3895				46.673582534028895 - 23.663080969831412 * i,
3896				62.04292495228238 - 0.3232875978346499 * i,
3897				-21.376731305208935 - 18.459634772812706 * i,
3898				-27.948442293029487 - 0.7227838836425278 * i,
3899				-13.885776109743224 - 18.279228619246524 * i,
3900				25.829343846121503 + 18.98997355212488 * i,
3901				-1.7197580589704415 + 35.040110167211964 * i,
3902				-8.689673198829325 + 6.544442931010394 * i,
3903				-34.93692246156019 + 17.30886761220996 * i,
3904				-12.948439907504053 + 17.148388881227874 * i,
3905				19.901178338239802 + 6.095744106949766 * i,
3906				-15.258506336684576 - 16.306102670659836 * i,
3907				-9.031735313935904 + 12.10983424967813 * i,
3908				-15.4227620881354 - 12.015947251869704 * i,
3909				-1.9439000092110348 + 14.48329690533172 * i,
3910				30.37940028720284 + 4.240602992028872 * i,
3911				13.788556659642211 - 0.536283183212106 * i,
3912				-7.556529291062674 + 33.4378624178742 * i,
3913				-7.908738789857551 - 56.666596888875944 * i,
3914				-13.715021863561958 - 9.797424875246776 * i,
3915				7.278140253618929 + 29.567367155533816 * i,
3916				26.092140808104958 + 23.35860327732442 * i,
3917				2.4437614781639 + 13.862969935523168 * i,
3918				-11.156017167013886 + 18.37275278630839 * i,
3919				23.901839071161973 - 12.902757340991087 * i,
3920				23.98176050569637 - 14.479322438694219 * i,
3921				13.583091895992574 + 18.150613583603814 * i,
3922				-0.8226338558714872 + 23.137024745600968 * i,
3923				14.855398269475902 - 22.291689039737484 * i,
3924				-29.816863522323914 - 16.098792984688565 * i,
3925				40.276925146262435 - 22.15784396539155 * i,
3926				16.043719239634104 + 34.653092092422106 * i,
3927				4.296934576622064 + 27.98258474595035 * i,
3928				-39.65728358303623 - 2.6873374122796037 * i,
3929				17.024864096128013 - 39.81719364700238 * i,
3930				-24.70264241822926 - 15.497539530276503 * i,
3931			],
3932			[
3933				-1.8702268875956634 + 46.1722190769777 * i,
3934				-6.200498495034537 + 4.102225033169834 * i,
3935				38.84977792025394 - 65.33122633513864 * i,
3936				47.71893834165549 - 6.10942038474775 * i,
3937				-41.49947015645955 + 5.858776613390916 * i,
3938				39.28064530025401 + 72.15691795504114 * i,
3939				28.280118351108314 - 40.74515000471365 * i,
3940				6.415607978937317 - 31.17124327223292 * i,
3941				23.694972482377437 - 7.058927293962476 * i,
3942				27.78404985739789 + 8.280643924230816 * i,
3943				-13.078108866928275 + 6.782596390679203 * i,
3944				3.745495730499158 + 20.94547200293055 * i,
3945				-28.006786759220333 + 12.53581617007849 * i,
3946				55.700457058767846 - 28.24615781120235 * i,
3947				-19.037730649241496 + 52.22138608355539 * i,
3948				-21.60190556664803 + 8.268751931020887 * i,
3949				-23.83838930993283 - 17.852226132108 * i,
3950				28.41034601076263 - 18.879993101438345 * i,
3951				5.843998338862386 + 17.117324115708968 * i,
3952				-20.26291094447616 - 19.589421202312835 * i,
3953				15.972742078615852 - 42.60592657737184 * i,
3954				-31.65673145300474 + 36.74507412165649 * i,
3955				-8.173691282134286 + 34.28900564813355 * i,
3956				-42.77808900588222 + 8.938606808980268 * i,
3957				15.941816292606717 - 19.58499266680142 * i,
3958				-8.889707470309682 + 6.983230716657705 * i,
3959				27.981480535219475 - 26.095366723935086 * i,
3960				29.132637782062705 - 13.638236809227479 * i,
3961				46.46141471154652 - 55.79574897835563 * i,
3962				11.484549158682437 - 33.67437544125386 * i,
3963				-14.152129134165278 - 27.625805072111714 * i,
3964				14.808960219930029 - 33.31488237981341 * i,
3965				-17.4544578446032 - 29.491865245390954 * i,
3966				29.12825386518096 + 13.208221216005427 * i,
3967				-15.482821082506753 - 6.395630403306326 * i,
3968				-56.12125578322483 + 23.07750355261873 * i,
3969				-1.3825024345136576 + 50.715177498168536 * i,
3970				20.835642352921 - 66.80657320046146 * i,
3971				14.170164833675964 + 2.2758334821018513 * i,
3972				27.230156415190695 - 47.89515865085828 * i,
3973			],
3974			[
3975				-12.500422032878419 + 7.56158595516186 * i,
3976				-20.705892443889404 + 39.315297828724795 * i,
3977				22.070978207936072 - 14.746718907391152 * i,
3978				54.109460091792954 - 40.372172652671054 * i,
3979				56.244952968557484 - 8.490737329322883 * i,
3980				-8.766740713367938 - 3.8874429731820044 * i,
3981				32.34348166507769 - 7.957470596690726 * i,
3982				-63.02848472066324 - 9.760959662244375 * i,
3983				-13.874496899818233 + 14.719030459716453 * i,
3984				10.21458898035172 + 33.523780705966544 * i,
3985				-69.01153009966714 - 5.213054632088067 * i,
3986				-0.2695286163505841 - 4.590417091796347 * i,
3987				10.757323016369995 - 5.177413552831695 * i,
3988				35.403737802137 - 49.36413893464271 * i,
3989				-17.817143473430917 - 15.284025742436398 * i,
3990				-5.8447602750289525 - 32.90812186904779 * i,
3991				12.487634501626047 - 22.80908426083286 * i,
3992				-52.0297430297333 + 3.459088297987762 * i,
3993				-25.888141886584748 - 5.812726937265381 * i,
3994				68.81170249358767 - 13.716011121893814 * i,
3995				10.507545744292486 + 12.251723267818821 * i,
3996				19.24903764689438 - 32.64940690119502 * i,
3997				11.780920360172601 + 14.508247155514937 * i,
3998				26.948131996285653 - 24.405753826866874 * i,
3999				-20.229869681711904 + 10.554435450241868 * i,
4000				2.3176462380464216 + 11.757175887155896 * i,
4001				20.668571350559723 - 38.51351028696999 * i,
4002				-22.968150405007382 - 18.085248585290174 * i,
4003				35.054581230033065 + 22.512614251286173 * i,
4004				-10.582534223807073 + 14.624746904916165 * i,
4005				-48.38997695801433 - 3.5595984849912625 * i,
4006				0.27707365733952827 - 11.335159765067727 * i,
4007				38.52158171842528 + 47.01078377585809 * i,
4008				23.44499848188687 + 9.873323135263075 * i,
4009				50.494129911856305 + 41.34557746199232 * i,
4010				-29.726019202985448 - 11.585306957029278 * i,
4011				5.838140789905715 + 7.7751880831559 * i,
4012				10.381640056712335 - 8.258734397624586 * i,
4013				33.14434869702984 - 82.96272828795406 * i,
4014				31.442513744288647 - 36.271911113817175 * i,
4015			],
4016			[
4017				33.557898059576836 - 16.08637884642054 * i,
4018				3.824372640993545 - 15.919339996854745 * i,
4019				-10.614067123290468 - 0.9588921982829106 * i,
4020				14.404925392752489 + 9.205465335887538 * i,
4021				17.144028654591864 - 89.28131134669451 * i,
4022				1.337576195520569 + 22.514233116741224 * i,
4023				30.81344304769874 - 25.117145039696368 * i,
4024				-61.9611853680309 + 43.44127684910211 * i,
4025				-46.66270288489612 - 56.677702969013495 * i,
4026				-34.56645628165424 - 15.485952803635172 * i,
4027				-8.84591638259836 + 29.32055728344138 * i,
4028				-39.083487361726625 + 50.14930201007829 * i,
4029				-68.11963324551999 + 13.298395497183463 * i,
4030				-49.40319093380771 + 5.635115635449694 * i,
4031				-15.673289864958463 - 53.53960897053018 * i,
4032				3.810088140484993 - 2.1975028391724862 * i,
4033				-0.10778231534740002 + 58.14998564543903 * i,
4034				-46.2570503421951 + 15.048757616299227 * i,
4035				10.189774783303989 - 40.74755953508638 * i,
4036				27.660985659685366 + 1.8033859466558866 * i,
4037				-5.454828174245762 - 8.65571998319939 * i,
4038				-20.738393466828768 - 11.7766623535488 * i,
4039				-13.048176368968399 - 22.486276615602236 * i,
4040				-13.903133154299653 - 50.72364297067493 * i,
4041				-1.9905770983328672 + 12.615478759820292 * i,
4042				62.28705419543856 + 50.73751754412473 * i,
4043				-11.720159984143756 + 25.039635976822893 * i,
4044				1.7557061827068026 + 60.21790783785003 * i,
4045				-7.160569498558186 + 10.60162011857281 * i,
4046				20.21250223496106 + 9.968879206244935 * i,
4047				-13.657663921004254 + 80.2297065855002 * i,
4048				-38.9887874233047 + 27.285216319845485 * i,
4049				-0.3634584445620117 + 73.32251558377382 * i,
4050				-11.920254658473203 + 25.911993884348846 * i,
4051				10.62803710276512 + 5.2514229511611745 * i,
4052				-57.832126991159036 + 78.81525023070225 * i,
4053				-67.42965599685277 - 15.433275288795649 * i,
4054				-2.689537907772646 - 7.164461552152549 * i,
4055				41.80282880284754 - 84.43875046178249 * i,
4056				2.4393221106114247 + 38.20368926447153 * i,
4057			],
4058			[
4059				-16.414652737949783 - 138.50318731912833 * i,
4060				-71.46147185205 - 2.018899511617647 * i,
4061				65.78385375877235 + 0.10718138919014564 * i,
4062				86.8964185922234 + 85.22633661199 * i,
4063				-68.70308801173853 - 67.56929584368721 * i,
4064				-32.40266258985616 - 25.2545311264814 * i,
4065				25.53373032279643 - 22.887279839167547 * i,
4066				-64.7982908123895 + 26.260330906848115 * i,
4067				-53.157041830686126 + 29.439473769759218 * i,
4068				-26.47948704177361 + 20.718120302220186 * i,
4069				19.784201706880964 - 31.38307134759046 * i,
4070				-23.72471826864387 + 56.1550197643778 * i,
4071				-6.075035034896047 + 40.80933574300536 * i,
4072				-16.303014312427457 + 57.67075278306396 * i,
4073				-61.32542954791059 - 132.04125398264904 * i,
4074				66.17145497837006 - 13.799528764460021 * i,
4075				61.41149576446757 + 22.836226607556014 * i,
4076				30.06889183956821 - 17.85022088900314 * i,
4077				0.281444804487748 - 20.96289434626103 * i,
4078				60.701348358526054 + 73.44646960513137 * i,
4079				45.65841415721198 + 54.245597464068766 * i,
4080				-24.172112978860753 - 16.62878098229183 * i,
4081				-48.81389480276735 + 1.0247490938810664 * i,
4082				-17.47635553265988 + 3.029434235736378 * i,
4083				-28.17948783327944 - 1.3975126440752632 * i,
4084				38.61803691717746 - 5.13928912624465 * i,
4085				37.09349308921347 + 74.39753624600314 * i,
4086				63.9909836965859 + 80.35426975689366 * i,
4087				24.644981818833223 - 15.375197028983706 * i,
4088				3.3349278109448406 + 16.60575254818285 * i,
4089				13.363815234142626 + 95.0012061443278 * i,
4090				14.322687189351159 + 33.330400593220766 * i,
4091				-21.16022942870942 + 124.23557126044611 * i,
4092				30.900992089384005 + 61.094717359219544 * i,
4093				-9.445299822266605 + 59.892951073953654 * i,
4094				-40.86416156800912 - 19.821353750971518 * i,
4095				9.57820247112624 - 48.79342034881343 * i,
4096				70.79446896136918 + 26.83112320832078 * i,
4097				-9.226397625450666 + 22.84876280788216 * i,
4098				11.972589886331804 + 117.75814026405848 * i,
4099			],
4100			[
4101				12.332880398312568 - 77.23329397307154 * i,
4102				-35.20048902362767 - 7.975468713155934 * i,
4103				28.982778119173688 - 0.4691492433821658 * i,
4104				-13.140202408574083 + 77.03999797006992 * i,
4105				-63.00848128126959 - 8.892050704649364 * i,
4106				-37.577991908878765 + 13.032756735758099 * i,
4107				12.818704895813848 + 30.510119639002895 * i,
4108				31.535171954010146 + 14.413853900441097 * i,
4109				-28.98279901501263 - 71.13171170528831 * i,
4110				-23.52101138705588 - 52.89467528803388 * i,
4111				61.76873767720794 - 7.007648514518422 * i,
4112				-2.3251056012321527 - 7.515782437838311 * i,
4113				14.140105837095504 + 34.72190962620493 * i,
4114				-52.88535373955108 - 16.1158387789105 * i,
4115				3.404488950840175 - 65.49158495799813 * i,
4116				26.704869560914574 + 43.8406348233317 * i,
4117				55.090628453778734 + 76.04243194944118 * i,
4118				42.4144976924026 + 16.561236850801095 * i,
4119				-10.849422264437464 + 6.210985239954461 * i,
4120				2.8846793961523503 + 51.33111806283149 * i,
4121				-63.11192061736465 + 16.93568189705359 * i,
4122				-26.5476299926189 + 0.93624815223464 * i,
4123				-5.862818884631508 - 13.080721202623963 * i,
4124				-19.668120322073438 - 12.274402628090371 * i,
4125				44.495992603631606 - 39.638366160807465 * i,
4126				6.361768629743594 - 35.64274311920397 * i,
4127				-35.31614603823407 + 40.085167559867294 * i,
4128				81.60790349374119 - 2.3092653857109795 * i,
4129				-55.75914459973389 + 22.178769402547317 * i,
4130				-8.307720033021496 + 18.543779538098136 * i,
4131				-47.653645807126864 + 49.03137307837942 * i,
4132				-1.5998542998764265 - 4.143784965826061 * i,
4133				-6.731947140639704 + 24.62150392211116 * i,
4134				41.41383612337724 + 31.238449953023704 * i,
4135				0.33773089192362704 + 12.277431035116408 * i,
4136				13.83822994170826 - 34.94750173922128 * i,
4137				23.200989869243585 - 22.627536608686118 * i,
4138				23.659572928625074 + 28.453207872851287 * i,
4139				-38.7114376237094 + 65.88425889560344 * i,
4140				-36.89748143613279 + 74.3085049273767 * i,
4141			],
4142			[
4143				16.38812772069653 + 21.641932229845054 * i,
4144				17.26464344944003 - 14.45242961179919 * i,
4145				19.35482279211385 - 2.5879720242048165 * i,
4146				-31.03943018723578 + 18.651901314598973 * i,
4147				72.89349391863395 - 78.46082086209236 * i,
4148				35.38983564848445 - 8.007847728443544 * i,
4149				-2.3264000217228897 - 33.461191701729476 * i,
4150				-54.5369647780133 + 44.6133969219938 * i,
4151				41.434622178996634 - 10.819765231029997 * i,
4152				45.79520276104623 - 4.114191182550712 * i,
4153				1.8209128620555504 + 38.89624984334574 * i,
4154				-32.99811363797412 + 5.561930844807662 * i,
4155				-30.500238686655166 + 4.444237099544097 * i,
4156				-29.132210648683582 + 11.371655828776838 * i,
4157				53.80861429297423 - 24.171266848795078 * i,
4158				19.117343370788376 - 16.921737377475523 * i,
4159				-79.94128963860697 - 14.668288674913953 * i,
4160				-26.083427383737018 + 57.84965881423189 * i,
4161				26.655330461847385 - 44.58586467254656 * i,
4162				19.305201000262798 - 40.398210216978924 * i,
4163				29.337757053577576 - 17.98269541869061 * i,
4164				4.806232177508946 - 41.60267175870774 * i,
4165				2.723502123874752 - 20.24606222854534 * i,
4166				-41.474384452617265 - 31.17684546795295 * i,
4167				-49.824385325271294 + 81.66690323014572 * i,
4168				34.13753515256142 + 63.73243615294102 * i,
4169				12.851215366978295 + 33.33269930126448 * i,
4170				-32.945064821254824 + 68.0437711316502 * i,
4171				37.64969463790469 + 3.207752502033202 * i,
4172				-7.1955935084893525 - 9.126414969414064 * i,
4173				-13.985389492222055 - 25.058883774119636 * i,
4174				-16.759065472427224 + 34.782738447246004 * i,
4175				13.97354175619129 - 23.920359557033187 * i,
4176				-46.76580743144058 + 12.757396020764702 * i,
4177				-0.589199478905357 - 22.445681808441748 * i,
4178				-78.11794586417572 + 45.623811610728964 * i,
4179				21.366343914266523 + 1.1783587331653465 * i,
4180				29.357056000927535 + 62.904952758368914 * i,
4181				-27.12205160911221 - 93.88485940763235 * i,
4182				-8.76803855260007 - 33.219961001206904 * i,
4183			],
4184			[
4185				-28.31328299166799 - 10.451281352668158 * i,
4186				-46.43189647669655 + 23.710857537841832 * i,
4187				-56.92164251718333 - 22.03167076412649 * i,
4188				25.707200458369698 - 10.842040376839151 * i,
4189				-62.87974636644472 + 101.14097442814389 * i,
4190				15.929951989217347 - 36.12012099695019 * i,
4191				-2.7232722248482446 - 55.049115410074165 * i,
4192				55.71509893360454 - 4.881114007602292 * i,
4193				-57.7289652581659 + 2.1453070827609935 * i,
4194				-59.0562955612244 + 1.891845243238464 * i,
4195				16.9199244616552 - 34.06993143602925 * i,
4196				39.236326903190104 - 18.635442210424436 * i,
4197				6.387131710927974 + 12.395216782073348 * i,
4198				-12.31327097223643 + 27.543985329250646 * i,
4199				-105.29881432055282 - 7.441312127163258 * i,
4200				22.219298199413664 - 15.436554707242337 * i,
4201				110.2549343665041 + 25.139738625790287 * i,
4202				33.107270192859836 - 27.978414445505386 * i,
4203				-31.710654741522006 + 13.896187159645773 * i,
4204				21.699354522494126 + 79.94954727508377 * i,
4205				-32.09461637699329 + 71.20377696246213 * i,
4206				17.9108785302557 + 24.36115778711742 * i,
4207				18.246509898714976 + 10.984528119123993 * i,
4208				-7.007513718819908 + 60.66465958083507 * i,
4209				74.36224016711363 - 152.98161672630602 * i,
4210				-40.025022034675416 - 16.137792768253263 * i,
4211				5.3999669679351 - 6.922501007783623 * i,
4212				60.53750690076238 - 99.81585564136489 * i,
4213				-47.70387077755859 - 25.38697176982151 * i,
4214				-3.5555913855108656 - 15.271887290774167 * i,
4215				4.279282931719081 + 39.671502626896 * i,
4216				5.606656563820079 + 15.787629022297963 * i,
4217				-27.795414988363945 + 47.09647938877382 * i,
4218				49.43923855582297 - 31.632614065739336 * i,
4219				-27.769641721125012 - 4.404067236704872 * i,
4220				54.92304900736685 + 59.411200957216174 * i,
4221				28.004667965040547 - 45.91429944273526 * i,
4222				-23.263631249619067 - 91.00750917130509 * i,
4223				57.004227177543044 + 82.70215995443832 * i,
4224				23.173451238476822 + 99.58044727077801 * i,
4225			],
4226			[
4227				-20.818493233100035 + 47.74951876746923 * i,
4228				84.91572052013882 - 7.357162083150399 * i,
4229				-95.06982869204035 - 15.467413519133324 * i,
4230				-44.215545221572654 - 27.67522203694756 * i,
4231				82.66162234705155 + 8.692012440934263 * i,
4232				46.578520073783665 + 24.080651768593786 * i,
4233				-5.445148850158034 - 36.94044022306639 * i,
4234				5.604792251422907 - 44.57310181148101 * i,
4235				15.922879170945208 + 10.624215103721035 * i,
4236				-12.78541747234317 + 16.706426627624737 * i,
4237				-53.94913094905454 + 39.7115071482894 * i,
4238				-42.45006432242212 - 53.81463132248712 * i,
4239				-20.371343049620094 - 49.39675734436645 * i,
4240				-2.1872464919428865 + 22.668639544270963 * i,
4241				28.266798095799402 + 74.38473712952546 * i,
4242				-31.236903648293847 + 34.34991809353957 * i,
4243				-0.30351258077897114 - 94.28545972461518 * i,
4244				-38.02341346737646 - 15.786897452086144 * i,
4245				50.02004525645174 + 47.89304573440441 * i,
4246				59.345724455608455 - 37.06543804803529 * i,
4247				22.310987441999536 + 38.083602946458356 * i,
4248				19.849520939094237 - 2.0097682939245374 * i,
4249				7.1522323448111536 - 10.507295753939108 * i,
4250				25.76998109001589 + 0.5362272175010148 * i,
4251				-95.53204121748084 - 101.8157842754285 * i,
4252				-32.81688365668617 + 70.06222214115043 * i,
4253				-28.558972521188895 - 26.81325686250768 * i,
4254				-98.82346892021235 - 39.75543337585483 * i,
4255				13.171190476708546 - 28.893764237255 * i,
4256				25.49967738001596 - 58.924205157403705 * i,
4257				8.331246502406149 + 19.46489277356153 * i,
4258				-8.121968378851072 + 15.26479463780797 * i,
4259				-38.80389268891574 - 39.514721582145846 * i,
4260				-40.73018055966737 - 49.003149374051276 * i,
4261				-32.57603208237699 - 76.4023186776447 * i,
4262				5.1994203744373735 + 51.551251018909525 * i,
4263				-63.2327133285304 - 37.46752130406753 * i,
4264				-80.13166935197161 - 22.67666843531579 * i,
4265				105.81834066212554 - 26.82472556844099 * i,
4266				69.1871545469955 - 6.508673056163799 * i,
4267			],
4268			[
4269				-9.461506394167182 + 56.94051746836616 * i,
4270				13.021807983508811 + 2.568384144057312 * i,
4271				-27.775224179532472 + 26.35656269768312 * i,
4272				-20.04315091265414 - 75.55608678294621 * i,
4273				51.42799764243682 - 9.241881866178687 * i,
4274				42.100002111353376 - 15.510611043084324 * i,
4275				-62.163167472786256 - 20.51120294879229 * i,
4276				-35.725886779404334 + 28.89033541400066 * i,
4277				-36.42263449646275 - 10.139476961578339 * i,
4278				14.524643023405531 + 42.384971925768184 * i,
4279				-13.342340643152554 + 20.002788471029767 * i,
4280				-1.0120065160111693 - 26.48480434565745 * i,
4281				43.70775189824921 + 32.47260310659765 * i,
4282				-7.37477284297276 + 4.232547566395773 * i,
4283				10.412861393773554 + 14.134458879998988 * i,
4284				36.44809760028653 + 14.327631518640231 * i,
4285				36.26623425072857 - 19.47598258085339 * i,
4286				-30.81855790178725 + 39.081442228132715 * i,
4287				-34.02584054190942 - 4.166035300078448 * i,
4288				42.25224229704031 - 6.170095701181623 * i,
4289				-21.30259365113136 + 26.716635723614417 * i,
4290				16.099023451476114 - 25.529712957258766 * i,
4291				52.66502617227164 - 38.77355041739767 * i,
4292				-4.712244928925163 - 1.6884987469416899 * i,
4293				28.270221918370837 + 45.016041543484874 * i,
4294				9.711523780699991 + 0.7914741974989044 * i,
4295				8.463523953674837 + 10.836732676140016 * i,
4296				12.022551015003643 - 13.325881439273957 * i,
4297				11.3494264745772 + 61.17055461003904 * i,
4298				-48.28711534769127 - 43.302481706725956 * i,
4299				-18.59078845829751 - 50.22779015506764 * i,
4300				19.116509410163772 + 65.10028005080821 * i,
4301				82.84843863834872 + 5.104968155945 * i,
4302				-49.101013461258134 + 3.5388481668593244 * i,
4303				30.88898780423007 - 30.17478740306833 * i,
4304				59.67471427066985 + 26.65616728519258 * i,
4305				4.463923606966169 + 51.61745232978415 * i,
4306				-51.17634580356744 - 18.64803105804926 * i,
4307				-0.1503651455193875 - 66.02774805420552 * i,
4308				-19.167177392555597 - 27.916757411460058 * i,
4309			],
4310			[
4311				-22.63061255853546 + 0.10720500211888861 * i,
4312				21.88943880240157 + 37.74242958633397 * i,
4313				1.2032843095363148 - 60.35613102327502 * i,
4314				-44.15804722469859 - 59.72020426252399 * i,
4315				56.97328860048714 + 24.661783730646476 * i,
4316				27.355369176303384 + 10.8668881138303 * i,
4317				13.114618656569952 - 9.880801274554603 * i,
4318				-56.16052973447667 - 27.812891332347178 * i,
4319				14.612820566658925 + 45.760129674412724 * i,
4320				7.81864507045902 + 5.579452620962044 * i,
4321				-40.689341572354664 + 6.641242372046165 * i,
4322				19.749593933804476 - 11.421459090973535 * i,
4323				39.03017429382567 - 10.522978764488975 * i,
4324				-29.779191492949366 - 24.655202102583303 * i,
4325				-27.40047329575792 + 14.212088525162272 * i,
4326				9.095068612795373 - 19.598852186070296 * i,
4327				7.448056545404867 - 29.62121811325575 * i,
4328				-32.18318867020736 + 12.631517257749854 * i,
4329				13.905833155882078 - 2.171344044015626 * i,
4330				31.388266975083905 - 32.49759791462229 * i,
4331				-3.236913745123239 + 8.62670196968675 * i,
4332				40.24414588756297 - 15.057910092675158 * i,
4333				44.47051246287276 + 10.592695489474863 * i,
4334				-1.8142529772531475 - 44.11127254563283 * i,
4335				-13.90303007726223 + 11.993867418748081 * i,
4336				-51.38945154001924 - 13.961881915618278 * i,
4337				-20.06468517260789 - 11.327358664374302 * i,
4338				-25.81846713082041 - 33.1907528656579 * i,
4339				-7.628689979641194 + 15.12047299610083 * i,
4340				0.8656454430023137 + 37.60986624000327 * i,
4341				-32.15450281337345 - 15.712272455308863 * i,
4342				-61.7413929969583 - 15.026862786684262 * i,
4343				62.358066151537855 - 14.652686590221538 * i,
4344				1.7684131407334611 - 25.630548031440146 * i,
4345				57.398658838574555 - 3.835385988681523 * i,
4346				-45.1752646381056 - 9.385306118052515 * i,
4347				24.510903841575406 - 38.49333522892131 * i,
4348				-8.937015135185675 + 12.688815239688743 * i,
4349				16.186412128446207 - 24.783961417680267 * i,
4350				-16.65425183606867 - 31.59552650097491 * i,
4351			],
4352			[
4353				-65.49679783222982 - 1.8568472793506032 * i,
4354				-19.031202731927728 - 4.757723366275968 * i,
4355				63.51876026770962 - 24.96413546925561 * i,
4356				46.78765190048882 + 32.18853389081437 * i,
4357				-77.48140639081706 - 27.69389567663682 * i,
4358				-33.313894533436255 + 1.3472251249176992 * i,
4359				4.251053843975157 + 4.359191593167168 * i,
4360				-16.026648524018626 + 52.8301574237686 * i,
4361				-8.198723536017539 + 38.61340862718583 * i,
4362				17.33161483203594 - 11.589652252905303 * i,
4363				21.65792978651413 - 21.461984409097212 * i,
4364				11.866880768200815 + 15.648055637976626 * i,
4365				4.223514919255123 + 30.163687662304262 * i,
4366				26.273395798938168 + 29.80096773039761 * i,
4367				-88.08255482817428 - 51.430335060047014 * i,
4368				5.876261968366814 - 22.432635699795497 * i,
4369				15.52890418224645 + 1.323735972292038 * i,
4370				0.5808244510900522 - 4.9570404193387105 * i,
4371				-10.957179638890807 - 8.601263376814515 * i,
4372				25.641213974225767 - 38.38007707993714 * i,
4373				36.18524029980506 - 17.195921848112775 * i,
4374				-19.021097567396865 + 46.00027867788357 * i,
4375				-76.53978886487377 - 7.071603926345745 * i,
4376				-7.884643866951947 + 11.03935522876931 * i,
4377				71.70299925569716 + 75.86448259880177 * i,
4378				48.366184478009345 - 23.279940583971296 * i,
4379				58.569476676274206 + 34.404937834382565 * i,
4380				75.41783006803455 + 30.79890901801963 * i,
4381				39.58320493193641 + 2.3263525712533024 * i,
4382				33.10164423638667 - 30.603046192539367 * i,
4383				73.51058636720066 + 11.56597038139559 * i,
4384				56.007530771719786 + 6.336557153566412 * i,
4385				-1.0036814220423054 - 2.817114286259706 * i,
4386				9.179717663832689 + 19.03919453573988 * i,
4387				23.66604506865717 - 15.763760874455322 * i,
4388				-43.882821277914914 - 20.562707693326274 * i,
4389				16.64047989698316 + 0.06874271719906488 * i,
4390				72.04879244409908 - 21.767534388794346 * i,
4391				-41.299404545311006 + 28.796496454211713 * i,
4392				-11.205049061302553 + 47.921774392714426 * i,
4393			],
4394			[
4395				1.7615021031892866 - 24.7237741275095 * i,
4396				24.346309065378108 - 37.15602815860399 * i,
4397				-13.563456869224837 + 39.74772382178125 * i,
4398				-24.735917451844898 + 3.9240513954506326 * i,
4399				-71.73640661770386 + 1.230861179235319 * i,
4400				20.583884928502613 - 20.838412633775455 * i,
4401				-30.793622495737097 - 57.84342282543567 * i,
4402				36.40978933979676 + 32.14959855805226 * i,
4403				-18.684006879357554 + 38.51911628174017 * i,
4404				9.83029543898482 + 13.681290838877509 * i,
4405				29.459509134129192 + 19.372036212175203 * i,
4406				37.34586571156941 + 9.947151764223733 * i,
4407				-15.171037091762301 + 38.75014078531257 * i,
4408				2.233808196593145 + 27.8914033773697 * i,
4409				48.150623333150406 + 7.4877313929322815 * i,
4410				-20.598155213412447 + 56.18500521739735 * i,
4411				-5.046589262238243 - 52.847754117358335 * i,
4412				1.3949545571264537 + 20.487182485449424 * i,
4413				21.344291113582727 - 24.116012009469394 * i,
4414				-38.46104180027537 - 1.3357824392702184 * i,
4415				5.055321394571802 - 3.614298326563471 * i,
4416				-1.465551215371221 + 41.90726516080039 * i,
4417				-10.123950764211926 + 10.804141091999853 * i,
4418				-12.9358228975548 + 43.01522777579308 * i,
4419				-94.56218992629162 - 27.057697142118542 * i,
4420				1.102104215656233 + 11.75448783953913 * i,
4421				-5.422875286593722 + 1.2121579275738696 * i,
4422				3.493710815798842 + 21.534228574343942 * i,
4423				-31.53389228815891 - 30.719681733785265 * i,
4424				41.63144097790006 - 53.69188867840383 * i,
4425				81.6366380610133 + 21.5968534963058 * i,
4426				33.11680676323306 + 41.11330820991645 * i,
4427				-43.196995695146654 - 19.833846341679106 * i,
4428				-8.636631020964414 - 47.8376687867875 * i,
4429				-51.69990763987627 - 33.67968172562482 * i,
4430				94.16593236076133 + 47.52054523010599 * i,
4431				-15.257517950543576 + 41.85246428126173 * i,
4432				-31.986191350862896 + 9.02101822926636 * i,
4433				-48.094299195154065 - 4.9627309424252175 * i,
4434				48.60088905761257 - 25.256557478778188 * i,
4435			],
4436			[
4437				40.29072488261545 + 33.92860240225368 * i,
4438				6.1863556099145 + 40.80297872436968 * i,
4439				5.16038554174466 + 5.762910322743437 * i,
4440				2.126527612378993 - 98.59300705073113 * i,
4441				74.44454189122632 + 43.91054025412538 * i,
4442				28.592325958610985 + 23.60796435535788 * i,
4443				-18.608223833060435 + 7.490304399971514 * i,
4444				-14.908113957881795 - 36.03140596336452 * i,
4445				-2.040982368869919 + 11.116160166929376 * i,
4446				6.507208773819286 + 6.935327375272017 * i,
4447				-31.27650122331218 - 20.045473108933933 * i,
4448				33.42771378589386 - 18.469669433978545 * i,
4449				70.99977959344504 + 26.00361496413273 * i,
4450				-19.125647773478505 - 67.69659704662561 * i,
4451				90.80139453407136 + 71.28907673363088 * i,
4452				29.96524003353747 + 26.19044437422844 * i,
4453				3.35787045090035 - 34.704140352274344 * i,
4454				-31.54932476611946 - 16.32916451560314 * i,
4455				-10.26511550887949 + 1.849779378953059 * i,
4456				-49.2667778950551 + 15.115831258736591 * i,
4457				-60.6765758386363 - 2.509538697295284 * i,
4458				28.487270551441668 - 27.22312588879754 * i,
4459				93.2325909864601 + 37.44809011638723 * i,
4460				6.0887431312373685 + 9.426394068784951 * i,
4461				-27.64943173212859 + 42.20623149569286 * i,
4462				-52.618124294424035 - 47.11071162419387 * i,
4463				-35.727008059586026 - 33.71808454737497 * i,
4464				-52.632902741170255 - 49.68907441462472 * i,
4465				-18.61881797518734 + 58.4464255214915 * i,
4466				-53.08381211363889 + 43.00204282082835 * i,
4467				-39.857973068297845 - 76.41554079581542 * i,
4468				-53.663042719481695 - 9.76484418798691 * i,
4469				84.26552992125795 - 29.774677995816383 * i,
4470				-14.556207837195167 - 41.02945401376737 * i,
4471				22.452041984021207 + 4.13536690160954 * i,
4472				11.835048664053346 - 11.442716223903275 * i,
4473				18.592469461368093 + 63.550930131221065 * i,
4474				-41.921486616577006 + 22.242064650423302 * i,
4475				-16.073918334481792 - 30.37255471226186 * i,
4476				-22.133400277821494 - 113.69464878085701 * i,
4477			],
4478			[
4479				-61.34229491359579 - 32.94069675585621 * i,
4480				21.731638139371363 + 39.41570364595369 * i,
4481				23.33392982361461 - 28.473470855421468 * i,
4482				54.58011168506856 - 22.16877541260736 * i,
4483				-25.6758884298346 - 66.35333143232201 * i,
4484				-19.96335878492861 + 25.155443970633144 * i,
4485				32.06547158024085 - 39.12369095720999 * i,
4486				-30.40186978847217 + 34.3778176346155 * i,
4487				3.95715363759534 + 30.583287157531117 * i,
4488				-9.846062497249221 + 40.505627786437145 * i,
4489				-37.749371296436806 + 6.105311731475041 * i,
4490				0.9788337464211736 + 31.400793926768664 * i,
4491				-2.937897928575012 + 28.521642099644765 * i,
4492				-6.69728844189561 + 43.086808693190335 * i,
4493				-93.43680395030827 - 15.343144372722463 * i,
4494				-35.32426886303202 - 42.98630717572277 * i,
4495				27.67928506606127 - 27.515119901007903 * i,
4496				-11.410782646610016 + 20.12172421361167 * i,
4497				-12.825050347523952 - 7.505734359525064 * i,
4498				62.528744046863395 - 55.854376857926724 * i,
4499				54.43344426194067 - 13.198789926589512 * i,
4500				-51.467385661757575 - 24.161340677411992 * i,
4501				-0.798839961300672 + 1.778392422646192 * i,
4502				-41.99942032797068 - 17.24436331698937 * i,
4503				-35.09493390448949 + 72.36632419155559 * i,
4504				31.413172642848455 - 21.41292942251953 * i,
4505				28.67506799882193 + 20.955279326982343 * i,
4506				43.094651851813374 + 44.62913488989466 * i,
4507				33.69099259259363 - 19.840664645243493 * i,
4508				73.14227629868375 + 3.9107537218389155 * i,
4509				27.42254492615038 + 50.136456612376946 * i,
4510				-6.961612521770725 + 34.95587172385608 * i,
4511				68.60353057720312 + 39.22681249543399 * i,
4512				8.046362349249737 + 5.876748458108061 * i,
4513				56.736742218102805 - 2.7861499309049123 * i,
4514				-35.2391297931044 + 49.61086009165956 * i,
4515				-60.03193309842085 - 34.17579053867348 * i,
4516				77.93073664615208 - 27.021479995354028 * i,
4517				-21.571792122625894 - 26.64749826087911 * i,
4518				59.35465627694965 + 7.463475901327525 * i,
4519			],
4520			[
4521				-11.50809060105854 - 74.12357128660885 * i,
4522				-25.296962220219996 - 2.3726157421070297 * i,
4523				47.61158045710991 + 21.835832577186807 * i,
4524				39.820266189675635 + 44.29409378808131 * i,
4525				-119.58036494026564 - 87.76710582487038 * i,
4526				-34.90688971539623 + 2.6401068402489614 * i,
4527				24.888105764309017 - 18.560149231756156 * i,
4528				8.826266590719115 + 73.49534580302989 * i,
4529				-9.827728268681284 + 2.0731676749570624 * i,
4530				34.29206760845268 - 7.985985942115434 * i,
4531				19.2979074838442 + 66.23893326241685 * i,
4532				9.822853735886383 + 51.86673472708438 * i,
4533				-44.59014205494799 + 21.527688685515898 * i,
4534				26.82682623910749 + 12.908684114856698 * i,
4535				-44.65345573916568 - 47.07766109805891 * i,
4536				6.490162521328813 + 13.84659288374337 * i,
4537				-18.164667338030057 + 51.46148201019167 * i,
4538				36.103508372868816 + 46.8902792705097 * i,
4539				-4.669682459559425 - 21.736283534250752 * i,
4540				-5.086914396994587 - 46.58558577347791 * i,
4541				-11.95569695015709 - 49.005208110384686 * i,
4542				-87.58602617073359 - 40.92372807661796 * i,
4543				-25.895060504122107 + 36.49000863364921 * i,
4544				-43.15850190844931 - 17.701553121786972 * i,
4545				50.65702908935986 + 58.94638419721778 * i,
4546				58.94685954198 - 59.37705601935524 * i,
4547				-7.422269193409804 + 4.824858218001676 * i,
4548				84.11096630894548 + 69.94739570921766 * i,
4549				-20.522976199742832 - 51.22686756729845 * i,
4550				-3.00392260272055 - 6.500905592227895 * i,
4551				9.48885150222603 + 55.61886322093645 * i,
4552				14.133515419235763 + 25.582080556078598 * i,
4553				38.35725530399099 + 40.806292165073735 * i,
4554				30.43828733269049 + 55.8597427985724 * i,
4555				3.5736337612659668 - 2.386953475504008 * i,
4556				-4.047487027433468 + 63.002325730098214 * i,
4557				-30.96370277405198 + 1.5383125768633263 * i,
4558				47.987821020381396 + 39.44107932107488 * i,
4559				-80.11129367572252 + 2.585079055852308 * i,
4560				26.01380538453138 + 23.408291265994116 * i,
4561			],
4562			[
4563				-57.550050102421665 - 4.869002012460442 * i,
4564				45.33679991719049 - 19.31293075656874 * i,
4565				-61.94316938919584 + 4.3506274846531525 * i,
4566				35.960982667151 - 38.18983864037145 * i,
4567				-1.9283202177613674 + 30.204119389063578 * i,
4568				14.517066142694716 - 4.6238019711800575 * i,
4569				10.276072903725478 - 44.58776088055066 * i,
4570				32.48713542372366 - 13.095611187673427 * i,
4571				-34.80920864156717 - 10.69107306405391 * i,
4572				-48.69452388576575 - 21.39227067865241 * i,
4573				-7.407667046930555 - 11.192664169439425 * i,
4574				7.563535409877744 - 13.943888286011555 * i,
4575				19.055604170156116 + 1.5018862639664121 * i,
4576				10.700705058249241 + 26.40219490226538 * i,
4577				-32.281511117325124 - 20.614213347317918 * i,
4578				-9.741232671254899 + 12.913759790644288 * i,
4579				58.56235775755262 + 7.552301662968688 * i,
4580				-27.11506722851849 - 29.1248811797019 * i,
4581				-28.578108644135284 + 0.7912104729229839 * i,
4582				35.489602536764636 + 30.811760722888224 * i,
4583				-49.14347138836839 + 55.93358479600633 * i,
4584				31.617843736827282 + 7.802807537404448 * i,
4585				14.091992689732944 + 22.4364784518897 * i,
4586				32.157088275155644 + 13.181980589024818 * i,
4587				28.73484945493007 - 70.27964680957551 * i,
4588				-24.889997256774006 - 35.98476247306483 * i,
4589				-14.072965689141384 - 21.117959317360288 * i,
4590				13.5791292354061 - 54.156488433521545 * i,
4591				-22.622704224192205 + 11.7845317826144 * i,
4592				29.247082890116616 - 31.038070774553578 * i,
4593				23.438154636802295 + 22.94881130697774 * i,
4594				18.118609940331005 + 23.69029048543273 * i,
4595				-27.479557334100296 + 39.35115251371793 * i,
4596				14.310438475729097 - 21.023120506329306 * i,
4597				-6.1290513136575875 - 22.944580798763425 * i,
4598				85.33068090613602 + 60.372768513243486 * i,
4599				-51.753871983167286 - 5.037291870166348 * i,
4600				-4.995493802670531 - 25.267970747246174 * i,
4601				58.08105129003811 + 5.358991397418642 * i,
4602				65.07188456423505 - 1.6130370795456976 * i,
4603			],
4604			[
4605				-40.99899632609345 - 23.952166622460823 * i,
4606				-3.8937554378175196 - 12.52956500101655 * i,
4607				-4.640865079858212 + 0.6291168356663661 * i,
4608				9.098682329554322 + 28.63048734411231 * i,
4609				-59.435390334018564 + 60.58502020021294 * i,
4610				-37.4820801312606 + 26.669459438067264 * i,
4611				16.371961911704602 + 2.901322796967179 * i,
4612				37.55671208462249 - 4.0170587482520395 * i,
4613				17.135816831746524 - 5.702724870606737 * i,
4614				-19.413243671525294 - 4.900065083970844 * i,
4615				-4.549613089146038 - 11.367298728928056 * i,
4616				23.479573949773453 - 19.390597878540383 * i,
4617				1.373089980752756 - 29.223947555784715 * i,
4618				7.884424733287773 + 4.213035920943689 * i,
4619				-20.899399122468125 + 7.313612298012288 * i,
4620				-34.705739404773794 + 31.10347171472381 * i,
4621				-11.768681446037817 + 24.308092578196806 * i,
4622				-25.440829345526843 + 25.420698707053305 * i,
4623				2.263263054412119 - 18.863447317655744 * i,
4624				-0.6245224607154682 - 12.933849721084044 * i,
4625				-44.33366219755102 - 26.195560242773468 * i,
4626				-5.294592820901222 + 41.223306070551985 * i,
4627				-14.772562992209425 + 11.66384300755557 * i,
4628				53.634332660028754 + 2.5866229198540935 * i,
4629				7.082960114477686 - 22.4621555082992 * i,
4630				-8.317087546330526 - 10.001805356511483 * i,
4631				-9.883932681273151 + 2.494607354244245 * i,
4632				18.829019785259106 - 2.9992349642114178 * i,
4633				-39.67302977410907 + 16.204845136954148 * i,
4634				52.356141337809575 - 44.90540090632044 * i,
4635				39.375159930393444 + 0.718610864862427 * i,
4636				13.769563641258891 - 0.362715410309022 * i,
4637				-18.651335399119834 + 13.001377829413508 * i,
4638				30.81235829591148 + 12.483957197715668 * i,
4639				-0.5795176189104438 + 30.273617166533924 * i,
4640				8.249143258284903 - 10.535310626335963 * i,
4641				-14.765907173102207 + 0.16389181285924437 * i,
4642				7.813371784502955 - 20.273886544616772 * i,
4643				14.890801633301027 + 26.776753963111823 * i,
4644				28.706483416806222 + 16.785133935275702 * i,
4645			],
4646			[
4647				-30.85966148554803 - 29.920836318623962 * i,
4648				-17.350580291743654 - 14.349009155319663 * i,
4649				39.887298340165216 - 3.295282288049947 * i,
4650				23.656954952456204 + 18.269105783477954 * i,
4651				-16.79494563013469 - 8.909125723409943 * i,
4652				-4.3143980008459835 + 30.282894132721268 * i,
4653				-7.193726098846909 + 22.062299931969932 * i,
4654				19.787523333676745 - 40.547775595862944 * i,
4655				-14.839709311099455 + 7.4578556930071045 * i,
4656				-5.568284189884835 + 20.467973144608074 * i,
4657				-23.57433915909879 - 7.173817514098644 * i,
4658				-21.59639564389604 - 5.708832196370324 * i,
4659				17.507293013979478 - 26.847742915095836 * i,
4660				51.53170069963929 + 19.307435620908038 * i,
4661				11.089984546068195 - 7.3925711282657005 * i,
4662				30.590916911097636 + 6.486224646836007 * i,
4663				11.138499745659939 - 45.831835535347125 * i,
4664				4.603092603090914 + 1.8882153085588413 * i,
4665				19.09021697933625 + 23.91759120405017 * i,
4666				80.74112332143179 - 27.883671535251153 * i,
4667				2.344095384983774 + 38.92607796217169 * i,
4668				-74.59371087197421 + 0.24914934796078114 * i,
4669				4.842651868553048 - 20.287106591425662 * i,
4670				21.506483933522276 + 13.459436826535406 * i,
4671				-45.98454901737034 - 34.984337804515775 * i,
4672				-24.575446621012347 + 3.3347282100393016 * i,
4673				25.990752417931333 + 16.92457084090057 * i,
4674				7.963567081260479 - 14.63591518417158 * i,
4675				18.681459033268652 + 1.3954769821164135 * i,
4676				-28.82821696717008 - 14.639268772158424 * i,
4677				-24.715288733399383 + 14.172286173010392 * i,
4678				56.28695048309481 + 5.316612557710393 * i,
4679				39.73828657470548 - 15.752077648989243 * i,
4680				26.69131590440496 + 63.55237723792064 * i,
4681				-44.85295367901015 + 18.251218503038807 * i,
4682				14.79823043153804 - 29.972735521807856 * i,
4683				-27.189242589448906 + 2.992160958540591 * i,
4684				13.689906660791463 + 13.502166801911159 * i,
4685				47.95082452657738 + 14.509572104410772 * i,
4686				63.64939975241785 - 6.308925452503188 * i,
4687			],
4688			[
4689				-13.636832655092547 + 66.96661548414401 * i,
4690				15.710878408855727 + 0.719108812189063 * i,
4691				10.221382837253694 - 26.329395470391887 * i,
4692				-6.720892988040475 - 52.8720492517555 * i,
4693				-29.36739174534695 + 75.23565394473363 * i,
4694				-6.956328983510115 + 8.940551448979704 * i,
4695				-34.91776943489802 - 7.218969087162122 * i,
4696				27.473099319602568 - 42.12174874759958 * i,
4697				20.814772082982927 + 16.07593804261772 * i,
4698				-5.226804321614971 - 8.558753792480395 * i,
4699				20.73607776807893 - 40.42646904155305 * i,
4700				49.0675597324163 + 0.39138635008731626 * i,
4701				20.460266384253167 + 7.5633613415770995 * i,
4702				41.26622412057178 - 31.951009056252374 * i,
4703				-37.56088515845397 + 100.51131949771474 * i,
4704				-49.36454902532041 - 13.725383573662953 * i,
4705				13.193709635913269 - 14.674154535740108 * i,
4706				-7.612596674622949 - 49.89214425946085 * i,
4707				-3.4743329067482023 + 27.108185008032816 * i,
4708				-49.662882122157825 - 9.26867597700889 * i,
4709				15.512059312702284 - 40.505518962201144 * i,
4710				6.549034758360165 + 41.3143307726952 * i,
4711				12.808556623578589 + 25.557925661842233 * i,
4712				-1.0598692251339514 + 29.192495094327967 * i,
4713				43.00276923886056 - 50.03213551402932 * i,
4714				-65.5012246825863 - 27.938762354070576 * i,
4715				5.516419609426272 - 22.9780724160305 * i,
4716				-18.939131975615823 - 60.0527050785889 * i,
4717				-14.469245538176693 - 5.78175804469393 * i,
4718				24.509028416307736 + 13.733403282245149 * i,
4719				39.56349737671232 - 56.66311656875321 * i,
4720				-15.215918144565258 - 36.133198411991955 * i,
4721				11.3269040971646 - 50.82442043789421 * i,
4722				0.3381219540496403 - 50.23043486533197 * i,
4723				11.278870361258617 - 17.83703880329092 * i,
4724				26.927159276798346 - 43.62251481900854 * i,
4725				15.12048418425836 + 23.43675315777416 * i,
4726				9.858277696026871 - 72.11599681895993 * i,
4727				-10.92672903763888 + 53.00150764387699 * i,
4728				-32.185285217371124 - 40.429036666838364 * i,
4729			],
4730			[
4731				4.158782062488797 - 64.37854064199206 * i,
4732				-48.50542390135236 + 15.73182613367213 * i,
4733				72.22086316318163 - 12.734145498393445 * i,
4734				15.817725368175324 + 104.1078331197341 * i,
4735				-115.06196395821841 - 74.52794612252214 * i,
4736				-72.18123952634483 + 11.468304840511507 * i,
4737				45.959377892317576 + 95.72510423378517 * i,
4738				29.194053505458783 + 49.40810267271604 * i,
4739				19.383827624146576 + 9.002707677736417 * i,
4740				50.16683393451059 - 29.437608671418843 * i,
4741				56.64919149491635 - 13.471395684299239 * i,
4742				-7.744096615263544 + 46.012388320191434 * i,
4743				24.18286624688844 + 3.850365873524808 * i,
4744				20.177469629547545 + 13.577673454776814 * i,
4745				-25.04725242182705 - 49.199689061519656 * i,
4746				-13.768676901595917 - 6.912453185623335 * i,
4747				-7.922488009656464 + 64.55877521071126 * i,
4748				96.05752757269602 + 29.362928799714012 * i,
4749				6.779018449863351 - 2.463166353980057 * i,
4750				-63.97575572062498 - 60.14547978884191 * i,
4751				-6.98605212402768 - 58.833081212916596 * i,
4752				-68.30229336523823 + 17.001295921246687 * i,
4753				-72.19049511967421 + 10.668887729884744 * i,
4754				-19.08334951611179 + 1.8270546774787313 * i,
4755				114.16072573865213 + 66.48844797037329 * i,
4756				56.99074022681114 - 98.6387956200331 * i,
4757				46.20260434292837 + 15.278344208625919 * i,
4758				96.85769784793642 + 80.89876634573253 * i,
4759				34.746244631719776 - 22.965114227116672 * i,
4760				-21.328510372777252 + 57.4987865122778 * i,
4761				-15.7837947486992 - 4.3119404159498735 * i,
4762				40.638494455211124 - 17.644427595152962 * i,
4763				5.8592045201312715 - 62.63249058831346 * i,
4764				67.02222120422873 + 118.10522980760922 * i,
4765				7.882659604092991 + 24.991512134943722 * i,
4766				-56.521821945467295 - 49.28910358899675 * i,
4767				33.37726701047976 - 35.79426820081556 * i,
4768				74.56517093833698 + 45.586107809132855 * i,
4769				-118.80258925281726 + 81.01946225102868 * i,
4770				-30.278339726933375 + 79.23489485087187 * i,
4771			],
4772			[
4773				29.020264278714876 - 14.199742927175102 * i,
4774				-2.430156324883967 + 23.117421150400077 * i,
4775				-2.6232689256916615 - 5.580129370248914 * i,
4776				7.6360946961896055 - 17.07712326206807 * i,
4777				-6.326121195754411 - 114.46920822083251 * i,
4778				-9.619597668400154 - 48.68865087342945 * i,
4779				-22.460543340523557 + 5.5136385425726075 * i,
4780				-78.16564920409829 + 84.07709500425858 * i,
4781				49.34903989754312 + 12.016385991786251 * i,
4782				78.63146712639696 - 18.721332677745423 * i,
4783				10.652568753289984 + 56.87985119530748 * i,
4784				-41.9252327699932 + 45.96996568741376 * i,
4785				24.75785596963197 + 23.632731374222317 * i,
4786				-6.098211032192193 - 30.009490918381005 * i,
4787				28.750554807277325 - 43.28823944874304 * i,
4788				32.763478884421346 - 19.289875330166694 * i,
4789				-79.8323355899991 - 4.691599426672866 * i,
4790				28.34091553330328 - 0.8020886309732731 * i,
4791				19.35745660586204 - 21.1798590738013 * i,
4792				-40.80465137871802 - 31.20413613069012 * i,
4793				46.49124887962297 - 46.228290948545485 * i,
4794				-19.174959869330777 - 53.56762833016502 * i,
4795				17.157311102207245 + 28.04460209459124 * i,
4796				-17.262881869748732 + 11.307108368978026 * i,
4797				-8.575660041923456 + 126.17788204733422 * i,
4798				50.14383730075204 - 4.084777301450956 * i,
4799				-4.168951527705104 - 16.906766911642322 * i,
4800				10.325575633104549 + 90.71572124262512 * i,
4801				-3.4594332435024526 - 61.83525077447947 * i,
4802				-66.74434926108822 + 39.44189535495606 * i,
4803				-38.070220046259706 + 26.43246640789051 * i,
4804				6.338839751387681 + 3.19971005519956 * i,
4805				6.922972512095463 + 32.80910049481056 * i,
4806				-22.01037644984361 + 50.509238396198924 * i,
4807				-18.958833732673924 + 10.276005903325881 * i,
4808				-30.891643978002413 + 35.31956533955065 * i,
4809				9.212918917981337 - 22.269422801901676 * i,
4810				2.5566393877229254 + 37.595103958950354 * i,
4811				-67.0685311723968 - 44.019006431020074 * i,
4812				-24.00785268016788 - 25.36034547703837 * i,
4813			],
4814			[
4815				-13.211416135469996 + 41.951520937157966 * i,
4816				29.287101673636634 - 9.162628305468985 * i,
4817				5.108397345052012 - 43.57043028843542 * i,
4818				-5.719379757654053 - 32.25876860224872 * i,
4819				35.31355844261981 + 34.85727439321789 * i,
4820				53.5644965212112 + 54.72812003923711 * i,
4821				13.892272937320357 - 38.5086132357946 * i,
4822				22.41596128098773 - 65.01076715828856 * i,
4823				27.578998281957013 - 55.312355600985825 * i,
4824				-29.143233640630974 - 2.412811321612992 * i,
4825				-56.55638117023184 + 15.792954396317537 * i,
4826				2.927518517416928 - 35.92936463906324 * i,
4827				-61.745766864030664 - 52.096549246455375 * i,
4828				6.4154322191591575 + 11.554631665796371 * i,
4829				-2.209010025447924 - 19.327946979940176 * i,
4830				-6.926202276578692 + 6.671588917549684 * i,
4831				-42.953265865881974 + 23.0145825406142 * i,
4832				-32.23184179691662 - 29.161043334160297 * i,
4833				-20.35122194222305 - 2.6819436620743815 * i,
4834				9.591727193768577 + 37.04740251256568 * i,
4835				-30.72489779095602 + 3.295685212498114 * i,
4836				-28.46644402098077 + 33.15580231087127 * i,
4837				23.617282931071145 - 58.10847503252987 * i,
4838				14.929738152078983 - 2.0126692695147455 * i,
4839				27.00027265084705 + 37.28939256287889 * i,
4840				-32.75480210032184 + 78.97106904413369 * i,
4841				-19.909512246706193 - 14.286797688983107 * i,
4842				-35.19470430698671 - 44.239228263599614 * i,
4843				22.729726961380003 + 9.209352310110368 * i,
4844				54.227754957839736 - 36.836906506258174 * i,
4845				-41.968744203095994 + 11.906641097530922 * i,
4846				-21.054350649290292 - 5.35627500744134 * i,
4847				-21.53831614444494 - 34.79788428767433 * i,
4848				-29.148945175947887 - 46.29095305917917 * i,
4849				20.951194059556713 - 17.191483440705753 * i,
4850				-25.40359822630483 + 33.3207279701501 * i,
4851				-20.508410861296316 + 35.123345845623 * i,
4852				31.908848786822723 - 86.29171790195822 * i,
4853				64.04990903476033 + 7.139766550292478 * i,
4854				-53.73175092624056 - 68.0266773244694 * i,
4855			],
4856			[
4857				-31.07693246918978 + 22.298947857931793 * i,
4858				43.503435093929035 - 11.88430785516509 * i,
4859				13.236065490387233 - 16.162001182145644 * i,
4860				40.389914091923444 - 24.95630156826025 * i,
4861				-44.55665999561507 - 1.2890855508178163 * i,
4862				-5.401783260055595 + 31.247395370004767 * i,
4863				-7.794962284389607 - 18.939505013934422 * i,
4864				25.289982351683847 + 40.07997434159475 * i,
4865				15.731584801680143 + 20.18082952891806 * i,
4866				36.95965399701333 - 32.71103389245309 * i,
4867				2.28086742369058 - 12.86079231167895 * i,
4868				7.331971090941579 + 10.999894779383382 * i,
4869				22.958205509017617 + 12.948033720947919 * i,
4870				24.575766746955857 - 11.648277658567586 * i,
4871				18.12031366910233 + 61.23988669347962 * i,
4872				-46.929661022049316 + 20.099911012294214 * i,
4873				-17.96720343708418 - 42.53291307203543 * i,
4874				-31.996327482300103 + 9.373133016637919 * i,
4875				27.023860159767242 + 5.113869040537111 * i,
4876				17.029537291856464 - 82.33720769110722 * i,
4877				-11.420545522824675 - 67.06582542470075 * i,
4878				-10.180292317265497 + 20.540783000138703 * i,
4879				-30.345348986029425 + 56.727488500538804 * i,
4880				0.8035832364545286 + 20.502414144808128 * i,
4881				-42.48919428020813 - 23.968097440814873 * i,
4882				11.253595495328298 - 32.740405358950575 * i,
4883				26.45500638783109 - 21.9576494910674 * i,
4884				21.598377134333457 - 0.6405425291244597 * i,
4885				14.35627243011723 - 39.39628030376109 * i,
4886				30.920588023011756 - 52.34737650914744 * i,
4887				34.92881813258915 - 28.572001308435105 * i,
4888				40.50406759029518 - 6.594263316072144 * i,
4889				13.064047387769975 - 17.06519931493132 * i,
4890				21.9944466549845 + 7.573033513537439 * i,
4891				-0.5986376091863406 - 42.279821798624525 * i,
4892				-28.346857638440106 + 36.68691508529607 * i,
4893				-7.398799500691627 + 11.718026533673715 * i,
4894				24.760291448568754 - 0.7918836640538416 * i,
4895				-29.95001739590883 - 30.378495238579994 * i,
4896				90.98472995390726 - 29.10886695441996 * i,
4897			],
4898			[
4899				-40.25963601878951 - 62.64777175089944 * i,
4900				6.214037286628837 + 25.628326182386644 * i,
4901				47.23307971549795 - 23.69660799763591 * i,
4902				88.42929655937778 + 28.782035522328954 * i,
4903				-17.47282730214239 - 70.97686111921425 * i,
4904				-24.458949148286678 + 18.503439196107195 * i,
4905				30.98671950870576 - 4.554370597875746 * i,
4906				21.71647131852896 + 39.3763636569602 * i,
4907				0.08430663951475736 + 1.2224286918491316 * i,
4908				15.778746128625627 - 10.047068987823607 * i,
4909				-16.86868864966445 - 23.6569545924675 * i,
4910				1.798134997187674 + 42.55574017812603 * i,
4911				-24.06535717974631 + 14.493063095263253 * i,
4912				13.696492214723108 + 64.5146569530664 * i,
4913				-32.43654496456537 - 67.36607144674804 * i,
4914				-11.84860501948333 - 48.740846758974385 * i,
4915				-9.381429296027989 + 4.42157191149488 * i,
4916				30.73163858464374 - 17.346352565950582 * i,
4917				-24.72122121765969 - 22.06556757272523 * i,
4918				51.76602173320938 - 11.176510974756653 * i,
4919				36.867309752718306 - 37.541800605160816 * i,
4920				-38.956154647563025 - 29.733316627038207 * i,
4921				-53.185575536718474 + 6.6771986367810285 * i,
4922				-41.860363462219894 + 2.9865746808951883 * i,
4923				-18.710855165599916 + 87.06731802293524 * i,
4924				71.77694667728251 - 21.126775466922524 * i,
4925				63.827447837065115 - 15.02670877943666 * i,
4926				62.58444401756677 + 36.09211161804461 * i,
4927				49.99727272529665 - 38.86683532936699 * i,
4928				43.67240875925811 + 37.90266489693023 * i,
4929				3.491307357293053 + 23.461636436328618 * i,
4930				15.836838080040557 + 16.04882223161198 * i,
4931				20.521286972956517 + 8.384317900191432 * i,
4932				20.820757325911075 + 7.016190024984741 * i,
4933				42.896549861459526 - 4.974308517481049 * i,
4934				-65.64027519170588 + 59.888425961409084 * i,
4935				-46.94690438439747 - 37.13962589387811 * i,
4936				98.91952407930265 + 12.519509819791068 * i,
4937				-31.879155388724172 + 9.191463000504049 * i,
4938				71.62026804691611 + 22.27809178319523 * i,
4939			],
4940			[
4941				-12.04353224674183 - 8.31187930570298 * i,
4942				-19.358018763263487 - 21.893440110915847 * i,
4943				8.572414295855168 - 17.050826090022326 * i,
4944				32.22420645303372 + 2.713588640408304 * i,
4945				-6.887459524672408 + 1.7126217221695939 * i,
4946				39.51684899959989 - 10.571546818946272 * i,
4947				-6.634061729901589 - 18.45511681538524 * i,
4948				18.27461612242951 - 38.16432925320339 * i,
4949				-2.161565943400346 - 9.22608177796939 * i,
4950				-10.756414063240456 - 0.9584084409136722 * i,
4951				-0.9218215824084837 - 2.4105755073021875 * i,
4952				19.293858468371525 + 18.189504497999835 * i,
4953				-33.26498375161637 + 17.18843344694838 * i,
4954				48.28068231900177 + 2.5251362844498573 * i,
4955				15.876688933154085 - 16.563617783574337 * i,
4956				10.071645982925958 - 11.458875522558927 * i,
4957				-4.373597621973289 - 4.931293504945643 * i,
4958				30.18989546916572 - 22.66579070674601 * i,
4959				-11.682224193123801 - 10.207725389472301 * i,
4960				-1.6463836307005089 - 3.3216391457421537 * i,
4961				7.8306004389795305 + 19.108676304972462 * i,
4962				-20.677758981818073 + 9.278389513156107 * i,
4963				3.124101268135206 + 4.149036275712234 * i,
4964				-36.335459695662614 + 17.248575047880703 * i,
4965				-51.937241874384455 + 10.923633349041431 * i,
4966				-4.628861429076764 + 8.680817703812977 * i,
4967				21.834641980861676 - 22.835221490431692 * i,
4968				12.744243220084002 - 26.231317796529027 * i,
4969				-2.38897215556689 - 38.88707207701086 * i,
4970				-15.278555991400822 + 9.945012703950283 * i,
4971				-14.700678875786242 + 11.059241025999093 * i,
4972				12.340864525292261 - 14.004822334333454 * i,
4973				-8.044891094671073 - 19.108026457751237 * i,
4974				34.716113879257115 - 19.730020611071946 * i,
4975				-21.62478136892574 + 7.993531737025805 * i,
4976				35.28765006264224 + 27.03943710952273 * i,
4977				-23.713276920119192 + 26.02563895029239 * i,
4978				38.70701054111705 - 10.504807061663824 * i,
4979				-1.466945281101271 + 0.3779290617959692 * i,
4980				24.139474430708862 - 60.817958570889864 * i,
4981			],
4982			[
4983				51.100228727799376 + 37.22654371536027 * i,
4984				32.46268087256175 - 32.82422603130783 * i,
4985				-29.44413268485738 + 15.765319502259104 * i,
4986				-39.395273433537724 - 25.818110853275662 * i,
4987				91.1918363550727 - 24.09689836725063 * i,
4988				83.4549967540554 - 20.34134879703427 * i,
4989				14.845553062520082 - 17.329688701627873 * i,
4990				-57.79299873582244 - 61.6190659268681 * i,
4991				-11.341895639832885 - 29.389275980068188 * i,
4992				-6.103606129159111 + 2.6732605138042516 * i,
4993				-30.639674305109082 + 38.30047965862747 * i,
4994				-32.52405690925754 - 1.147975907681655 * i,
4995				-60.91464903420922 + 3.3569835263393486 * i,
4996				0.9465373318364527 - 12.319332957187953 * i,
4997				74.55664621734081 - 18.56283082736708 * i,
4998				17.803562763968827 - 23.82546060059542 * i,
4999				-51.806669208246944 - 30.915651046889167 * i,
5000				-62.162718932301345 - 32.517877652384755 * i,
5001				36.98331909299938 - 8.453357560368715 * i,
5002				25.670062202629836 + 14.042422507005398 * i,
5003				21.722934057138772 + 12.849989979431058 * i,
5004				40.15558451876862 + 12.329157892817022 * i,
5005				-9.139517533292345 - 25.743989625176226 * i,
5006				-4.468120791789221 - 13.755867478499477 * i,
5007				-69.01712528118367 + 8.639846913771777 * i,
5008				10.839156913536948 + 75.26051799617554 * i,
5009				-37.746419555778104 - 15.850150517077978 * i,
5010				-68.64741450018217 - 20.527021740042183 * i,
5011				-15.434262576161444 - 28.137900034870583 * i,
5012				13.210389026964918 + 4.156278279710207 * i,
5013				-45.62063377733667 + 31.0877877497326 * i,
5014				-26.1631431584863 - 12.079306214684529 * i,
5015				-78.11257536327938 - 2.0945118991163714 * i,
5016				-48.602415683300734 - 50.252561412350786 * i,
5017				-36.63139136867553 - 10.753264854693908 * i,
5018				-4.413610245696162 + 48.86992836326893 * i,
5019				-9.688690027055344 + 55.27630347193527 * i,
5020				-49.44780929458748 + 8.589562480583625 * i,
5021				81.94654000279007 - 97.13615598710763 * i,
5022				1.9811020394914598 - 53.536238319414494 * i,
5023			],
5024			[
5025				-52.26002756952291 - 12.420745406989852 * i,
5026				-48.649220026936035 + 7.357476578955215 * i,
5027				38.787613829805125 + 10.060178851506798 * i,
5028				66.73096163304089 - 29.035248735396436 * i,
5029				-61.64298521757553 - 18.69502418563181 * i,
5030				-29.453498465992812 + 17.273712641503778 * i,
5031				-23.978289374625334 + 5.426227955442368 * i,
5032				-22.187325339436626 + 7.616246279667706 * i,
5033				0.23983491995083472 + 29.039311850170208 * i,
5034				-23.98539518469839 + 22.208046420756617 * i,
5035				-21.949181055868166 - 6.377838450298583 * i,
5036				-3.7265685887609905 + 37.45221650597609 * i,
5037				-4.143690915425717 + 24.28814333995993 * i,
5038				31.38920960676393 + 12.194486215746437 * i,
5039				-79.51417920753015 - 16.50518165970584 * i,
5040				32.71507304910372 - 11.776944279561476 * i,
5041				17.17306580323782 - 14.977922134779789 * i,
5042				6.885898385994769 - 10.98778009512454 * i,
5043				-8.275369291448726 - 1.9605494472583729 * i,
5044				19.48762176513239 - 54.32936286437996 * i,
5045				44.357911062016996 - 3.9032778083657718 * i,
5046				-44.97315666672529 - 6.184203147927221 * i,
5047				-6.058516855245614 + 27.83425935490075 * i,
5048				-2.050191134621514 - 16.210824046071107 * i,
5049				-60.30984541807075 + 73.2259570501726 * i,
5050				17.61949960977492 - 35.141160821726814 * i,
5051				5.115244950064259 + 10.874296478175332 * i,
5052				55.83189663550353 + 10.363015579614597 * i,
5053				-24.990503094223847 - 21.874177365821854 * i,
5054				-10.097267728879046 - 8.658355090659887 * i,
5055				17.767114705732443 + 39.570479820025625 * i,
5056				29.577401265203108 - 25.912819592353227 * i,
5057				57.09539968262975 + 82.31124802224056 * i,
5058				30.92321422368017 - 3.8563763701881157 * i,
5059				8.845784787148993 + 37.3323860605405 * i,
5060				5.002676757558589 - 7.182096583667285 * i,
5061				-51.886884166861805 + 16.09726666941668 * i,
5062				47.074640241096716 - 32.6760384906439 * i,
5063				-16.303505294511297 - 13.412914880672735 * i,
5064				43.70182473837136 - 32.15973260778437 * i,
5065			],
5066		];
5067		let (m, n) = A.shape();
5068		let mut QR = A.clone();
5069		let mut H = Mat::zeros(20, A.ncols());
5070		qr_in_place(
5071			QR.rb_mut(),
5072			H.rb_mut(),
5073			Par::Seq,
5074			MemStack::new(&mut MemBuffer::new(qr_in_place_scratch::<c64>(
5075				A.nrows(),
5076				A.ncols(),
5077				20,
5078				ParShape::Seq,
5079				default(),
5080			))),
5081			default(),
5082		);
5083		let approx_eq = CwiseMat(ApproxEq {
5084			abs_tol: 1e-10,
5085			rel_tol: 1e-10,
5086		});
5087		let mut Q = Mat::<c64>::zeros(m, m);
5088		let mut R = QR.as_ref().cloned();
5089		for j in 0..m {
5090			Q[(j, j)] = c64::ONE;
5091		}
5092		householder::apply_block_householder_sequence_on_the_left_in_place_with_conj(
5093			QR.rb(),
5094			H.rb(),
5095			Conj::No,
5096			Q.as_mut(),
5097			Par::Seq,
5098			MemStack::new(&mut MemBuffer::new(
5099				householder::apply_block_householder_sequence_transpose_on_the_left_in_place_scratch::<c64>(m, 20, m),
5100			)),
5101		);
5102		for j in 0..n {
5103			for i in j + 1..m {
5104				R[(i, j)] = c64::ZERO;
5105			}
5106		}
5107		assert!(Q * R ~ A);
5108		let QR = A.qr(Par::Seq).reconstruct(Par::Seq);
5109		assert!(QR ~ A);
5110	}
5111
5112	/// A column block of exactly zero columns retains no reflectors, so it has no trailing update
5113	/// to make. `A1.ncols() > 0` used to be the only condition there, so the block reached the
5114	/// block Householder apply with an empty basis and panicked in rayon --
5115	/// [tensor4all/faer#51](https://github.com/tensor4all/faer/issues/51). The threaded
5116	/// factorization must produce the sequential one.
5117	#[test]
5118	fn zero_column_block_does_not_panic_with_threads() {
5119		let pool = rayon::ThreadPoolBuilder::new()
5120			.num_threads(2)
5121			.build()
5122			.unwrap();
5123		let (m, n, zero, block_size) = (256usize, 96usize, 32usize, 32usize);
5124		let mut s = 12345u64;
5125		let a = Mat::<f64>::from_fn(m, n, |_, j| {
5126			s = s
5127				.wrapping_mul(6364136223846793005)
5128				.wrapping_add(1442695040888963407);
5129			if j < zero {
5130				0.0
5131			} else {
5132				(s >> 11) as f64 / (1u64 << 53) as f64 - 0.5
5133			}
5134		});
5135		let factor = |mut par: Par| {
5136			let mut qr = a.cloned();
5137			let mut h = Mat::<f64>::zeros(block_size, n);
5138			let par_shape = par.shape();
5139			let info = qr_in_place(
5140				qr.as_mut(),
5141				h.as_mut(),
5142				par.reborrow(),
5143				MemStack::new(&mut MemBuffer::new(
5144					qr_in_place_scratch::<f64>(m, n, block_size, par_shape, default()),
5145				)),
5146				default(),
5147			);
5148			(info, qr)
5149		};
5150		let approx_eq = CwiseMat(ApproxEq {
5151			abs_tol: 1e-10,
5152			rel_tol: 1e-10,
5153		});
5154		let (info_seq, qr_seq) = factor(Par::Seq);
5155		let (info_par, qr_par) = pool.install(|| factor(Par::rayon(2)));
5156		assert!(info_seq.rank == n - zero);
5157		assert!(info_par.rank == info_seq.rank);
5158		assert!(qr_par.as_ref() ~ qr_seq.as_ref());
5159	}
5160}