summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason Linehan <patientulysses@gmail.com>2015-08-25 07:09:28 -0400
committerJason Linehan <patientulysses@gmail.com>2015-08-25 07:09:28 -0400
commit70a4d1c7c4e3c2bf4a89e6a21bcaa4277db9544d (patch)
tree2e968fbf629317ee9c5478be2f73c1600c60e3f3
downloadhug-70a4d1c7c4e3c2bf4a89e6a21bcaa4277db9544d.tar.gz
hug-70a4d1c7c4e3c2bf4a89e6a21bcaa4277db9544d.tar.bz2
hug-70a4d1c7c4e3c2bf4a89e6a21bcaa4277db9544d.zip
First commit
-rw-r--r--.gitignore43
-rw-r--r--Makefile79
-rw-r--r--asm/paq7asm-x86_64.asm102
-rw-r--r--asm/paq7asm-x86_64.obin0 -> 912 bytes
-rw-r--r--asm/paq7asm.asm140
-rw-r--r--asm/paq7asmsse.asm93
-rw-r--r--coder.c261
-rw-r--r--coder.h20
-rw-r--r--dat/catcsf.txt486
-rw-r--r--dat/csf.txt243
-rw-r--r--doc/Makefile8
-rw-r--r--doc/doc.tex687
-rw-r--r--log/ac.log0
-rw-r--r--log/ac.log.num11498
-rw-r--r--log/ac.plot3
-rw-r--r--log/model.log0
-rw-r--r--log/nn.log0
-rwxr-xr-xlog/plot.sh3
-rw-r--r--log/sse.log0
-rw-r--r--main.c350
-rw-r--r--mixer.c270
-rw-r--r--mixer.h26
-rw-r--r--model.c226
-rw-r--r--model.h10
-rw-r--r--predictor.c217
-rw-r--r--predictor.h8
-rw-r--r--util.c269
-rw-r--r--util.h79
28 files changed, 15121 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..6d6bcbc
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,43 @@
+# Junk left behind by...
+# autotools
+ doc/*.aux
+ doc/*.log
+ doc/*.pdf
+ doc/*.out
+ doc/*.pyg
+ doc/.Makefile.sw*
+ doc/.*.sw*
+ *.o
+ */*/*.o
+ depcomp
+ install-sh
+ missing
+ configure
+ config.status
+
+# gprof
+ *.out
+ */*.out
+
+# objdump
+ *.s
+
+# vim
+ *.swp
+ .*.sw*
+
+# Big files that shouldn't be accidentally committed
+ *.pdf
+ *.djvu
+ *.jpg
+ *.jpeg
+ *.Jpg
+ *.Jpeg
+ *.JPG
+ *.JPEG
+ *.gif
+ *.Gif
+ *.GIF
+ *.png
+ *.Png
+ *.PNG
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..6cb697e
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,79 @@
+#########################
+# Configure build
+#########################
+
+CPP_COMPILER=gcc
+ASM_COMPILER=yasm
+
+#
+# optimize
+# level 3
+# \
+CC_FLAGS=-O3 -s -fomit-frame-pointer -DUNIX #-ffast-math
+LD_FLAGS=-lm
+# /
+# math
+#
+# NOTE on -ffast-math
+#
+# First, breaks strict IEEE compliance, e.g. allows re-ordering of
+# instructions to a mathematical equivalent, which may not be IEEE
+# floating-point equivalent.
+#
+# Second, disables setting errno after single-instruction math functions,
+# avoiding a write to a thread-local variable (can produce 100% speedup on
+# certain architectures).
+#
+# Third, assumes finite math only, meaning no checks for NaN (or 0) are
+# made where they would normally be. It is assumed these values will never
+# appear.
+#
+# Fourth, enables reciprocal approximations for division and reciprocal
+# square root.
+#
+# Fifth, disables signed zero (even if the compile target supports it)
+# and rounding math, which enables optimizations e.g. constant folding.
+#
+# Sixth, generates code assuming no hardware interrupts occur in math
+# due to signal()/trap(). If these cannot be disabled on the compile
+# target and consequently occur, they will not be handled.
+#
+
+#########################
+# Configure files
+#########################
+
+HUG_SOURCES=main.c \
+ util.c \
+ coder.c \
+ mixer.c \
+ predictor.c \
+ model.c \
+
+
+HUG_OBJECTS=$(HUG_SOURCES:.c=.o)
+
+
+ASM_SOURCES=asm/paq7asm-x86_64.asm
+ASM_OBJECTS=$(ASM_SOURCES:.asm=.o)
+
+#########################
+# Configure rules
+#########################
+
+all: hug
+
+test: hug
+ ./gypsy dat/csf.txt
+ ./gypsy -d csf.txt.zpaq csf.out
+ diff csf.out dat/csf.txt
+ rm csf.out csf.txt.zpaq
+
+hug: $(HUG_SOURCES) asm
+ $(CPP_COMPILER) $(CC_FLAGS) $(HUG_SOURCES) $(ASM_OBJECTS) -o gypsy
+
+asm: $(ASM_SOURCES)
+ $(ASM_COMPILER) $(ASM_SOURCES) -f elf -m amd64
+
+clean:
+ rm -f $(HUG_OBJECTS) $(ASM_OBJECTS) gypsy gmon.out
diff --git a/asm/paq7asm-x86_64.asm b/asm/paq7asm-x86_64.asm
new file mode 100644
index 0000000..a0754a6
--- /dev/null
+++ b/asm/paq7asm-x86_64.asm
@@ -0,0 +1,102 @@
+; YASM x86-64 assembly language code for PAQ7/8 ver. 2, Jan 18, 2007
+;
+; (C) 2005-2007, Matt Mahoney, Matthew Fite.
+; This is free software under GPL, http://www.gnu.org/licenses/gpl.txt
+;
+; This code was tested on an Athlon-64 under Ubuntu Linux 2.6.15.27.amd64-generic
+; with paq8f and paq8jd. It should work with any PAQ version since paq7,
+; because all versions use the same paq7asm.asm code for 32 bit Windows/Linux
+; versions. To compile e.g. paq8jd in Linux:
+;
+; yasm paq7asm-x86_64.asm -f elf -m amd64
+; g++ -O3 -s -fomit-frame-pointer -DUNIX paq8jd.cpp paq7asm-x86_64.o -o paq8jd
+;
+; This code has not been tested in Windows. (You would need XP Professional
+; 64 bit edition and a 64 bit compiler).
+
+section .text
+
+BITS 64
+
+; Vector product a*b of n signed words, returning signed dword scaled
+; down by 8 bits. n is rounded up to a multiple of 8.
+
+ global dot_product ; (short* a, short* b, int n)
+ align 16
+dot_product:
+ mov rcx, rdx ; n
+ mov rax, rdi ; a
+ mov rdx, rsi ; b
+ add rcx, 7 ; n rounding up
+ and rcx, -8
+ jz .done
+ sub rax, 16
+ sub rdx, 16
+ pxor xmm0, xmm0 ; sum = 0
+.loop: ; each loop sums 4 products
+ movdqa xmm1, [rax+rcx*2] ; put parital sums of vector product in xmm1
+ pmaddwd xmm1, [rdx+rcx*2]
+ psrad xmm1, 8
+ paddd xmm0, xmm1
+ sub rcx, 8
+ ja .loop
+ movdqa xmm1, xmm0 ; add 4 parts of xmm0 and return in eax
+ psrldq xmm1, 8
+ paddd xmm0, xmm1
+ movdqa xmm1, xmm0
+ psrldq xmm1, 4
+ paddd xmm0, xmm1
+ movd rax, xmm0
+.done
+ ret
+
+; Train n neural network weights w[n] on inputs t[n] and err.
+; w[i] += (t[i]*err*2 >> 16)+1 >> 1 bounded to +- 32K.
+; n is rounded up to a multiple of 8.
+
+;1st arg rdi -> *t
+;2nd arg rsi -> *w
+;3rd arg rdx -> n
+;4th arg rcx -> err (signed 16 bits)
+
+ global train ; (short* t, short* w, int n, int err)
+ BITS 64
+ align 16
+train:
+ mov rax, rcx ; err
+ and rax, 0xffff ; put 8 copies of err in xmm0
+ movd xmm0, rax
+ movd xmm1, rax
+ pslldq xmm1, 2
+ por xmm0, xmm1
+ movdqa xmm1, xmm0
+ pslldq xmm1, 4
+ por xmm0, xmm1
+ movdqa xmm1, xmm0
+ pslldq xmm1, 8
+ por xmm0, xmm1;
+ pcmpeqb xmm1, xmm1 ; 8 copies of 1 in xmm1
+ psrlw xmm1, 15
+ mov rcx, rdx ; n
+ mov rax, rdi ; t
+ mov rdx, rsi ; w
+ add rcx, 7 ; n/8 rounding up
+ and rcx, -8
+ sub rax, 16
+ sub rdx, 16
+ jz .done
+ align 16
+.loop: ; each iteration adjusts 8 weights
+ movdqa xmm2, [rdx+rcx*2] ; w[i]
+ movdqa xmm3, [rax+rcx*2] ; t[i]
+ paddsw xmm3, xmm3 ; t[i]*2
+ pmulhw xmm3, xmm0 ; t[i]*err*2 >> 16
+ paddsw xmm3, xmm1 ; (t[i]*err*2 >> 16)+1
+ psraw xmm3, 1 ; (t[i]*err*2 >> 16)+1 >> 1
+ paddsw xmm2, xmm3 ; w[i] + xmm3
+ movdqa [rdx+rcx*2], xmm2
+ sub rcx, 8
+ ja .loop
+.done:
+ ret
+
diff --git a/asm/paq7asm-x86_64.o b/asm/paq7asm-x86_64.o
new file mode 100644
index 0000000..8bcd970
--- /dev/null
+++ b/asm/paq7asm-x86_64.o
Binary files differ
diff --git a/asm/paq7asm.asm b/asm/paq7asm.asm
new file mode 100644
index 0000000..82d55a7
--- /dev/null
+++ b/asm/paq7asm.asm
@@ -0,0 +1,140 @@
+; NASM assembly language code for PAQ7.
+; (C) 2005, Matt Mahoney.
+; This is free software under GPL, http://www.gnu.org/licenses/gpl.txt
+;
+; MINGW g++: nasm paq7asm.asm -f win32 --prefix _
+; DJGPP g++: nasm paq7asm.asm -f coff --prefix _
+; Borland, Mars: nasm paq7asm.asm -f obj --prefix _
+; Linux: nasm paq7asm.asm -f elf
+;
+; For other Windows compilers try -f win32 or -f obj. Some old versions
+; of Linux should use -f aout instead of -f elf.
+;
+; This code will only work on a Pentium-MMX or higher. It doesn't
+; use extended (Katmai/SSE) instructions. It won't work
+; in 64-bit mode.
+
+section .text use32 class=CODE
+
+; Reset after MMX
+global do_emms
+do_emms:
+ emms
+ ret
+
+; Vector product a*b of n signed words, returning signed dword scaled
+; down by 8 bits. n is rounded up to a multiple of 8.
+
+global dot_product ; (short* a, short* b, int n)
+align 16
+dot_product:
+ mov eax, [esp+4] ; a
+ mov edx, [esp+8] ; b
+ mov ecx, [esp+12] ; n
+ add ecx, 7 ; n rounding up
+ and ecx, -8
+ jz .done
+ sub eax, 8
+ sub edx, 8
+ pxor mm0, mm0 ; sum = 0
+.loop: ; each loop sums 4 products
+ movq mm1, [eax+ecx*2] ; put halves of vector product in mm0
+ pmaddwd mm1, [edx+ecx*2]
+ movq mm2, [eax+ecx*2-8]
+ pmaddwd mm2, [edx+ecx*2-8]
+ psrad mm1, 8
+ psrad mm2, 8
+ paddd mm0, mm1
+ paddd mm0, mm2
+ sub ecx, 8
+ ja .loop
+ movq mm1, mm0 ; add 2 halves of mm0 and return in eax
+ psrlq mm1, 32
+ paddd mm0, mm1
+ movd eax, mm0
+ emms
+.done
+ ret
+
+; This should work on a Pentium 4 or higher in 32-bit mode,
+; but it isn't much faster than the MMX version so I don't use it.
+
+global dot_product_sse2 ; (short* a, short* b, int n)
+align 16
+dot_product_sse2:
+ mov eax, [esp+4] ; a
+ mov edx, [esp+8] ; b
+ mov ecx, [esp+12] ; n
+ add ecx, 7 ; n rounding up
+ and ecx, -8
+ jz .done
+ sub eax, 16
+ sub edx, 16
+ pxor xmm0, xmm0 ; sum = 0
+.loop: ; each loop sums 4 products
+ movdqa xmm1, [eax+ecx*2] ; put parital sums of vector product in xmm0
+ pmaddwd xmm1, [edx+ecx*2]
+ psrad xmm1, 8
+ paddd xmm0, xmm1
+ sub ecx, 8
+ ja .loop
+ movdqa xmm1, xmm0 ; add 4 parts of xmm0 and return in eax
+ psrldq xmm1, 8
+ paddd xmm0, xmm1
+ movdqa xmm1, xmm0
+ psrldq xmm1, 4
+ paddd xmm0, xmm1
+ movd eax, xmm0
+.done
+ ret
+
+
+; Train n neural network weights w[n] on inputs t[n] and err.
+; w[i] += t[i]*err*2+1 >> 17 bounded to +- 32K.
+; n is rounded up to a multiple of 8.
+
+global train ; (short* t, short* w, int n, int err)
+align 16
+train:
+ mov eax, [esp+16] ; err
+ and eax, 0xffff ; put 4 copies of err in mm0
+ movd mm0, eax
+ movd mm1, eax
+ psllq mm1, 16
+ por mm0, mm1
+ movq mm1, mm0
+ psllq mm1, 32
+ por mm0, mm1
+ pcmpeqb mm1, mm1 ; 4 copies of 1 in mm1
+ psrlw mm1, 15
+ mov eax, [esp+4] ; t
+ mov edx, [esp+8] ; w
+ mov ecx, [esp+12] ; n
+ add ecx, 7 ; n/8 rounding up
+ and ecx, -8
+ sub eax, 8
+ sub edx, 8
+ jz .done
+.loop: ; each iteration adjusts 8 weights
+ movq mm2, [edx+ecx*2] ; w[i]
+ movq mm3, [eax+ecx*2] ; t[i]
+ movq mm4, [edx+ecx*2-8] ; w[i]
+ movq mm5, [eax+ecx*2-8] ; t[i]
+ paddsw mm3, mm3
+ paddsw mm5, mm5
+ pmulhw mm3, mm0
+ pmulhw mm5, mm0
+ paddsw mm3, mm1
+ paddsw mm5, mm1
+ psraw mm3, 1
+ psraw mm5, 1
+ paddsw mm2, mm3
+ paddsw mm4, mm5
+ movq [edx+ecx*2], mm2
+ movq [edx+ecx*2-8], mm4
+ sub ecx, 8
+ ja .loop
+.done:
+ emms
+ ret
+
diff --git a/asm/paq7asmsse.asm b/asm/paq7asmsse.asm
new file mode 100644
index 0000000..98ff613
--- /dev/null
+++ b/asm/paq7asmsse.asm
@@ -0,0 +1,93 @@
+; NASM assembly language code for PAQ7.
+; (C) 2005, Matt Mahoney.
+; train - written by wowtiger, Jan. 30, 2007
+;
+; This is free software under GPL, http://www.gnu.org/licenses/gpl.txt
+;
+; This code is a replacement for paq7asm.asm for newer processors
+; supporting SSE2 instructions. It is about 1% faster than the
+; equivalent MMX code. It can be linked with any version of paq7*
+; or paq8*. Assemble as below, then link following the instructions
+; in the C++ source code, replacing paq7asm.obj with paq7asmsse.obj.
+; No C++ code changes are needed.
+;
+; MINGW g++: nasm paq7asmsse.asm -f win32 --prefix _
+; DJGPP g++: nasm paq7asmsse.asm -f coff --prefix _
+; Borland, Mars: nasm paq7asmsse.asm -f obj --prefix _
+; Linux: nasm paq7asmsse.asm -f elf
+;
+
+section .text use32 class=CODE
+
+; Vector product a*b of n signed words, returning signed dword scaled
+; down by 8 bits. n is rounded up to a multiple of 8.
+
+global dot_product ; (short* a, short* b, int n)
+align 16
+dot_product:
+ mov eax, [esp+4] ; a
+ mov edx, [esp+8] ; b
+ mov ecx, [esp+12] ; n
+ add ecx, 7 ; n rounding up
+ and ecx, -8
+ jz .done
+ sub eax, 16
+ sub edx, 16
+ pxor xmm0, xmm0 ; sum = 0
+.loop: ; each loop sums 4 products
+ movdqa xmm1, [eax+ecx*2] ; put parital sums of vector product in xmm0
+ pmaddwd xmm1, [edx+ecx*2]
+ psrad xmm1, 8
+ paddd xmm0, xmm1
+ sub ecx, 8
+ ja .loop
+ movdqa xmm1, xmm0 ; add 4 parts of xmm0 and return in eax
+ psrldq xmm1, 8
+ paddd xmm0, xmm1
+ movdqa xmm1, xmm0
+ psrldq xmm1, 4
+ paddd xmm0, xmm1
+ movd eax, xmm0
+.done
+ ret
+
+
+; Train n neural network weights w[n] on inputs t[n] and err.
+; w[i] += t[i]*err*2+1 >> 17 bounded to +- 32K.
+; n is rounded up to a multiple of 8.
+
+; Train for SSE2
+; Use this code to get some performance...
+
+global train ; (short* t, short* w, int n, int err)
+align 16
+train:
+ mov eax, [esp+4] ; t
+ mov edx, [esp+8] ; w
+ mov ecx, [esp+12] ; n
+ add ecx, 7 ; n/8 rounding up
+ and ecx, -8
+ jz .done
+ sub eax, 16
+ sub edx, 16
+ movd xmm0, [esp+16]
+ pshuflw xmm0,xmm0,0
+ punpcklqdq xmm0,xmm0
+.loop: ; each iteration adjusts 8 weights
+ movdqa xmm3, [eax+ecx*2] ; t[i]
+ movdqa xmm2, [edx+ecx*2] ; w[i]
+ paddsw xmm3, xmm3 ; t[i]*2
+ pmulhw xmm3, xmm0 ; t[i]*err*2 >> 16
+ paddsw xmm3, [_mask] ; (t[i]*err*2 >> 16)+1
+ psraw xmm3, 1 ; (t[i]*err*2 >> 16)+1 >> 1
+ paddsw xmm2, xmm3 ; w[i] + xmm3
+ movdqa [edx+ecx*2], xmm2
+ sub ecx, 8
+ ja .loop
+.done:
+ ret
+
+align 16
+_mask dd 10001h,10001h,10001h,10001h ; 8 copies of 1 in xmm1
+
+
diff --git a/coder.c b/coder.c
new file mode 100644
index 0000000..4530b2c
--- /dev/null
+++ b/coder.c
@@ -0,0 +1,261 @@
+#include <stdlib.h>
+#include <assert.h>
+#include <stdio.h>
+#include "predictor.h"
+#include "coder.h"
+
+/******************************************************************************
+ * ARITHMETIC CODER
+ ******************************************************************************/
+#include <stdint.h>
+#include <limits.h>
+
+extern int MODE;
+
+/*
+ * APPEND_BYTE()
+ * `````````````
+ * "Append" a byte to an existing value.
+ *
+ * @target: Value to append to. Should be at least 16-bits.
+ * @byte : Byte to be appended. Will be wrapped if @byte>255.
+ * Return : @target appended with @byte. @target is not modified.
+ *
+ * NOTE
+ * Here is an explanation of the bitwise operations.
+ *
+ * 0. Shift the target left by 8 bits,
+ * to make room for the new byte.
+ *
+ * 1. Ensure that the byte is actually
+ * a byte, by doing a BITWISE AND
+ * with the value 0xFF == 255 == 2^8,
+ * the maximum value a byte can have.
+ *
+ * This acts as a fast binary modulus,
+ * ensuring the byte value is between
+ * 0-255, and will fit within 8 bits.
+ *
+ * 2. Use BITWISE OR to combine the left
+ * shifted target with the wrapped byte
+ * to obtain the final output.
+ *
+ * Instead of BITWISE OR, addition could
+ * also be used, as the two are the same
+ * thing here since the 8 low-order bits
+ * are all 0.
+ */
+#define APPEND_BYTE(target, byte) (((target)<<8) | (byte & 0xFF))
+
+/*
+ * NOTE
+ * We want to use our probability value to choose the midpoint
+ * of the new interval.
+ *
+ * To do this, we simply multiply the current interval by
+ * a fractional value (p/4096), where p is the probability
+ * ranging from 0-4096.
+ *
+ * interval * (p/4096)
+ *
+ * This gives us the integral part.
+ *
+ * To get the fractional part, we compute the remainder of
+ * the interval mod 4096, and again apply
+ *
+ * remainder * (p/4096)
+ *
+ * Then we add them, and this is the new midpoint.
+ *
+ * ---------------------------------------------------------------
+ *
+ * Recall that ">> 12" is arithmetic right-shift by 12 bits,
+ * which is equivalent to division by 2^12 = 4096.
+ *
+ * Recall that "& 4095" is equivalent to calculating the remainder
+ * of the interval mod 4096.
+ *
+ * ---------------------------------------------------------------
+ * This works because of an interesting property of modular
+ * arithmetic:
+ *
+ * x mod 2^n == x & 2^(n-1)
+ *
+ * This only works for integer powers of 2, because powers of two
+ * have the unique property of having only one bit set to '1' in
+ * their (unsigned) binary expansion.
+ *
+ * This is probably true in any base, but obviously as '&' is
+ * a bitwise operation, we only care about base-2.
+ */
+#define MIDPOINT(lo, hi, prob) \
+ (lo + ((hi - lo)>>12)*prob + ((hi - lo & 4095)*prob>>12))
+
+
+/**
+ * encoder_init()
+ * ``````````````
+ * Initialize the encoder structure.
+ *
+ * @enc : Reference to encoder structure.
+ * @file : Output file.
+ * Return: Nothing
+ */
+void ac_init(struct ac_t *e, FILE *file)
+{
+ int i;
+
+ e->x0 = 0;
+ e->x1 = 0xffffffff;
+ e->word = 0;
+
+ if (level > 0 && MODE == DECOMPRESS) {
+ for (i=0; i<4; i++) {
+ e->word = APPEND_BYTE(e->word, getc(file));
+ }
+ }
+}
+
+/**
+ * ac_encode_flush()
+ * `````````````````
+ * Get any ready bytes from the encoder.
+ *
+ * @e : Reference to encoder structure.
+ * Return: Encoded byte if available, UINT32_MAX if none available.
+ */
+uint32_t ac_encode_flush(struct ac_t *e)
+{
+ uint32_t ret;
+
+ if (((e->x0 ^ e->x1) & 0xFF000000) == 0) {
+ /*
+ * Get leading 8 bits in low-order position
+ * by shifting right 24 bits.
+ */
+ ret = e->x1 >> 24;
+
+ e->x0 = (e->x0 << 8);
+ e->x1 = (e->x1 << 8) + 255;
+
+ return ret;
+ } else {
+ return UINT32_MAX;
+ }
+}
+
+/**
+ * ac_encode_finish()
+ * ``````````````````
+ * Flush first unequal byte of range
+ *
+ * @enc : Reference to encoder structure.
+ * Return: First unequal byte of range if available, else UINT32_MAX
+ */
+void ac_encode_finish(struct ac_t *e, FILE *file)
+{
+ if (MODE == COMPRESS && level>0) {
+ /* Flush first unequal byte of range */
+ putc(e->x0 >> 24, file);
+ }
+}
+
+
+/**
+ * ac_encode_bit()
+ * ```````````````
+ * Encode a bit.
+ *
+ * @e : Reference to encoder structure.
+ * @p : A prediction (probability) from (0-4096) TODO:unsigned?
+ * @bit : Bit to encode.
+ * Return: The bit decoded (1 or 0) (should match @bit)
+ */
+int ac_encode_bit(struct ac_t *e, int p, int bit)
+{
+ /* Midpoint of current range */
+ uint32_t xmid;
+
+ /* What is this doing? */
+ p += (p < 2048) ? 1 : 0;
+
+ /* See NOTE at top */
+ xmid = MIDPOINT(e->x0, e->x1, p);
+
+ log_msg(LOG_AC, "%g\n", (double)p/(double)4096);
+
+ assert(xmid >= e->x0 && xmid < e->x1);
+
+ /* Adjust the endpoints depending on the bit value y */
+ if (bit == 0) {
+ e->x0 = xmid+1;
+ } else {
+ e->x1 = xmid;
+ }
+
+ return bit;
+
+ /* Whether we are ready to write output */
+ /*return (((e->x0 ^ e->x1) & 0xFF000000) == 0) ? 1 : 0;*/
+}
+
+
+/**
+ * ac_decode_try_add_byte()
+ * ````````````````````````
+ * Try to add a new input character to the encoder.
+ *
+ * @e : Reference to encoder structure.
+ * @byte : New byte from the compressed file.
+ * Return: 1 if @byte appended, otherwise 0.
+ */
+int ac_decode_try_add_byte(struct ac_t *e, int byte)
+{
+ if (((e->x0 ^ e->x1) & 0xFF000000) == 0) {
+
+ e->x0 = (e->x0 << 8);
+ e->x1 = (e->x1 << 8) + 255;
+
+ e->word = APPEND_BYTE(e->word, byte);
+
+ return 1;
+ } else {
+ return 0;
+ }
+}
+
+/**
+ * ac_decode_bit()
+ * ```````````````
+ * Decode a bit.
+ *
+ * @e : Reference to encoder structure.
+ * @p : A prediction (probability) from (0-4096) TODO:unsigned?
+ * Return: The bit decoded (1 or 0)
+ */
+int ac_decode_bit(struct ac_t *e, int p)
+{
+ /* Midpoint of current range */
+ uint32_t xmid;
+ int bit;
+
+ /* What is this doing? */
+ p += (p < 2048) ? 1 : 0;
+
+ /* See NOTE at top */
+ xmid = MIDPOINT(e->x0, e->x1, p);
+
+ assert(xmid >= e->x0 && xmid < e->x1);
+
+ bit = (e->word <= xmid) ? 1 : 0;
+
+ /* Adjust the endpoints depending on the bit value y */
+ if (bit == 0) {
+ e->x0 = xmid+1;
+ } else {
+ e->x1 = xmid;
+ }
+
+ return bit;
+}
+
diff --git a/coder.h b/coder.h
new file mode 100644
index 0000000..754fd06
--- /dev/null
+++ b/coder.h
@@ -0,0 +1,20 @@
+#ifndef _ENCODER_H
+#define _ENCODER_H
+
+#include "util.h"
+
+struct ac_t {
+ uint32_t x0; /* Range start, initially [0,1), scaled by 2^32 */
+ uint32_t x1; /* Range end */
+ uint32_t word; /* DECOMPRESS: Last 4 input bytes of archive */
+};
+
+void ac_init (struct ac_t *e, FILE *file);
+int ac_encode_bit (struct ac_t *e, int p, int bit);
+uint32_t ac_encode_flush (struct ac_t *e);
+void ac_encode_finish (struct ac_t *e, FILE *file);
+int ac_decode_bit (struct ac_t *e, int p);
+int ac_decode_try_add_byte(struct ac_t *e, int byte);
+
+
+#endif
diff --git a/dat/catcsf.txt b/dat/catcsf.txt
new file mode 100644
index 0000000..0701807
--- /dev/null
+++ b/dat/catcsf.txt
@@ -0,0 +1,486 @@
+>gi|669032233|ref|NC_024607.1| Corvus splendens mitochondrion, complete genome
+GTCCATGTAGCTTACAATAAAGCATGACACTGAAGATGTCAAGACGGCTGCCACAAACACCCATGGACAA
+AAGACTTAGTCCTAACCTTACTGTTGGTTTTTGCCAGAATTATACATGCAAGTATCCGCATTCCAGTGTA
+AATGCCCTAGGCACCCTTTAACCAAGTCGATAGGAGCGGGTATCAGGCACACACAATTGTAGCCCAAGAC
+GCCTTGCACTTGCCACACCCCCACGGGTATTCAGCAGTGGTTAACATTAAGCAATGAGTGTAAACTTGAC
+TTAGTCATGGCAACCTTAAGGGTCGGTAAATCCTGTGCCAGCCACCGCGGTCATACAGGAGACTCAAATT
+AACAGTATAACGGCGTAAAGGGTGGTAACATGCTATCTAAGTAACTAAGATTAAAAAGCAACTGAGCTGT
+AATAAGCCCAAGATGCTCATAAGGCCAACTACCAAAGAAGATCTTAGACTGACGATTAATTGAAATCCAC
+GAAAGCCAGGGCCCAAACTGGGATTAGATACCCCACTATGCCTGGCCCTAAATCTTGATGCTCTATGCTA
+CCTGAGCATCCGCCCGAGAACTACGAGCACAAACGCTTAAAACTCTAAGGACTTGGCGGTGTCCCAAACC
+CACCTAGAGGAGCCTGTTCTGTAATCGATGATCCACGATATTACCTGACCACTCCTTGCTGAATCAGCCT
+ACATACCGCCGTCGCCAGCCCACCCCCCCTGATGGTTCAACAGTGAGCGCAATAGTCCCTACCCACTAGT
+AAGACAGGTCAAGGTATAGCCCATGGAGTGGAAGTAATGGGCTACATTTTCTAGTTTAGAACATCACGGC
+AAAAGGGTCTGAAATGGCCCTTAGAAGGCGGATTTAGCAGTAAAGTGGGACAATCGAGCCCTCTTTAAGC
+CGGCTCTGGGATGCGTACATACCGCCCGTCACCCTCCTCACAAGCGACCCAAACCCCCCAATACATTAAT
+ACGCTATCCAGCTAAAGAGGAGGCAAGTCGTAACAAGGTAAGTGTACCGGAAGGTGCACTTAGACAACCA
+AGACGTAGCTTAGACGAAAGCATTCAGCTTACACCTGAAAAACATCTGCTAACACCAGATCGTCTTGATG
+CCAAATTCTAGCCCAACCACATTGACCTGGAATAACAAAGCTACTACATACACCAAACTAAAGCATTCAC
+TAGTCTTAGTATAGGCGATAGAAAAGACACCAATTGGAGCGATAGAGATCACGTACCGTAAGGGAAAGAT
+GAAATAATAATGAAAAAACTAAGCTATAAACAGCAAAGATCAACCCTTGTACCTTTTGCATCATGGTCTA
+GCAAGAAAAACCAAGCAAAATGAGTTTAAGTTTGCCACCCCGAAACCTAAGCGAGCTACTTGTGAGCAGC
+TATTGTTGAGCGAACCCGTCTCTGTTGCAAAAGAGTGGGACGACTTACTAGTAGAGGTGAAAAGCCAATC
+GAGCTGGGTGATAGCTGGTTGCCTGTGAAACGAATCTTAGTTCACTCTTAATTCTTCTCCAAGGAAACTA
+ATAGAACCCTAATGAAGCGAATTAAGGGCAATTTAAAGGGGGTACAGCTCCTTTAAAAAAGAATACAATC
+TCTACGAGCGGATAAATAATCTATAGAAAGATTTCCTGTGGGCCTTCAAGCAGCCATCAACAAAGAGTGC
+GTTAAAGCTCTTCGACTAAAAAATATAAGAACTTCATGACTCCCTCATCATTAACAGGCTAACCTATATG
+TAAATAGGAGAATTAATGCTAGAATGAGTAACCAGGGTCCTCCCTCTACGACGCAAGCTTACATCTTTAC
+ATTATTAACAAATCACCAAGATACGACAAATCAAACAAGCAGAGTATCAGGTAAATTGTTAACCCGACAG
+AGGAGCGTCCATTAAGAAAGATTAAAACCTGTAAAAGGAACTAGGCAAACACATCAAGGCCCGACTGTTT
+ACCAAAAACATAGCCTTCAGCAAACAGCAAACAAGTATTGAAGGTGATGCCTGCCCTGTGACTTAGTGTT
+TAACGGCCGCGGTATCCTAACCGTGCAAAGGTAGCGCAATCAATTGTCTCATAAATCGGGACCAGTATGA
+ATGGCTAAACGAGGTCTTAACTGTCTCTTACAGGCGATCGGTGAAATTGATCTCCCTGTGCAAAAGCAGG
+GATAACTACATAAGACGAGAAGACCCTGTGGAGCTTAAAAATCAGCAGCCACCCCTACACACATTCACTC
+CCACTGGGTACACGCTCATACAGGGAACTGGCCTGCATTTTTCGGTTGGGGCGACCTTGGAGAAAAACAA
+ATCCTCCAAAAATTAGACCACAACTCTAGACTGAGAGCGACCCCTCAACGTGCGAATAGCACCCAGACCC
+AATATAATTGATCAATGGACCAAGTTACCCCAGGGATAACAGCGCAATCTCCTCCGAGAGTCCGTATCGA
+CGGGGAGGTTTACGACCTCGATGTTGGATCAGGACATCCTAGTGGTGCAGCCGCTACTAAGGGTTCGTTT
+GTTCAACGATTAATAGTCCTACGTGATCTGAGTTCAGACCGGAGCAATCCAGGTCGGTTTCCATCTATGA
+TGAACTCTTCCCAGTACGAAAGGACAGGAAAAGTGAGGCCAATACTACAAGCAAGCCTTCGCCTTAAGTG
+ATGAATCCAACTAAATTACGAAAGGCTATCACACTACAACCATGTCCTAGAAAAGGACTAGCTAGCGTGG
+CAGAGCTCGGAAAATGCAAAAGGCTTAAGTCCTTTATATCAGAGGTTCAAATCCTCTCCCTAGCTAAACT
+TAAAATGGCCAACTATCCCATCCTAGTCAACCTCATTATAGCACTTTCTTATGCCATCCCCATTCTAATT
+GCCGTAGCCTTTTTAACCCTAGTAGAACGTAAAATCCTAAGTTACATACAAGGCCGAAAAGGGCCCAACG
+TTGTAGGCCCTTTCGGGCTCCTGCAGCCAGTAGCAGATGGGGTAAAGCTATTCATCAAAGAACCAATCCG
+CCCATCAACATCCTCCCCAATTCTATTTATTACCACCCCAATACTAGCCCTCCTACTAGCAATCTCCATC
+TGAACCCCACTTCCAATCCCATTCCCACTTGCAGATCTAAACCTAGGACTGCTATTCATATTAGCCATGT
+CAAGCCTAGCAGTATACTCAATCCTATGATCTGGCTGAGCCTCCAACTCAAAATACGCCCTAATCGGATC
+TCTACGGGCAGTAGCCCAGACAATTTCATACGAGGTCACCCTAGCAATCATCCTACTATCCATCATCCTT
+CTCAGTGGAAATTATACTCTAAGCACCCTAGCAGTTGTTCAAGAGCCCCTATTTCTTATCTTCTCCTGCT
+GACCCCTCGCCATAATATGATATGTATCTACACTGGCCGAAACAAATCGTGCCCCATTCGACCTCACAGA
+AGGGGAATCAGAACTAGTCTCAGGATTCAACGTAGAATATGCCGCAGGGCCCTTCGCTTTATTCTTCCTA
+GCAGAATACGCGAACATCATGCTCATAAACGCACTAACCGTAATCCTGTTCTTCAACCCAAGCCTATACA
+ATCCACCTCAAGAACTCTTCCCCGTAATTCTAGCCACAAAAGTCCTACTCCTGTCCATAGGATTCCTATG
+AATTCGTGCCTCCTACCCACGATTCCGATATGATCAGCTAATGCATTTACTATGAAAAAACTTCCTCCCA
+CTAACGCTCGCTCTATGTCTGTGACACATTAGCATACCAATTTCCTACGCAGGCCTACCTCCTTACCTAA
+GGAGCCACCAGGAAATGTGCCTGAACGTCAAAAGGGTCACTATGATAAAGTGAACATAGAGGTACACCAG
+CCCTCTCATTTCCTACACCTTAGAAAAACAGGAATCGAACCTGTACAAGAGAGATCAAAACCCTCCATAC
+TTCCTTTATATTATTTTCTAGTAGGGTCAGCTAATCAAGCTATCGGGCCCATACCCCGAAAATGATGGTT
+TAACCCCTTCCCCTGCTAATGAACCCCCAGGCAAAACTGATTTTTATCACTAGCCTACTCCTAGGAACAA
+CCATCACAATTTCAAGCAACCATTGAGTCATGGCCTGAACCGGCCTTGAAATCAACACACTCGCTATTCT
+GCCCCTAATTTCAAAATCCCACCATCCCCGAGCTATTGAGGCAGCAACCAAATATTTTCTAGTTCAAGCA
+ACTGCCTCAACTCTGGTACTATTCTCCAGCATAACCAATGCATGGTACACTGGGCAATGAGATATCACCC
+AGCTAACCCACCCAGCATCCTCCCTAATCCTAACCGCAGCTATTTCAATGAAGCTTGGACTAGTACCCTT
+TCACTTCTGATTCCCAGAAGTCCTACAAGGCTCCCCCCTCATTACTGGCCTTCTCCTGTCCACAGCCATG
+AAATTTCCACCAATTACCCTACTCTACATAACCTCCCTATCCCTAAACCCCACACTACTAACCACCCTGG
+CCGTTCTTTCTGTAGCCATAGGAGGCTGAATAGGACTAAACCAAACACAAGTCCGAAAAATTATGGCCTT
+CTCCTCTATCTCACACCTAGGCTGAATGGCCATTATCTTAATCTACTACCCCAAACTTACTCTACTCAAC
+TTCTACCTGTATGCCATAATAACCGCTGCCGTATTCCTAACCCTAAACTCAATAAAAGTCCTAAACCTAT
+CCACACTAATAACTGCATGAACAAAAGCACCTGCACTTAGCACAATCCTCCTACTAACACTTCTGTCCCT
+GGCCGGCCTCCCCCCTTTAACCGGCTTCCTCCCAAAATGACTCATTATTCAAGAACTAACCAAACAGGAC
+ATAGCTCCGGCAGCAATTATTATCTCCCTTCTTTCACTACTGGGTCTCTTCTTCTACCTCCGTCTTGCGT
+ATTGTGCAACAATCACACTTCCGCCCCACACAACAAACCACATGAAACAATGACGTACCAACAAACCAGT
+TAGCCCCTCAATTGCCATTTTAACAACCCTATCCATCATGCTCCTCCCAACTTCCCCCATACTCACTACC
+ATTATTTAAAGAGAAACTTAGGTTTACTGAAACCGAAGGCCTTCAAAGCCTTAAACAAGAGTTAGACCCT
+CTTAGTTTCTGTTAAAATCCGCAGGACGTTATCCTGCATCTTCTGAATGCAACTCAGATGCTTTAATTAA
+GCTAGGATTTTGCACCTCTAGACAGATGGGCTTCGATCCCATGATACTATAGTTAACAGCTATATGCCCT
+AAACCAACAGGCTTCTGCCTAACAGACTCCGGTGCACTGTCAGTGCACATCGATGAGCTTGCAACTCACC
+ATGAACTTCACTACAGAGCCGATAAGAAGAGGAATTGAACCTCTGTGAAAAGGACTACAGCCTAACGCTT
+ATACACTCAGCCATCTTACCCGTGACTTTCATCAACCGATGACTATTCTCAACCAACCACAAAGACATTG
+GCACTCTGTACCTAATCTTCGGAGCATGAGCCGGAATAGTAGGTACCGCCCTAAGTCTCCTTATTCGAGC
+AGAACTGGGCCAACCAGGTGCTCTACTAGGAGATGACCAAATCTACAATGTAATCGTCACAGCTCATGCC
+TTTGTCATAATTTTCTTCATAGTTATGCCAATCATGATCGGAGGATTTGGAAACTGACTAGTTCCACTAA
+TGATTGGTGCCCCAGACATAGCATTCCCACGAATAAACAACATAAGCTTCTGACTCCTACCACCCTCATT
+CCTCCTACTTCTAGCTTCTTCCACAGTAGAAGCAGGAGCAGGAACAGGATGAACTGTGTACCCACCACTG
+GCTGGTAACATAGCCCATGCTGGAGCCTCAGTTGACCTTGCAATCTTCTCACTACACCTAGCAGGTATTT
+CTTCCATCCTAGGAGCAATTAACTTCATTACCACAGCAATCAACATAAAACCTCCAGCCCTATCACAATA
+TCAAACCCCCCTATTCGTATGATCCGTACTAATTACCGCAGTACTGCTCCTTCTCTCCCTACCCGTACTT
+GCTGCCGGAATTACTATGCTTCTAACAGACCGTAACCTCAATACCACATTCTTCGACCCAGCAGGAGGAG
+GAGACCCGGTACTATACCAGCACCTGTTCTGATTCTTCGGACACCCAGAAGTTTACATCCTAATTCTACC
+AGGATTTGGTATTATTTCTCACGTCGTAGCATACTACGCAGGAAAAAAAGAACCATTTGGCTACATAGGA
+ATAGTATGAGCCATGCTATCCATCGGGTTCTTAGGCTTCATCGTTTGAGCACACCACATGTTTACAGTCG
+GAATGGACGTAGACACTCGAGCATACTTCACATCCGCCACCATAATCATTGCCATCCCAACCGGAATCAA
+AGTGTTCAGCTGACTGGCAACTCTTCACGGAGGAACAATCAAATGAGATCCACCAATGCTGTGAGCCCTA
+GGATTCATCTTCCTCTTCACTATTGGTGGACTAACAGGAATTGTCCTAGCAAACTCCTCCCTAGACATTG
+CCCTACACGACACTTACTACGTAGTAGCTCACTTCCACTACGTACTATCCATAGGAGCAGTATTTGCAAT
+CCTAGCAGGATTTACCCACTGATTCCCACTATTCACCGGATACACCCTACACTCTACATGAGCTAAAATC
+CACTTCGGGGTGATATTCGTAGGAGTAAACCTTACTTTCTTCCCACAACACTTCCTTGGACTAGCTGGCA
+TGCCACGACGATACTCAGACTACCCAGACGCCTACACTCTATGAAACACTATCTCATCAGTAGGATCACT
+AATTTCCCTAACCGCCGTAATCATGCTGATATTTATCATCTGAGAAGCTTTCGCATCCAAACGTAAAGCC
+CTACAGCCAGAACTAGTCAATACAAACGTCGAATGAATCCACGGCTGCCCACCACCATTCCACACATTCG
+AAGAACCAGCCTTCGTTCAAGTTCAAGAAAGGAAGGAGTCGAACCCCCATATGTTGGTTTCAAGCCAACC
+GCATAAACCACTTATGCTTCTTTCTCATTTAGAGGTGTTAGTAAAACTATTACATAGTCTTGTCAAGACT
+AAATTACAGGTTAAAGCCCAGTACACCTCAACACAAATATGGCCAACCACATACAATTCGGTTTTCAAGA
+CGCTTCATCCCCTATCATAGAAGAACTAGTAGAATTTCACGACCACGCTCTAATAACTGCCCTAGCTATT
+TGCAGCCTGGTACTATACCTACTAACCATGATACTCACCGAAAAGCTATCATCCAGCACAGTCGATGCAC
+AAGAAATCGAACTTGTCTGAACAATCCTCCCTGCAATTGTCCTAATCATGCTTGCTCTACCATCCCTACA
+AATCCTCTACATAATGGATGAAATTAACGAGCCCGACCTGACACTAAAAGCCATTGGACACCAATGATAC
+TGATCTTACGAATACACCGACTTCAAGGACCTAACATTTGACTCTTACATGACACCAACTGCAGACCTAC
+CGTTAGGTCACTTCCGACTACTAGAAGTGGACCATCGTGTAGTTGTCCCAATGGAATCACTAGTTCGAGT
+CATCGTTACTGCCGACGACGTACTTCACTCATGAGCCGTCCCAAGCCTAGGCGTAAAAACTGACGCAATC
+CCAGGACGACTGAACCAAACCTCATTCACCGCCACTCGACCTGGAGTATTCTACGGTCAATGCTCAGAAA
+TTTGTGGGGCTAATCACAGCTTCATACCAATTGTAGTTGAATCTGCTCCACTCGCCAATTTCGAGAACTG
+ATCCTCTCTACTATCATCTTAATCATTAAGAAGCTATGAACCAGCGCTAGCCTTTTAAGCTAGAGAAAGA
+GGACTATTCATCCTCCTTAATGATATGCCTCAACTAAACCCAAACCCATGATTTTTTATCATGCTAGCTT
+CGTGACTCACCTACTCCATAATCATCCAACCTAAACTACTATCCTTTGTCTTCATAAACCCTCCAATCAG
+CAAAACCCAAACAACCCCAACCACCTCCCCCTGAACCTGACCATGAACCTAAGCTTCTTCGACCAATTCT
+CAAGCCCATCCCTACTAGGTATTCCCCTAATCCTGATCGCAATAACATTCCCTGCCCTCCTGCTGTCAAC
+CCAAAACAACCGATGAATCACTGATCGCCTATCCACTTTACAATCATGATTCATCAGCCTAATTACAAAA
+CAGCTGATAATGCCACTAAGCAACAAGGGACATAAATGAGCCCTAATCCTAACATCGCTAATACTATTTC
+TCCTACTTATCAACCTGCTAGGCCTACTACCCTACACATTCACCCCAACAACCCAACTTTCTATAAACCT
+AGCTCTAGCAATTCCCCTATGACTTGCCACCCTGCTCACAGGACTACGAAACCAACCCTCAATCTCCCTA
+GCCCACCTCCTACCAGAAGGAACCCCAACTCCACTAATCCCAGCCCTAGTCCTCATTGAAACAACTAGCC
+TTCTTATTCGTCCCCTAGCCCTAGGCGTTCGCCTTACAGCCAACCTCACAGCAGGCCATCTATTAATCCA
+ACTTATCTCAACAGCCACTGCCTCCCTAGTCTCAACAATACCAATAATCTCACTACTAACATTATTAGTA
+TTATTCCTACTCACAGTCCTAGAAGTAGCAGTAGCCATAATCCAAGCCTACGTATTTGTGCTACTACTAA
+GCCTGTATCTACAAGAAAACATTTAAACCACCAATGACTCACCAAGCACACTCTTATCACATAGTTGACC
+CAAGCCCATGACCCATCCTAGGAGCAGCCGCTGCTCTTCTTACTACATCCGGCCTAACCGTATGATTCCA
+CTACAACTCGCCATACCTACTGATCATAGGACTAACTTCTACTGCCCTGGTTATACTTCAATGATGACGT
+GACATCATCCGAGAAAGTACATTCCAAGGCCACCACACACCCACAGTACAAAAAGGCCTACGATATGGAA
+TAGTCCTATTCATCACATCAGAGGCCTTCTTCTTCCTAGGTTTCTTTTGAGCATTCTTCCACTCCAGCCT
+GGCCCCAACACCAGAGCTAGGAGGACAGTGACCTCCAGTCGGAATCAAACCTCTAAACCCAATGGACGTC
+CCCCTCCTAAACACCGCCATCCTACTTGCTTCAGGAGTCACAGTCACATGAGCACACCATAGCATCATAG
+AAGCTAACCGAAAACAAGCAATCCACGCCCTCACCCTTACAGTTCTCCTAGGCTTCTACTTCACCGGCCT
+GCAAGCCATAGAATACTACGAAGCTCCGTTCTCCATCGCTGACGGGGTATACGGTTCTACCTTCTTCGTA
+GCAACTGGCTTCCACGGCCTCCACGTAATCATTGGTTCCACATTCCTCCTAGTATGCCTTCTACGCCTAA
+TCAAATACCACTTTACACCAAAACACCATTTTGGCTTCGAAGCAGCAGCTTGATACTGACACTTTGTAGA
+CGTCGTATGACTATTCCTCTATATGACTATCTACTGATGAGGATCCTACTCTTCTAGTATATTAATTACA
+ATCGACTTCCAATCCTTAAAATCTGGTTTAAACCCAGAGAAGAGTAATGAACATAATCCTATTCATAATA
+GTCTCATCTTTAACTCTAAGTGTCATCCTCACTGCATTAAACTTTTGACTAGCACAAATAAACCCAGACT
+CAGAGAAACTGTCCCCATACGAATGTGGATTTGACCCACTAGGGTCCGCCCGGCTGCCATTTTCAATTCG
+ATTTTTCCTAGTTGCAATCTTATTTTTACTATTTGACCTAGAAATTGCTCTGCTCCTTCCACTACCATGA
+GCCATCCAGCTACAAACCCCCACCCTTACACTAACATGGGCCTCCATCCTTATTCTTCTCCTTACTCTAG
+GTCTGGTTTATGAATGAAGCCAAGGAGGACTAGAATGAGCAGAATAACAGAAAGTTAGTCTAACCAAGAC
+AGTTGACTTCGACTCAACAGATTATAGCTAACGCCCTATAACTTTCTTAATGTCTGCCCTACAATTAAGC
+TTTTTTTCCGCCTTCACCCTAAGCGGCCTAGGCCTAGCCTTCCACCGCACACACTTAATCTCCGCCCTAC
+TATGTCTAGAAAGTATGATACTATCCATATACGTCGCCCTTTCCATGTGACCAATCCAGACCCAAACAAC
+ATCTGCTACCCTCCTACCACTTCTCATACTAGCATTCTCTGCTTGTGAGGCAGCAACAGGCCTAGCTCTA
+CTAGTCGCCTCCACCCGGACCCACGGCTCCGACCACCTGCACAACTTTAACCTACTACAATGCTAAAAAT
+CATTATTCCAACCATCATACTCCTACCACTGACCTTCCTCTCCCCCTACAAACACCTATGAACTAACACC
+ACAACACACAGCCTATTAATTGCCGCTGTCAGCCTCCAATGACTAGTCCCAACATACTACCCAAGCAAAG
+GACTAACCCATTGAACCTCAATTGACCAAATCTCCTCCCCCCTACTAGTTCTATCGTGCTGACTACTCCC
+ACTCATACTCATAGCAAGCCAAAACCACCTAGAACAAGAGCCAATCATCCGTAAACGAATCTTCATCACA
+ACTATAATCACAGTACAGCCCTTTATCCTGCTGGCTTTCTCAGCTTCAGAACTAATACTATTCTACATCG
+CATTTGAAGCAACCCTAATTCCAACCCTAATCCTTATCACACGATGAGGAAACCAACCCGAACGACTGAA
+CGCAGGCATTTACCTGCTATTTTATACACTCGCCAGCTCTCTTCCTCTGCTGATCACAATCCTCCACCTA
+CATAACCAAATTGGCACATTATACCTCCCTATACTCAAACTATCGCACCCAACAATAAACAACTCTTGAA
+CAGGCCTACTAGCAAGCTTAGCCCTCCTACTAGCCTTCATAGTTAAAGCCCCCCTATACGGTCTTCATCT
+ATGACTCCCAAAAGCACATGTAGAAGCCCCAATCGCCGGATCCATGCTACTAGCCGCTCTCCTCCTAAAA
+CTTGGCGGCTACGGCATTATACGAATCACTATCCTAGTAAACCCCTCTGTAAACAACCTACACTACCCAT
+TCATTACTTTAGCACTATGAGGAGCAGTAATAACCAGTGCCATCTGCCTACGACAAATCGACCTAAAGTC
+CCTAATTGCTTACTCCTCTGTAAGCCATATAGGACTAGTCATCGCCGCAACCATAATTCAAACCCAATGA
+GCCTTCTCAGGGGCAATAATCCTAATAATCTCTCACGGCCTAACCTCCTCTATACTATTCTGCCTGGCCA
+ATACAAACTACGAACGAACTCACAGCCGAATCCTACTTCTAACCCGAGGACTTCAACCCCTCCTACCACT
+TATGGCCACCTGATGACTACTAGCAAACCTAACAAACATGGCACTACCACCAACAACCAACCTCATAGCA
+GAACTAACCATTGTAGTAGCCCTGTTCAACTGATCCCCACTGACAATCATTTTAACAGGAACTACAATCG
+TACTAACTGCCTCTTATACCCTACATATGCTAATAACAACACAACGAGGAATACTACCATCCCACATCAC
+CTCAATCCAAAATTCCTCAACACGAGAACATCTCCTGATGGCCCTACACATAATTCCCATAATCCTACTT
+ATTCTCAAACCTGAACTAATCTCAGGAATCCCTATATGCAAGTATAGTTTAATCAAAACATTAGATTGTG
+ATTCTAAAGATAGAAGTTAAACCCTTCTTACCTGCCGAGGGGAGGTTAAACCAACAAGAACTGCTAATTC
+TTGCATCTGAGTATAAAACCTCAGCCCCCTTACTTTCAAAGGATAATAGTAATCCAATGGTCTTAGGAAC
+CAGTCATCTTGGTGCAAATCCAAGTGAAAGTAATGGACCAAATACTTATCCTAAACACATTCATACTACT
+CACCCTAGCAGTACTCTGCACCCCAATCATCTTCCCCATACTATCAAGCAGCCTAAAAAACACTCCAACT
+ATCATTACAAACACTGTCAAAACTTCCTTCCTAATCAGCCTGATCCCCATAACCATCTACATTCACTCAG
+GAATAGAAAGTCTAACTTCCTTCTGGGAATGAAAATTCATTATAAACTTTAAAATTCCTATCAGCCTAAC
+AATAGACTTCTACTCACTGACTTTCTTCCCAATTGCCCTATTTGTCTCCTGATCAATCCTACAATTTGCA
+ACATGATACATAGCCTCAGACCCGCACGTCGCAAAATTTTTCACCTTCCTCCTCCTATTCCTTATTGCCA
+TGCTCATCCTGATTATCTCCAACAACCTGTTCCTACTCTTCATCGGATGAGAAGGAGTAGGAATCATATC
+CTTCCTACTAATCAGCTGATGACATGGCCGAGCAGAAGCAAATACCGCTGCCCTACAGGCCGTACTATAC
+AACCGAGTCGGAGATGTAGGCCTTATCCTGTGCATGGCATGACTAGCTTCCACCATAAACACATGAGAAA
+TTCAACAAATCTCATCTCAGGACCAAACTCCTACCCTACCACTACTAGGCTTAATTTTAGCTGCGGCCGG
+CAAATCCGCCCAATTTGGCCTCCACCCGTGACTCCCAGCAGCAATAGAAGGCCCAACCCCTGTATCCGCC
+TTACTTCATTCCAGCACCATAGTAGTCGCCGGGATCTTCCTACTTATCCGAACTCACCCCCTCTTCCACA
+ACAACCCCACTGCACTATCACTATGCCTATGCCTGGGAGCCCTCTCCACACTATTCGCAGCCACTTGCGC
+CCTGACCCAAAATGATATCAAAAAAATCATTGCTTTTTCCACATCCAGCCAACTAGGCCTAATAATAGTT
+ACAATCGGCCTAAATCTTCCCCATCTAGCCTTCCTGCATATTTCAACCCACGCATTCTTCAAAGCCATGC
+TATTCCTATGTTCAGGGTCAATCATTCACAGCCTCAACGGCGAACAAGACATTCGAAAAATAGGAGGACT
+TCAAAAAATACTACCAACAACAACCTCATGCCTAACTATCGGAAACCTAGCCCTGATAGGAACACCATTT
+CTGGCAGGATTCTACTCCAAAGACCAAATTATCGAAAGCCTCAACACCTCGTACTTAAACGCTTGAGCCC
+TAGTTCTAACTCTCCTAGCTACATCATTCACCGCAGTATATACTATTCGAATAACCCTATTAGTTCAAAC
+AGGATACGTCCGAATTCCTCCCCTAACCCCCATGAACGAAAATAACCCAGCAGTCCTCTCCTCAATCACT
+CGACTTGCACTAGGAAGCATTGTAGCAGGATTCCTAATCACCTCATATATTCCACCTGCAAAAACCCCAC
+CAATAACTATACCACTATCCATTAAAGTCACGGCCCTTGTAGTAACACTACTAGGAATCATCCTAGCCCT
+AGAACTCTCAAAACTAACTCAAGCTTTAATCCTCCCTAAACAGAATCGCTTCTCAAATTTCTCTACAGCC
+CTAGGATACTTTAATCCCCTAGTACACCGATTTATCCCAACAAAAATACTAAGCGGCGGCCAAAACATTG
+CCTCCCACCTAATTGACCTCTCTTGATTCAAACTTCTAGGCCCTGAAGGGTTAGCCAACCTACAAATAAT
+AGCATCAAAAACCGCTACCTCCTTCCACACAGGCCTAATTAAAGCCTACCTAGGATCATTTGCCTTATCA
+ATCTTTATCATCCTCCTATCCACATACAGAACCAAACTTAATGGCCCTAAATCTACGAAAAAATCACCCA
+CTACTAAAAATCATCAACAACTCCCTAGTTGACCTTCCCACTCCATCAAACATTTCAGCTTGATGAAACT
+TCGGATCCCTACTAGGCCTATGCCTCATCACACAAATTGTCACAGGCCTACTACTAGCCATACATTACAC
+AGCAGACACCTCCCTAGCCTTCGCTTCCGTAGCCCACATATGCCGAGACGTACAATTCGGATGACTAATC
+CGAAACCTCCACGCAAATGGGGCCTCCTTCTTTTTCATTTGCATCTACCTACATATTGGCCGAGGATTCT
+ATTACGGCTCATACCTAAACAAAGAAACCTGAAACATTGGAGTAGTCCTTCTTCTAACACTAATAGCAAC
+TGCCTTCGTAGGATACGTCCTGCCATGAGGACAAATATCTTTCTGAGGAGCTACAGTCATTACAAACCTT
+TTCTCAGCAATCCCATACATTGGACAAACATTAGTAGAATGACTATGAGGCGGGTTCTCAGTAGACAACC
+CCACACTAACCCGATTCTTCGCCTTCCACTTCCTCCTCCCCTTTGTAATCGCAGGCCTGACACTAGTACA
+CTTAACCTTCCTCCACGAAACAGGCTCAAACAACCCACTAGGAATCCCCTCAGATTGCGACAAAATTCCA
+TTCCACCCTTACTACTCCATCAAAGACCTACTAGGATTCGCACTAATACTCGTCCCATTCGTCACTCTGG
+CCCTATTTTCCCCAAACCTCCTAGGAGACCCAGAAAATTTCACGCCCGCCAACCCCCTGGCCACACCTCC
+CCACATTAAACCCGAATGATACTTCCTATTTGCATACGCCATTCTCCGATCCATCCCAAACAAACTAGGA
+GGAGTCCTAGCTCTAGCCGCCTCAGTCCTAGTCCTATTCCTAATACCTCTCCTCCACACGTCTAAACAAC
+GTTCCATAACCTTTCGACCCCTATCACAAATCCTATTCTGAGCTCTAGTCGCAGACCTCTTCATCCTAAC
+ATGAGTAGGAAGCCAACCAGTCGAACACCCATTCATCATCATTGGCCAACTAGCCTCCTTCACCTACTTC
+GCAATCATCCTAATCCTGTTCCCTATCGCGAGTGCACTAGAAAACAAAATACTAAAACTCTAATCAACTC
+TAATAGTTTATAAAAACATTGGTCTTGTAAGCCAAAGATTGAAGACTAAACATCTTCTTAGAGTTAACAC
+ATAAATCAGAAAGAAAGGAGTCAAACCTTTATCACCAACTCCCAAAGCTGGCATTCTCAATTAAACTACT
+CTCTGACCTACCAATTAAACCGCCCGAATTGCCCCCCGAGATAACCCCCGCACAAGTTCTAAAACCACAA
+ACAGTGTTAATAACAGGCCTCATCCTGCAATTAAAAGCAGCCCTGACCCAGACGAATAGAACATAGCTAC
+TCCACTAAAATCCGTCCGAGTTCACGATAGACCTCCATTATTCACCGTATCCCCTCCCATAATCACTTCA
+GAAAACACCCCTGTAGCAAACCCCACAATAACAACGACTAACCCCAGACCAACACCATAACCAACAACCC
+GTCAATCACCCCAAGATTCCGGATAAGGATCCGCTGCCAGAGACACTGAATAAACAAATACCACCAGCAT
+CCCCCCTAAATATACCATCACCAGTACAAGAGAAACAAAAGAAACCCCCATACTTACCAGTCACCCACAT
+CCAGCAATAGAAGCCACAACCAGACCCACCACCCCATAATAAGGAGAAGGGTTAGACGCAACCGCTAACC
+CTCCTAAAACAAAGCATAGACTCATAAAAAGAACAAAGTTTATCATAGTTCCTGCTTGGATCCTCCCCAA
+GACCTATGGCTTGAAAAACCATTATTATAAAACTTTAACTACAGGAACTAAACCCTACTCTCATCCACCC
+CCCCCCCTTACCCCCCCCATGTTTTTACATGGGATTTTGGCTATGTATTTCTTTGCATACAATTCTCGTC
+CACATTAGACATAATATGCATGTAGGATAACTCACATAACAAGTAATGCAAGACCTAACCAAACTCAAAT
+ATCATCGCCCATAACACCCCAAACGGACAGATAACCTTCCAGGCACATCCCCATCGCAGGCACAACAAAC
+CCAGGTAATCCTACCAACGACACAAGACAAGCTTCGCCCAAGATCGAGAATGTTTTACCTTACATAACAA
+CGCACTCTCGTAAACGAGGAATATCCTAGTACCCCAATGAATTCTTAATCCCATACGTTTCAGTCCATCA
+CCACAAAACCTCCTAGTCCTATCACTCTCAAGAGCTCCCAAGAAGGACCTGGTTATTTATTAGTCGTAAT
+CCTCACGAGAACCGAGCTACTCAACGTAGGTGCTACCCACGGCTACCAGCTTCAAGGCCATACTTTCCCC
+CTACACCCTCGCCCAACTTGCGCTTTTGCGCCTCTGGTTCCTATTTCAGGGCCATAACTTGGACCTTTCC
+CTCCTTATCGCTCTTCACAGATGCAAGTGGTCGGATGCATAATCCTCCCTTTGCCTCGTGATCGCGGCAT
+CCGACCGACTTGGCGCTTGTTTTCTTTTTGGGGTCTCTTCATTAAACCCTTCAAGTGCGTAGCAGGAGTT
+ATCTTCCTCTTGACGTGTACATCACATGGCATCCGAGCGGCTATTTGTCTGTAATGTACCTGGTGTCATG
+GTTGTTCGGATAAGGTCGTCTCAAACTTGACACTGATGCACTTTTACCCCATTCATGGTGGGTCCCCCAG
+CTACCTATACGGTGGCAGATAATGTTATGGTTGCCGGACATAGTTTGTTATTTTTCCTTTACTAGGAATT
+ATCACCCAAACCTTCATTTTCATTCTTTTTTTTATCGTTTATTTTTATGTTGTAATTTTAACAAAATAAA
+CAACAACTTTTATATGATATTAACCTAGATTTTCCAAACCATTCATCGTTCGTTCATTAACACTTAACTT
+TCCTCTGCCTTTCCCCTATTTTTAACCCAACAAATCAATGACTTTCATCATAACTTCCACAACCACCAAC
+TTAGCCAAATTACACAAAACAAACAAACCAATTAAAAACAAGATAAAAGTACACACCCTTTACACACAAC
+CACACTAAACACACAACAAAACTTAACACACTATATGCCACAATACTACTTTTCATTTATAAAAAAAACA
+AGATAAAAATACAAAACATCAATACCAATAATAAGTCCAAAATACTACATTCGCTT
+>gi|669032233|ref|NC_024607.1| Corvus splendens mitochondrion, complete genome
+GTCCATGTAGCTTACAATAAAGCATGACACTGAAGATGTCAAGACGGCTGCCACAAACACCCATGGACAA
+AAGACTTAGTCCTAACCTTACTGTTGGTTTTTGCCAGAATTATACATGCAAGTATCCGCATTCCAGTGTA
+AATGCCCTAGGCACCCTTTAACCAAGTCGATAGGAGCGGGTATCAGGCACACACAATTGTAGCCCAAGAC
+GCCTTGCACTTGCCACACCCCCACGGGTATTCAGCAGTGGTTAACATTAAGCAATGAGTGTAAACTTGAC
+TTAGTCATGGCAACCTTAAGGGTCGGTAAATCCTGTGCCAGCCACCGCGGTCATACAGGAGACTCAAATT
+AACAGTATAACGGCGTAAAGGGTGGTAACATGCTATCTAAGTAACTAAGATTAAAAAGCAACTGAGCTGT
+AATAAGCCCAAGATGCTCATAAGGCCAACTACCAAAGAAGATCTTAGACTGACGATTAATTGAAATCCAC
+GAAAGCCAGGGCCCAAACTGGGATTAGATACCCCACTATGCCTGGCCCTAAATCTTGATGCTCTATGCTA
+CCTGAGCATCCGCCCGAGAACTACGAGCACAAACGCTTAAAACTCTAAGGACTTGGCGGTGTCCCAAACC
+CACCTAGAGGAGCCTGTTCTGTAATCGATGATCCACGATATTACCTGACCACTCCTTGCTGAATCAGCCT
+ACATACCGCCGTCGCCAGCCCACCCCCCCTGATGGTTCAACAGTGAGCGCAATAGTCCCTACCCACTAGT
+AAGACAGGTCAAGGTATAGCCCATGGAGTGGAAGTAATGGGCTACATTTTCTAGTTTAGAACATCACGGC
+AAAAGGGTCTGAAATGGCCCTTAGAAGGCGGATTTAGCAGTAAAGTGGGACAATCGAGCCCTCTTTAAGC
+CGGCTCTGGGATGCGTACATACCGCCCGTCACCCTCCTCACAAGCGACCCAAACCCCCCAATACATTAAT
+ACGCTATCCAGCTAAAGAGGAGGCAAGTCGTAACAAGGTAAGTGTACCGGAAGGTGCACTTAGACAACCA
+AGACGTAGCTTAGACGAAAGCATTCAGCTTACACCTGAAAAACATCTGCTAACACCAGATCGTCTTGATG
+CCAAATTCTAGCCCAACCACATTGACCTGGAATAACAAAGCTACTACATACACCAAACTAAAGCATTCAC
+TAGTCTTAGTATAGGCGATAGAAAAGACACCAATTGGAGCGATAGAGATCACGTACCGTAAGGGAAAGAT
+GAAATAATAATGAAAAAACTAAGCTATAAACAGCAAAGATCAACCCTTGTACCTTTTGCATCATGGTCTA
+GCAAGAAAAACCAAGCAAAATGAGTTTAAGTTTGCCACCCCGAAACCTAAGCGAGCTACTTGTGAGCAGC
+TATTGTTGAGCGAACCCGTCTCTGTTGCAAAAGAGTGGGACGACTTACTAGTAGAGGTGAAAAGCCAATC
+GAGCTGGGTGATAGCTGGTTGCCTGTGAAACGAATCTTAGTTCACTCTTAATTCTTCTCCAAGGAAACTA
+ATAGAACCCTAATGAAGCGAATTAAGGGCAATTTAAAGGGGGTACAGCTCCTTTAAAAAAGAATACAATC
+TCTACGAGCGGATAAATAATCTATAGAAAGATTTCCTGTGGGCCTTCAAGCAGCCATCAACAAAGAGTGC
+GTTAAAGCTCTTCGACTAAAAAATATAAGAACTTCATGACTCCCTCATCATTAACAGGCTAACCTATATG
+TAAATAGGAGAATTAATGCTAGAATGAGTAACCAGGGTCCTCCCTCTACGACGCAAGCTTACATCTTTAC
+ATTATTAACAAATCACCAAGATACGACAAATCAAACAAGCAGAGTATCAGGTAAATTGTTAACCCGACAG
+AGGAGCGTCCATTAAGAAAGATTAAAACCTGTAAAAGGAACTAGGCAAACACATCAAGGCCCGACTGTTT
+ACCAAAAACATAGCCTTCAGCAAACAGCAAACAAGTATTGAAGGTGATGCCTGCCCTGTGACTTAGTGTT
+TAACGGCCGCGGTATCCTAACCGTGCAAAGGTAGCGCAATCAATTGTCTCATAAATCGGGACCAGTATGA
+ATGGCTAAACGAGGTCTTAACTGTCTCTTACAGGCGATCGGTGAAATTGATCTCCCTGTGCAAAAGCAGG
+GATAACTACATAAGACGAGAAGACCCTGTGGAGCTTAAAAATCAGCAGCCACCCCTACACACATTCACTC
+CCACTGGGTACACGCTCATACAGGGAACTGGCCTGCATTTTTCGGTTGGGGCGACCTTGGAGAAAAACAA
+ATCCTCCAAAAATTAGACCACAACTCTAGACTGAGAGCGACCCCTCAACGTGCGAATAGCACCCAGACCC
+AATATAATTGATCAATGGACCAAGTTACCCCAGGGATAACAGCGCAATCTCCTCCGAGAGTCCGTATCGA
+CGGGGAGGTTTACGACCTCGATGTTGGATCAGGACATCCTAGTGGTGCAGCCGCTACTAAGGGTTCGTTT
+GTTCAACGATTAATAGTCCTACGTGATCTGAGTTCAGACCGGAGCAATCCAGGTCGGTTTCCATCTATGA
+TGAACTCTTCCCAGTACGAAAGGACAGGAAAAGTGAGGCCAATACTACAAGCAAGCCTTCGCCTTAAGTG
+ATGAATCCAACTAAATTACGAAAGGCTATCACACTACAACCATGTCCTAGAAAAGGACTAGCTAGCGTGG
+CAGAGCTCGGAAAATGCAAAAGGCTTAAGTCCTTTATATCAGAGGTTCAAATCCTCTCCCTAGCTAAACT
+TAAAATGGCCAACTATCCCATCCTAGTCAACCTCATTATAGCACTTTCTTATGCCATCCCCATTCTAATT
+GCCGTAGCCTTTTTAACCCTAGTAGAACGTAAAATCCTAAGTTACATACAAGGCCGAAAAGGGCCCAACG
+TTGTAGGCCCTTTCGGGCTCCTGCAGCCAGTAGCAGATGGGGTAAAGCTATTCATCAAAGAACCAATCCG
+CCCATCAACATCCTCCCCAATTCTATTTATTACCACCCCAATACTAGCCCTCCTACTAGCAATCTCCATC
+TGAACCCCACTTCCAATCCCATTCCCACTTGCAGATCTAAACCTAGGACTGCTATTCATATTAGCCATGT
+CAAGCCTAGCAGTATACTCAATCCTATGATCTGGCTGAGCCTCCAACTCAAAATACGCCCTAATCGGATC
+TCTACGGGCAGTAGCCCAGACAATTTCATACGAGGTCACCCTAGCAATCATCCTACTATCCATCATCCTT
+CTCAGTGGAAATTATACTCTAAGCACCCTAGCAGTTGTTCAAGAGCCCCTATTTCTTATCTTCTCCTGCT
+GACCCCTCGCCATAATATGATATGTATCTACACTGGCCGAAACAAATCGTGCCCCATTCGACCTCACAGA
+AGGGGAATCAGAACTAGTCTCAGGATTCAACGTAGAATATGCCGCAGGGCCCTTCGCTTTATTCTTCCTA
+GCAGAATACGCGAACATCATGCTCATAAACGCACTAACCGTAATCCTGTTCTTCAACCCAAGCCTATACA
+ATCCACCTCAAGAACTCTTCCCCGTAATTCTAGCCACAAAAGTCCTACTCCTGTCCATAGGATTCCTATG
+AATTCGTGCCTCCTACCCACGATTCCGATATGATCAGCTAATGCATTTACTATGAAAAAACTTCCTCCCA
+CTAACGCTCGCTCTATGTCTGTGACACATTAGCATACCAATTTCCTACGCAGGCCTACCTCCTTACCTAA
+GGAGCCACCAGGAAATGTGCCTGAACGTCAAAAGGGTCACTATGATAAAGTGAACATAGAGGTACACCAG
+CCCTCTCATTTCCTACACCTTAGAAAAACAGGAATCGAACCTGTACAAGAGAGATCAAAACCCTCCATAC
+TTCCTTTATATTATTTTCTAGTAGGGTCAGCTAATCAAGCTATCGGGCCCATACCCCGAAAATGATGGTT
+TAACCCCTTCCCCTGCTAATGAACCCCCAGGCAAAACTGATTTTTATCACTAGCCTACTCCTAGGAACAA
+CCATCACAATTTCAAGCAACCATTGAGTCATGGCCTGAACCGGCCTTGAAATCAACACACTCGCTATTCT
+GCCCCTAATTTCAAAATCCCACCATCCCCGAGCTATTGAGGCAGCAACCAAATATTTTCTAGTTCAAGCA
+ACTGCCTCAACTCTGGTACTATTCTCCAGCATAACCAATGCATGGTACACTGGGCAATGAGATATCACCC
+AGCTAACCCACCCAGCATCCTCCCTAATCCTAACCGCAGCTATTTCAATGAAGCTTGGACTAGTACCCTT
+TCACTTCTGATTCCCAGAAGTCCTACAAGGCTCCCCCCTCATTACTGGCCTTCTCCTGTCCACAGCCATG
+AAATTTCCACCAATTACCCTACTCTACATAACCTCCCTATCCCTAAACCCCACACTACTAACCACCCTGG
+CCGTTCTTTCTGTAGCCATAGGAGGCTGAATAGGACTAAACCAAACACAAGTCCGAAAAATTATGGCCTT
+CTCCTCTATCTCACACCTAGGCTGAATGGCCATTATCTTAATCTACTACCCCAAACTTACTCTACTCAAC
+TTCTACCTGTATGCCATAATAACCGCTGCCGTATTCCTAACCCTAAACTCAATAAAAGTCCTAAACCTAT
+CCACACTAATAACTGCATGAACAAAAGCACCTGCACTTAGCACAATCCTCCTACTAACACTTCTGTCCCT
+GGCCGGCCTCCCCCCTTTAACCGGCTTCCTCCCAAAATGACTCATTATTCAAGAACTAACCAAACAGGAC
+ATAGCTCCGGCAGCAATTATTATCTCCCTTCTTTCACTACTGGGTCTCTTCTTCTACCTCCGTCTTGCGT
+ATTGTGCAACAATCACACTTCCGCCCCACACAACAAACCACATGAAACAATGACGTACCAACAAACCAGT
+TAGCCCCTCAATTGCCATTTTAACAACCCTATCCATCATGCTCCTCCCAACTTCCCCCATACTCACTACC
+ATTATTTAAAGAGAAACTTAGGTTTACTGAAACCGAAGGCCTTCAAAGCCTTAAACAAGAGTTAGACCCT
+CTTAGTTTCTGTTAAAATCCGCAGGACGTTATCCTGCATCTTCTGAATGCAACTCAGATGCTTTAATTAA
+GCTAGGATTTTGCACCTCTAGACAGATGGGCTTCGATCCCATGATACTATAGTTAACAGCTATATGCCCT
+AAACCAACAGGCTTCTGCCTAACAGACTCCGGTGCACTGTCAGTGCACATCGATGAGCTTGCAACTCACC
+ATGAACTTCACTACAGAGCCGATAAGAAGAGGAATTGAACCTCTGTGAAAAGGACTACAGCCTAACGCTT
+ATACACTCAGCCATCTTACCCGTGACTTTCATCAACCGATGACTATTCTCAACCAACCACAAAGACATTG
+GCACTCTGTACCTAATCTTCGGAGCATGAGCCGGAATAGTAGGTACCGCCCTAAGTCTCCTTATTCGAGC
+AGAACTGGGCCAACCAGGTGCTCTACTAGGAGATGACCAAATCTACAATGTAATCGTCACAGCTCATGCC
+TTTGTCATAATTTTCTTCATAGTTATGCCAATCATGATCGGAGGATTTGGAAACTGACTAGTTCCACTAA
+TGATTGGTGCCCCAGACATAGCATTCCCACGAATAAACAACATAAGCTTCTGACTCCTACCACCCTCATT
+CCTCCTACTTCTAGCTTCTTCCACAGTAGAAGCAGGAGCAGGAACAGGATGAACTGTGTACCCACCACTG
+GCTGGTAACATAGCCCATGCTGGAGCCTCAGTTGACCTTGCAATCTTCTCACTACACCTAGCAGGTATTT
+CTTCCATCCTAGGAGCAATTAACTTCATTACCACAGCAATCAACATAAAACCTCCAGCCCTATCACAATA
+TCAAACCCCCCTATTCGTATGATCCGTACTAATTACCGCAGTACTGCTCCTTCTCTCCCTACCCGTACTT
+GCTGCCGGAATTACTATGCTTCTAACAGACCGTAACCTCAATACCACATTCTTCGACCCAGCAGGAGGAG
+GAGACCCGGTACTATACCAGCACCTGTTCTGATTCTTCGGACACCCAGAAGTTTACATCCTAATTCTACC
+AGGATTTGGTATTATTTCTCACGTCGTAGCATACTACGCAGGAAAAAAAGAACCATTTGGCTACATAGGA
+ATAGTATGAGCCATGCTATCCATCGGGTTCTTAGGCTTCATCGTTTGAGCACACCACATGTTTACAGTCG
+GAATGGACGTAGACACTCGAGCATACTTCACATCCGCCACCATAATCATTGCCATCCCAACCGGAATCAA
+AGTGTTCAGCTGACTGGCAACTCTTCACGGAGGAACAATCAAATGAGATCCACCAATGCTGTGAGCCCTA
+GGATTCATCTTCCTCTTCACTATTGGTGGACTAACAGGAATTGTCCTAGCAAACTCCTCCCTAGACATTG
+CCCTACACGACACTTACTACGTAGTAGCTCACTTCCACTACGTACTATCCATAGGAGCAGTATTTGCAAT
+CCTAGCAGGATTTACCCACTGATTCCCACTATTCACCGGATACACCCTACACTCTACATGAGCTAAAATC
+CACTTCGGGGTGATATTCGTAGGAGTAAACCTTACTTTCTTCCCACAACACTTCCTTGGACTAGCTGGCA
+TGCCACGACGATACTCAGACTACCCAGACGCCTACACTCTATGAAACACTATCTCATCAGTAGGATCACT
+AATTTCCCTAACCGCCGTAATCATGCTGATATTTATCATCTGAGAAGCTTTCGCATCCAAACGTAAAGCC
+CTACAGCCAGAACTAGTCAATACAAACGTCGAATGAATCCACGGCTGCCCACCACCATTCCACACATTCG
+AAGAACCAGCCTTCGTTCAAGTTCAAGAAAGGAAGGAGTCGAACCCCCATATGTTGGTTTCAAGCCAACC
+GCATAAACCACTTATGCTTCTTTCTCATTTAGAGGTGTTAGTAAAACTATTACATAGTCTTGTCAAGACT
+AAATTACAGGTTAAAGCCCAGTACACCTCAACACAAATATGGCCAACCACATACAATTCGGTTTTCAAGA
+CGCTTCATCCCCTATCATAGAAGAACTAGTAGAATTTCACGACCACGCTCTAATAACTGCCCTAGCTATT
+TGCAGCCTGGTACTATACCTACTAACCATGATACTCACCGAAAAGCTATCATCCAGCACAGTCGATGCAC
+AAGAAATCGAACTTGTCTGAACAATCCTCCCTGCAATTGTCCTAATCATGCTTGCTCTACCATCCCTACA
+AATCCTCTACATAATGGATGAAATTAACGAGCCCGACCTGACACTAAAAGCCATTGGACACCAATGATAC
+TGATCTTACGAATACACCGACTTCAAGGACCTAACATTTGACTCTTACATGACACCAACTGCAGACCTAC
+CGTTAGGTCACTTCCGACTACTAGAAGTGGACCATCGTGTAGTTGTCCCAATGGAATCACTAGTTCGAGT
+CATCGTTACTGCCGACGACGTACTTCACTCATGAGCCGTCCCAAGCCTAGGCGTAAAAACTGACGCAATC
+CCAGGACGACTGAACCAAACCTCATTCACCGCCACTCGACCTGGAGTATTCTACGGTCAATGCTCAGAAA
+TTTGTGGGGCTAATCACAGCTTCATACCAATTGTAGTTGAATCTGCTCCACTCGCCAATTTCGAGAACTG
+ATCCTCTCTACTATCATCTTAATCATTAAGAAGCTATGAACCAGCGCTAGCCTTTTAAGCTAGAGAAAGA
+GGACTATTCATCCTCCTTAATGATATGCCTCAACTAAACCCAAACCCATGATTTTTTATCATGCTAGCTT
+CGTGACTCACCTACTCCATAATCATCCAACCTAAACTACTATCCTTTGTCTTCATAAACCCTCCAATCAG
+CAAAACCCAAACAACCCCAACCACCTCCCCCTGAACCTGACCATGAACCTAAGCTTCTTCGACCAATTCT
+CAAGCCCATCCCTACTAGGTATTCCCCTAATCCTGATCGCAATAACATTCCCTGCCCTCCTGCTGTCAAC
+CCAAAACAACCGATGAATCACTGATCGCCTATCCACTTTACAATCATGATTCATCAGCCTAATTACAAAA
+CAGCTGATAATGCCACTAAGCAACAAGGGACATAAATGAGCCCTAATCCTAACATCGCTAATACTATTTC
+TCCTACTTATCAACCTGCTAGGCCTACTACCCTACACATTCACCCCAACAACCCAACTTTCTATAAACCT
+AGCTCTAGCAATTCCCCTATGACTTGCCACCCTGCTCACAGGACTACGAAACCAACCCTCAATCTCCCTA
+GCCCACCTCCTACCAGAAGGAACCCCAACTCCACTAATCCCAGCCCTAGTCCTCATTGAAACAACTAGCC
+TTCTTATTCGTCCCCTAGCCCTAGGCGTTCGCCTTACAGCCAACCTCACAGCAGGCCATCTATTAATCCA
+ACTTATCTCAACAGCCACTGCCTCCCTAGTCTCAACAATACCAATAATCTCACTACTAACATTATTAGTA
+TTATTCCTACTCACAGTCCTAGAAGTAGCAGTAGCCATAATCCAAGCCTACGTATTTGTGCTACTACTAA
+GCCTGTATCTACAAGAAAACATTTAAACCACCAATGACTCACCAAGCACACTCTTATCACATAGTTGACC
+CAAGCCCATGACCCATCCTAGGAGCAGCCGCTGCTCTTCTTACTACATCCGGCCTAACCGTATGATTCCA
+CTACAACTCGCCATACCTACTGATCATAGGACTAACTTCTACTGCCCTGGTTATACTTCAATGATGACGT
+GACATCATCCGAGAAAGTACATTCCAAGGCCACCACACACCCACAGTACAAAAAGGCCTACGATATGGAA
+TAGTCCTATTCATCACATCAGAGGCCTTCTTCTTCCTAGGTTTCTTTTGAGCATTCTTCCACTCCAGCCT
+GGCCCCAACACCAGAGCTAGGAGGACAGTGACCTCCAGTCGGAATCAAACCTCTAAACCCAATGGACGTC
+CCCCTCCTAAACACCGCCATCCTACTTGCTTCAGGAGTCACAGTCACATGAGCACACCATAGCATCATAG
+AAGCTAACCGAAAACAAGCAATCCACGCCCTCACCCTTACAGTTCTCCTAGGCTTCTACTTCACCGGCCT
+GCAAGCCATAGAATACTACGAAGCTCCGTTCTCCATCGCTGACGGGGTATACGGTTCTACCTTCTTCGTA
+GCAACTGGCTTCCACGGCCTCCACGTAATCATTGGTTCCACATTCCTCCTAGTATGCCTTCTACGCCTAA
+TCAAATACCACTTTACACCAAAACACCATTTTGGCTTCGAAGCAGCAGCTTGATACTGACACTTTGTAGA
+CGTCGTATGACTATTCCTCTATATGACTATCTACTGATGAGGATCCTACTCTTCTAGTATATTAATTACA
+ATCGACTTCCAATCCTTAAAATCTGGTTTAAACCCAGAGAAGAGTAATGAACATAATCCTATTCATAATA
+GTCTCATCTTTAACTCTAAGTGTCATCCTCACTGCATTAAACTTTTGACTAGCACAAATAAACCCAGACT
+CAGAGAAACTGTCCCCATACGAATGTGGATTTGACCCACTAGGGTCCGCCCGGCTGCCATTTTCAATTCG
+ATTTTTCCTAGTTGCAATCTTATTTTTACTATTTGACCTAGAAATTGCTCTGCTCCTTCCACTACCATGA
+GCCATCCAGCTACAAACCCCCACCCTTACACTAACATGGGCCTCCATCCTTATTCTTCTCCTTACTCTAG
+GTCTGGTTTATGAATGAAGCCAAGGAGGACTAGAATGAGCAGAATAACAGAAAGTTAGTCTAACCAAGAC
+AGTTGACTTCGACTCAACAGATTATAGCTAACGCCCTATAACTTTCTTAATGTCTGCCCTACAATTAAGC
+TTTTTTTCCGCCTTCACCCTAAGCGGCCTAGGCCTAGCCTTCCACCGCACACACTTAATCTCCGCCCTAC
+TATGTCTAGAAAGTATGATACTATCCATATACGTCGCCCTTTCCATGTGACCAATCCAGACCCAAACAAC
+ATCTGCTACCCTCCTACCACTTCTCATACTAGCATTCTCTGCTTGTGAGGCAGCAACAGGCCTAGCTCTA
+CTAGTCGCCTCCACCCGGACCCACGGCTCCGACCACCTGCACAACTTTAACCTACTACAATGCTAAAAAT
+CATTATTCCAACCATCATACTCCTACCACTGACCTTCCTCTCCCCCTACAAACACCTATGAACTAACACC
+ACAACACACAGCCTATTAATTGCCGCTGTCAGCCTCCAATGACTAGTCCCAACATACTACCCAAGCAAAG
+GACTAACCCATTGAACCTCAATTGACCAAATCTCCTCCCCCCTACTAGTTCTATCGTGCTGACTACTCCC
+ACTCATACTCATAGCAAGCCAAAACCACCTAGAACAAGAGCCAATCATCCGTAAACGAATCTTCATCACA
+ACTATAATCACAGTACAGCCCTTTATCCTGCTGGCTTTCTCAGCTTCAGAACTAATACTATTCTACATCG
+CATTTGAAGCAACCCTAATTCCAACCCTAATCCTTATCACACGATGAGGAAACCAACCCGAACGACTGAA
+CGCAGGCATTTACCTGCTATTTTATACACTCGCCAGCTCTCTTCCTCTGCTGATCACAATCCTCCACCTA
+CATAACCAAATTGGCACATTATACCTCCCTATACTCAAACTATCGCACCCAACAATAAACAACTCTTGAA
+CAGGCCTACTAGCAAGCTTAGCCCTCCTACTAGCCTTCATAGTTAAAGCCCCCCTATACGGTCTTCATCT
+ATGACTCCCAAAAGCACATGTAGAAGCCCCAATCGCCGGATCCATGCTACTAGCCGCTCTCCTCCTAAAA
+CTTGGCGGCTACGGCATTATACGAATCACTATCCTAGTAAACCCCTCTGTAAACAACCTACACTACCCAT
+TCATTACTTTAGCACTATGAGGAGCAGTAATAACCAGTGCCATCTGCCTACGACAAATCGACCTAAAGTC
+CCTAATTGCTTACTCCTCTGTAAGCCATATAGGACTAGTCATCGCCGCAACCATAATTCAAACCCAATGA
+GCCTTCTCAGGGGCAATAATCCTAATAATCTCTCACGGCCTAACCTCCTCTATACTATTCTGCCTGGCCA
+ATACAAACTACGAACGAACTCACAGCCGAATCCTACTTCTAACCCGAGGACTTCAACCCCTCCTACCACT
+TATGGCCACCTGATGACTACTAGCAAACCTAACAAACATGGCACTACCACCAACAACCAACCTCATAGCA
+GAACTAACCATTGTAGTAGCCCTGTTCAACTGATCCCCACTGACAATCATTTTAACAGGAACTACAATCG
+TACTAACTGCCTCTTATACCCTACATATGCTAATAACAACACAACGAGGAATACTACCATCCCACATCAC
+CTCAATCCAAAATTCCTCAACACGAGAACATCTCCTGATGGCCCTACACATAATTCCCATAATCCTACTT
+ATTCTCAAACCTGAACTAATCTCAGGAATCCCTATATGCAAGTATAGTTTAATCAAAACATTAGATTGTG
+ATTCTAAAGATAGAAGTTAAACCCTTCTTACCTGCCGAGGGGAGGTTAAACCAACAAGAACTGCTAATTC
+TTGCATCTGAGTATAAAACCTCAGCCCCCTTACTTTCAAAGGATAATAGTAATCCAATGGTCTTAGGAAC
+CAGTCATCTTGGTGCAAATCCAAGTGAAAGTAATGGACCAAATACTTATCCTAAACACATTCATACTACT
+CACCCTAGCAGTACTCTGCACCCCAATCATCTTCCCCATACTATCAAGCAGCCTAAAAAACACTCCAACT
+ATCATTACAAACACTGTCAAAACTTCCTTCCTAATCAGCCTGATCCCCATAACCATCTACATTCACTCAG
+GAATAGAAAGTCTAACTTCCTTCTGGGAATGAAAATTCATTATAAACTTTAAAATTCCTATCAGCCTAAC
+AATAGACTTCTACTCACTGACTTTCTTCCCAATTGCCCTATTTGTCTCCTGATCAATCCTACAATTTGCA
+ACATGATACATAGCCTCAGACCCGCACGTCGCAAAATTTTTCACCTTCCTCCTCCTATTCCTTATTGCCA
+TGCTCATCCTGATTATCTCCAACAACCTGTTCCTACTCTTCATCGGATGAGAAGGAGTAGGAATCATATC
+CTTCCTACTAATCAGCTGATGACATGGCCGAGCAGAAGCAAATACCGCTGCCCTACAGGCCGTACTATAC
+AACCGAGTCGGAGATGTAGGCCTTATCCTGTGCATGGCATGACTAGCTTCCACCATAAACACATGAGAAA
+TTCAACAAATCTCATCTCAGGACCAAACTCCTACCCTACCACTACTAGGCTTAATTTTAGCTGCGGCCGG
+CAAATCCGCCCAATTTGGCCTCCACCCGTGACTCCCAGCAGCAATAGAAGGCCCAACCCCTGTATCCGCC
+TTACTTCATTCCAGCACCATAGTAGTCGCCGGGATCTTCCTACTTATCCGAACTCACCCCCTCTTCCACA
+ACAACCCCACTGCACTATCACTATGCCTATGCCTGGGAGCCCTCTCCACACTATTCGCAGCCACTTGCGC
+CCTGACCCAAAATGATATCAAAAAAATCATTGCTTTTTCCACATCCAGCCAACTAGGCCTAATAATAGTT
+ACAATCGGCCTAAATCTTCCCCATCTAGCCTTCCTGCATATTTCAACCCACGCATTCTTCAAAGCCATGC
+TATTCCTATGTTCAGGGTCAATCATTCACAGCCTCAACGGCGAACAAGACATTCGAAAAATAGGAGGACT
+TCAAAAAATACTACCAACAACAACCTCATGCCTAACTATCGGAAACCTAGCCCTGATAGGAACACCATTT
+CTGGCAGGATTCTACTCCAAAGACCAAATTATCGAAAGCCTCAACACCTCGTACTTAAACGCTTGAGCCC
+TAGTTCTAACTCTCCTAGCTACATCATTCACCGCAGTATATACTATTCGAATAACCCTATTAGTTCAAAC
+AGGATACGTCCGAATTCCTCCCCTAACCCCCATGAACGAAAATAACCCAGCAGTCCTCTCCTCAATCACT
+CGACTTGCACTAGGAAGCATTGTAGCAGGATTCCTAATCACCTCATATATTCCACCTGCAAAAACCCCAC
+CAATAACTATACCACTATCCATTAAAGTCACGGCCCTTGTAGTAACACTACTAGGAATCATCCTAGCCCT
+AGAACTCTCAAAACTAACTCAAGCTTTAATCCTCCCTAAACAGAATCGCTTCTCAAATTTCTCTACAGCC
+CTAGGATACTTTAATCCCCTAGTACACCGATTTATCCCAACAAAAATACTAAGCGGCGGCCAAAACATTG
+CCTCCCACCTAATTGACCTCTCTTGATTCAAACTTCTAGGCCCTGAAGGGTTAGCCAACCTACAAATAAT
+AGCATCAAAAACCGCTACCTCCTTCCACACAGGCCTAATTAAAGCCTACCTAGGATCATTTGCCTTATCA
+ATCTTTATCATCCTCCTATCCACATACAGAACCAAACTTAATGGCCCTAAATCTACGAAAAAATCACCCA
+CTACTAAAAATCATCAACAACTCCCTAGTTGACCTTCCCACTCCATCAAACATTTCAGCTTGATGAAACT
+TCGGATCCCTACTAGGCCTATGCCTCATCACACAAATTGTCACAGGCCTACTACTAGCCATACATTACAC
+AGCAGACACCTCCCTAGCCTTCGCTTCCGTAGCCCACATATGCCGAGACGTACAATTCGGATGACTAATC
+CGAAACCTCCACGCAAATGGGGCCTCCTTCTTTTTCATTTGCATCTACCTACATATTGGCCGAGGATTCT
+ATTACGGCTCATACCTAAACAAAGAAACCTGAAACATTGGAGTAGTCCTTCTTCTAACACTAATAGCAAC
+TGCCTTCGTAGGATACGTCCTGCCATGAGGACAAATATCTTTCTGAGGAGCTACAGTCATTACAAACCTT
+TTCTCAGCAATCCCATACATTGGACAAACATTAGTAGAATGACTATGAGGCGGGTTCTCAGTAGACAACC
+CCACACTAACCCGATTCTTCGCCTTCCACTTCCTCCTCCCCTTTGTAATCGCAGGCCTGACACTAGTACA
+CTTAACCTTCCTCCACGAAACAGGCTCAAACAACCCACTAGGAATCCCCTCAGATTGCGACAAAATTCCA
+TTCCACCCTTACTACTCCATCAAAGACCTACTAGGATTCGCACTAATACTCGTCCCATTCGTCACTCTGG
+CCCTATTTTCCCCAAACCTCCTAGGAGACCCAGAAAATTTCACGCCCGCCAACCCCCTGGCCACACCTCC
+CCACATTAAACCCGAATGATACTTCCTATTTGCATACGCCATTCTCCGATCCATCCCAAACAAACTAGGA
+GGAGTCCTAGCTCTAGCCGCCTCAGTCCTAGTCCTATTCCTAATACCTCTCCTCCACACGTCTAAACAAC
+GTTCCATAACCTTTCGACCCCTATCACAAATCCTATTCTGAGCTCTAGTCGCAGACCTCTTCATCCTAAC
+ATGAGTAGGAAGCCAACCAGTCGAACACCCATTCATCATCATTGGCCAACTAGCCTCCTTCACCTACTTC
+GCAATCATCCTAATCCTGTTCCCTATCGCGAGTGCACTAGAAAACAAAATACTAAAACTCTAATCAACTC
+TAATAGTTTATAAAAACATTGGTCTTGTAAGCCAAAGATTGAAGACTAAACATCTTCTTAGAGTTAACAC
+ATAAATCAGAAAGAAAGGAGTCAAACCTTTATCACCAACTCCCAAAGCTGGCATTCTCAATTAAACTACT
+CTCTGACCTACCAATTAAACCGCCCGAATTGCCCCCCGAGATAACCCCCGCACAAGTTCTAAAACCACAA
+ACAGTGTTAATAACAGGCCTCATCCTGCAATTAAAAGCAGCCCTGACCCAGACGAATAGAACATAGCTAC
+TCCACTAAAATCCGTCCGAGTTCACGATAGACCTCCATTATTCACCGTATCCCCTCCCATAATCACTTCA
+GAAAACACCCCTGTAGCAAACCCCACAATAACAACGACTAACCCCAGACCAACACCATAACCAACAACCC
+GTCAATCACCCCAAGATTCCGGATAAGGATCCGCTGCCAGAGACACTGAATAAACAAATACCACCAGCAT
+CCCCCCTAAATATACCATCACCAGTACAAGAGAAACAAAAGAAACCCCCATACTTACCAGTCACCCACAT
+CCAGCAATAGAAGCCACAACCAGACCCACCACCCCATAATAAGGAGAAGGGTTAGACGCAACCGCTAACC
+CTCCTAAAACAAAGCATAGACTCATAAAAAGAACAAAGTTTATCATAGTTCCTGCTTGGATCCTCCCCAA
+GACCTATGGCTTGAAAAACCATTATTATAAAACTTTAACTACAGGAACTAAACCCTACTCTCATCCACCC
+CCCCCCCTTACCCCCCCCATGTTTTTACATGGGATTTTGGCTATGTATTTCTTTGCATACAATTCTCGTC
+CACATTAGACATAATATGCATGTAGGATAACTCACATAACAAGTAATGCAAGACCTAACCAAACTCAAAT
+ATCATCGCCCATAACACCCCAAACGGACAGATAACCTTCCAGGCACATCCCCATCGCAGGCACAACAAAC
+CCAGGTAATCCTACCAACGACACAAGACAAGCTTCGCCCAAGATCGAGAATGTTTTACCTTACATAACAA
+CGCACTCTCGTAAACGAGGAATATCCTAGTACCCCAATGAATTCTTAATCCCATACGTTTCAGTCCATCA
+CCACAAAACCTCCTAGTCCTATCACTCTCAAGAGCTCCCAAGAAGGACCTGGTTATTTATTAGTCGTAAT
+CCTCACGAGAACCGAGCTACTCAACGTAGGTGCTACCCACGGCTACCAGCTTCAAGGCCATACTTTCCCC
+CTACACCCTCGCCCAACTTGCGCTTTTGCGCCTCTGGTTCCTATTTCAGGGCCATAACTTGGACCTTTCC
+CTCCTTATCGCTCTTCACAGATGCAAGTGGTCGGATGCATAATCCTCCCTTTGCCTCGTGATCGCGGCAT
+CCGACCGACTTGGCGCTTGTTTTCTTTTTGGGGTCTCTTCATTAAACCCTTCAAGTGCGTAGCAGGAGTT
+ATCTTCCTCTTGACGTGTACATCACATGGCATCCGAGCGGCTATTTGTCTGTAATGTACCTGGTGTCATG
+GTTGTTCGGATAAGGTCGTCTCAAACTTGACACTGATGCACTTTTACCCCATTCATGGTGGGTCCCCCAG
+CTACCTATACGGTGGCAGATAATGTTATGGTTGCCGGACATAGTTTGTTATTTTTCCTTTACTAGGAATT
+ATCACCCAAACCTTCATTTTCATTCTTTTTTTTATCGTTTATTTTTATGTTGTAATTTTAACAAAATAAA
+CAACAACTTTTATATGATATTAACCTAGATTTTCCAAACCATTCATCGTTCGTTCATTAACACTTAACTT
+TCCTCTGCCTTTCCCCTATTTTTAACCCAACAAATCAATGACTTTCATCATAACTTCCACAACCACCAAC
+TTAGCCAAATTACACAAAACAAACAAACCAATTAAAAACAAGATAAAAGTACACACCCTTTACACACAAC
+CACACTAAACACACAACAAAACTTAACACACTATATGCCACAATACTACTTTTCATTTATAAAAAAAACA
+AGATAAAAATACAAAACATCAATACCAATAATAAGTCCAAAATACTACATTCGCTT
diff --git a/dat/csf.txt b/dat/csf.txt
new file mode 100644
index 0000000..0fd2e61
--- /dev/null
+++ b/dat/csf.txt
@@ -0,0 +1,243 @@
+>gi|669032233|ref|NC_024607.1| Corvus splendens mitochondrion, complete genome
+GTCCATGTAGCTTACAATAAAGCATGACACTGAAGATGTCAAGACGGCTGCCACAAACACCCATGGACAA
+AAGACTTAGTCCTAACCTTACTGTTGGTTTTTGCCAGAATTATACATGCAAGTATCCGCATTCCAGTGTA
+AATGCCCTAGGCACCCTTTAACCAAGTCGATAGGAGCGGGTATCAGGCACACACAATTGTAGCCCAAGAC
+GCCTTGCACTTGCCACACCCCCACGGGTATTCAGCAGTGGTTAACATTAAGCAATGAGTGTAAACTTGAC
+TTAGTCATGGCAACCTTAAGGGTCGGTAAATCCTGTGCCAGCCACCGCGGTCATACAGGAGACTCAAATT
+AACAGTATAACGGCGTAAAGGGTGGTAACATGCTATCTAAGTAACTAAGATTAAAAAGCAACTGAGCTGT
+AATAAGCCCAAGATGCTCATAAGGCCAACTACCAAAGAAGATCTTAGACTGACGATTAATTGAAATCCAC
+GAAAGCCAGGGCCCAAACTGGGATTAGATACCCCACTATGCCTGGCCCTAAATCTTGATGCTCTATGCTA
+CCTGAGCATCCGCCCGAGAACTACGAGCACAAACGCTTAAAACTCTAAGGACTTGGCGGTGTCCCAAACC
+CACCTAGAGGAGCCTGTTCTGTAATCGATGATCCACGATATTACCTGACCACTCCTTGCTGAATCAGCCT
+ACATACCGCCGTCGCCAGCCCACCCCCCCTGATGGTTCAACAGTGAGCGCAATAGTCCCTACCCACTAGT
+AAGACAGGTCAAGGTATAGCCCATGGAGTGGAAGTAATGGGCTACATTTTCTAGTTTAGAACATCACGGC
+AAAAGGGTCTGAAATGGCCCTTAGAAGGCGGATTTAGCAGTAAAGTGGGACAATCGAGCCCTCTTTAAGC
+CGGCTCTGGGATGCGTACATACCGCCCGTCACCCTCCTCACAAGCGACCCAAACCCCCCAATACATTAAT
+ACGCTATCCAGCTAAAGAGGAGGCAAGTCGTAACAAGGTAAGTGTACCGGAAGGTGCACTTAGACAACCA
+AGACGTAGCTTAGACGAAAGCATTCAGCTTACACCTGAAAAACATCTGCTAACACCAGATCGTCTTGATG
+CCAAATTCTAGCCCAACCACATTGACCTGGAATAACAAAGCTACTACATACACCAAACTAAAGCATTCAC
+TAGTCTTAGTATAGGCGATAGAAAAGACACCAATTGGAGCGATAGAGATCACGTACCGTAAGGGAAAGAT
+GAAATAATAATGAAAAAACTAAGCTATAAACAGCAAAGATCAACCCTTGTACCTTTTGCATCATGGTCTA
+GCAAGAAAAACCAAGCAAAATGAGTTTAAGTTTGCCACCCCGAAACCTAAGCGAGCTACTTGTGAGCAGC
+TATTGTTGAGCGAACCCGTCTCTGTTGCAAAAGAGTGGGACGACTTACTAGTAGAGGTGAAAAGCCAATC
+GAGCTGGGTGATAGCTGGTTGCCTGTGAAACGAATCTTAGTTCACTCTTAATTCTTCTCCAAGGAAACTA
+ATAGAACCCTAATGAAGCGAATTAAGGGCAATTTAAAGGGGGTACAGCTCCTTTAAAAAAGAATACAATC
+TCTACGAGCGGATAAATAATCTATAGAAAGATTTCCTGTGGGCCTTCAAGCAGCCATCAACAAAGAGTGC
+GTTAAAGCTCTTCGACTAAAAAATATAAGAACTTCATGACTCCCTCATCATTAACAGGCTAACCTATATG
+TAAATAGGAGAATTAATGCTAGAATGAGTAACCAGGGTCCTCCCTCTACGACGCAAGCTTACATCTTTAC
+ATTATTAACAAATCACCAAGATACGACAAATCAAACAAGCAGAGTATCAGGTAAATTGTTAACCCGACAG
+AGGAGCGTCCATTAAGAAAGATTAAAACCTGTAAAAGGAACTAGGCAAACACATCAAGGCCCGACTGTTT
+ACCAAAAACATAGCCTTCAGCAAACAGCAAACAAGTATTGAAGGTGATGCCTGCCCTGTGACTTAGTGTT
+TAACGGCCGCGGTATCCTAACCGTGCAAAGGTAGCGCAATCAATTGTCTCATAAATCGGGACCAGTATGA
+ATGGCTAAACGAGGTCTTAACTGTCTCTTACAGGCGATCGGTGAAATTGATCTCCCTGTGCAAAAGCAGG
+GATAACTACATAAGACGAGAAGACCCTGTGGAGCTTAAAAATCAGCAGCCACCCCTACACACATTCACTC
+CCACTGGGTACACGCTCATACAGGGAACTGGCCTGCATTTTTCGGTTGGGGCGACCTTGGAGAAAAACAA
+ATCCTCCAAAAATTAGACCACAACTCTAGACTGAGAGCGACCCCTCAACGTGCGAATAGCACCCAGACCC
+AATATAATTGATCAATGGACCAAGTTACCCCAGGGATAACAGCGCAATCTCCTCCGAGAGTCCGTATCGA
+CGGGGAGGTTTACGACCTCGATGTTGGATCAGGACATCCTAGTGGTGCAGCCGCTACTAAGGGTTCGTTT
+GTTCAACGATTAATAGTCCTACGTGATCTGAGTTCAGACCGGAGCAATCCAGGTCGGTTTCCATCTATGA
+TGAACTCTTCCCAGTACGAAAGGACAGGAAAAGTGAGGCCAATACTACAAGCAAGCCTTCGCCTTAAGTG
+ATGAATCCAACTAAATTACGAAAGGCTATCACACTACAACCATGTCCTAGAAAAGGACTAGCTAGCGTGG
+CAGAGCTCGGAAAATGCAAAAGGCTTAAGTCCTTTATATCAGAGGTTCAAATCCTCTCCCTAGCTAAACT
+TAAAATGGCCAACTATCCCATCCTAGTCAACCTCATTATAGCACTTTCTTATGCCATCCCCATTCTAATT
+GCCGTAGCCTTTTTAACCCTAGTAGAACGTAAAATCCTAAGTTACATACAAGGCCGAAAAGGGCCCAACG
+TTGTAGGCCCTTTCGGGCTCCTGCAGCCAGTAGCAGATGGGGTAAAGCTATTCATCAAAGAACCAATCCG
+CCCATCAACATCCTCCCCAATTCTATTTATTACCACCCCAATACTAGCCCTCCTACTAGCAATCTCCATC
+TGAACCCCACTTCCAATCCCATTCCCACTTGCAGATCTAAACCTAGGACTGCTATTCATATTAGCCATGT
+CAAGCCTAGCAGTATACTCAATCCTATGATCTGGCTGAGCCTCCAACTCAAAATACGCCCTAATCGGATC
+TCTACGGGCAGTAGCCCAGACAATTTCATACGAGGTCACCCTAGCAATCATCCTACTATCCATCATCCTT
+CTCAGTGGAAATTATACTCTAAGCACCCTAGCAGTTGTTCAAGAGCCCCTATTTCTTATCTTCTCCTGCT
+GACCCCTCGCCATAATATGATATGTATCTACACTGGCCGAAACAAATCGTGCCCCATTCGACCTCACAGA
+AGGGGAATCAGAACTAGTCTCAGGATTCAACGTAGAATATGCCGCAGGGCCCTTCGCTTTATTCTTCCTA
+GCAGAATACGCGAACATCATGCTCATAAACGCACTAACCGTAATCCTGTTCTTCAACCCAAGCCTATACA
+ATCCACCTCAAGAACTCTTCCCCGTAATTCTAGCCACAAAAGTCCTACTCCTGTCCATAGGATTCCTATG
+AATTCGTGCCTCCTACCCACGATTCCGATATGATCAGCTAATGCATTTACTATGAAAAAACTTCCTCCCA
+CTAACGCTCGCTCTATGTCTGTGACACATTAGCATACCAATTTCCTACGCAGGCCTACCTCCTTACCTAA
+GGAGCCACCAGGAAATGTGCCTGAACGTCAAAAGGGTCACTATGATAAAGTGAACATAGAGGTACACCAG
+CCCTCTCATTTCCTACACCTTAGAAAAACAGGAATCGAACCTGTACAAGAGAGATCAAAACCCTCCATAC
+TTCCTTTATATTATTTTCTAGTAGGGTCAGCTAATCAAGCTATCGGGCCCATACCCCGAAAATGATGGTT
+TAACCCCTTCCCCTGCTAATGAACCCCCAGGCAAAACTGATTTTTATCACTAGCCTACTCCTAGGAACAA
+CCATCACAATTTCAAGCAACCATTGAGTCATGGCCTGAACCGGCCTTGAAATCAACACACTCGCTATTCT
+GCCCCTAATTTCAAAATCCCACCATCCCCGAGCTATTGAGGCAGCAACCAAATATTTTCTAGTTCAAGCA
+ACTGCCTCAACTCTGGTACTATTCTCCAGCATAACCAATGCATGGTACACTGGGCAATGAGATATCACCC
+AGCTAACCCACCCAGCATCCTCCCTAATCCTAACCGCAGCTATTTCAATGAAGCTTGGACTAGTACCCTT
+TCACTTCTGATTCCCAGAAGTCCTACAAGGCTCCCCCCTCATTACTGGCCTTCTCCTGTCCACAGCCATG
+AAATTTCCACCAATTACCCTACTCTACATAACCTCCCTATCCCTAAACCCCACACTACTAACCACCCTGG
+CCGTTCTTTCTGTAGCCATAGGAGGCTGAATAGGACTAAACCAAACACAAGTCCGAAAAATTATGGCCTT
+CTCCTCTATCTCACACCTAGGCTGAATGGCCATTATCTTAATCTACTACCCCAAACTTACTCTACTCAAC
+TTCTACCTGTATGCCATAATAACCGCTGCCGTATTCCTAACCCTAAACTCAATAAAAGTCCTAAACCTAT
+CCACACTAATAACTGCATGAACAAAAGCACCTGCACTTAGCACAATCCTCCTACTAACACTTCTGTCCCT
+GGCCGGCCTCCCCCCTTTAACCGGCTTCCTCCCAAAATGACTCATTATTCAAGAACTAACCAAACAGGAC
+ATAGCTCCGGCAGCAATTATTATCTCCCTTCTTTCACTACTGGGTCTCTTCTTCTACCTCCGTCTTGCGT
+ATTGTGCAACAATCACACTTCCGCCCCACACAACAAACCACATGAAACAATGACGTACCAACAAACCAGT
+TAGCCCCTCAATTGCCATTTTAACAACCCTATCCATCATGCTCCTCCCAACTTCCCCCATACTCACTACC
+ATTATTTAAAGAGAAACTTAGGTTTACTGAAACCGAAGGCCTTCAAAGCCTTAAACAAGAGTTAGACCCT
+CTTAGTTTCTGTTAAAATCCGCAGGACGTTATCCTGCATCTTCTGAATGCAACTCAGATGCTTTAATTAA
+GCTAGGATTTTGCACCTCTAGACAGATGGGCTTCGATCCCATGATACTATAGTTAACAGCTATATGCCCT
+AAACCAACAGGCTTCTGCCTAACAGACTCCGGTGCACTGTCAGTGCACATCGATGAGCTTGCAACTCACC
+ATGAACTTCACTACAGAGCCGATAAGAAGAGGAATTGAACCTCTGTGAAAAGGACTACAGCCTAACGCTT
+ATACACTCAGCCATCTTACCCGTGACTTTCATCAACCGATGACTATTCTCAACCAACCACAAAGACATTG
+GCACTCTGTACCTAATCTTCGGAGCATGAGCCGGAATAGTAGGTACCGCCCTAAGTCTCCTTATTCGAGC
+AGAACTGGGCCAACCAGGTGCTCTACTAGGAGATGACCAAATCTACAATGTAATCGTCACAGCTCATGCC
+TTTGTCATAATTTTCTTCATAGTTATGCCAATCATGATCGGAGGATTTGGAAACTGACTAGTTCCACTAA
+TGATTGGTGCCCCAGACATAGCATTCCCACGAATAAACAACATAAGCTTCTGACTCCTACCACCCTCATT
+CCTCCTACTTCTAGCTTCTTCCACAGTAGAAGCAGGAGCAGGAACAGGATGAACTGTGTACCCACCACTG
+GCTGGTAACATAGCCCATGCTGGAGCCTCAGTTGACCTTGCAATCTTCTCACTACACCTAGCAGGTATTT
+CTTCCATCCTAGGAGCAATTAACTTCATTACCACAGCAATCAACATAAAACCTCCAGCCCTATCACAATA
+TCAAACCCCCCTATTCGTATGATCCGTACTAATTACCGCAGTACTGCTCCTTCTCTCCCTACCCGTACTT
+GCTGCCGGAATTACTATGCTTCTAACAGACCGTAACCTCAATACCACATTCTTCGACCCAGCAGGAGGAG
+GAGACCCGGTACTATACCAGCACCTGTTCTGATTCTTCGGACACCCAGAAGTTTACATCCTAATTCTACC
+AGGATTTGGTATTATTTCTCACGTCGTAGCATACTACGCAGGAAAAAAAGAACCATTTGGCTACATAGGA
+ATAGTATGAGCCATGCTATCCATCGGGTTCTTAGGCTTCATCGTTTGAGCACACCACATGTTTACAGTCG
+GAATGGACGTAGACACTCGAGCATACTTCACATCCGCCACCATAATCATTGCCATCCCAACCGGAATCAA
+AGTGTTCAGCTGACTGGCAACTCTTCACGGAGGAACAATCAAATGAGATCCACCAATGCTGTGAGCCCTA
+GGATTCATCTTCCTCTTCACTATTGGTGGACTAACAGGAATTGTCCTAGCAAACTCCTCCCTAGACATTG
+CCCTACACGACACTTACTACGTAGTAGCTCACTTCCACTACGTACTATCCATAGGAGCAGTATTTGCAAT
+CCTAGCAGGATTTACCCACTGATTCCCACTATTCACCGGATACACCCTACACTCTACATGAGCTAAAATC
+CACTTCGGGGTGATATTCGTAGGAGTAAACCTTACTTTCTTCCCACAACACTTCCTTGGACTAGCTGGCA
+TGCCACGACGATACTCAGACTACCCAGACGCCTACACTCTATGAAACACTATCTCATCAGTAGGATCACT
+AATTTCCCTAACCGCCGTAATCATGCTGATATTTATCATCTGAGAAGCTTTCGCATCCAAACGTAAAGCC
+CTACAGCCAGAACTAGTCAATACAAACGTCGAATGAATCCACGGCTGCCCACCACCATTCCACACATTCG
+AAGAACCAGCCTTCGTTCAAGTTCAAGAAAGGAAGGAGTCGAACCCCCATATGTTGGTTTCAAGCCAACC
+GCATAAACCACTTATGCTTCTTTCTCATTTAGAGGTGTTAGTAAAACTATTACATAGTCTTGTCAAGACT
+AAATTACAGGTTAAAGCCCAGTACACCTCAACACAAATATGGCCAACCACATACAATTCGGTTTTCAAGA
+CGCTTCATCCCCTATCATAGAAGAACTAGTAGAATTTCACGACCACGCTCTAATAACTGCCCTAGCTATT
+TGCAGCCTGGTACTATACCTACTAACCATGATACTCACCGAAAAGCTATCATCCAGCACAGTCGATGCAC
+AAGAAATCGAACTTGTCTGAACAATCCTCCCTGCAATTGTCCTAATCATGCTTGCTCTACCATCCCTACA
+AATCCTCTACATAATGGATGAAATTAACGAGCCCGACCTGACACTAAAAGCCATTGGACACCAATGATAC
+TGATCTTACGAATACACCGACTTCAAGGACCTAACATTTGACTCTTACATGACACCAACTGCAGACCTAC
+CGTTAGGTCACTTCCGACTACTAGAAGTGGACCATCGTGTAGTTGTCCCAATGGAATCACTAGTTCGAGT
+CATCGTTACTGCCGACGACGTACTTCACTCATGAGCCGTCCCAAGCCTAGGCGTAAAAACTGACGCAATC
+CCAGGACGACTGAACCAAACCTCATTCACCGCCACTCGACCTGGAGTATTCTACGGTCAATGCTCAGAAA
+TTTGTGGGGCTAATCACAGCTTCATACCAATTGTAGTTGAATCTGCTCCACTCGCCAATTTCGAGAACTG
+ATCCTCTCTACTATCATCTTAATCATTAAGAAGCTATGAACCAGCGCTAGCCTTTTAAGCTAGAGAAAGA
+GGACTATTCATCCTCCTTAATGATATGCCTCAACTAAACCCAAACCCATGATTTTTTATCATGCTAGCTT
+CGTGACTCACCTACTCCATAATCATCCAACCTAAACTACTATCCTTTGTCTTCATAAACCCTCCAATCAG
+CAAAACCCAAACAACCCCAACCACCTCCCCCTGAACCTGACCATGAACCTAAGCTTCTTCGACCAATTCT
+CAAGCCCATCCCTACTAGGTATTCCCCTAATCCTGATCGCAATAACATTCCCTGCCCTCCTGCTGTCAAC
+CCAAAACAACCGATGAATCACTGATCGCCTATCCACTTTACAATCATGATTCATCAGCCTAATTACAAAA
+CAGCTGATAATGCCACTAAGCAACAAGGGACATAAATGAGCCCTAATCCTAACATCGCTAATACTATTTC
+TCCTACTTATCAACCTGCTAGGCCTACTACCCTACACATTCACCCCAACAACCCAACTTTCTATAAACCT
+AGCTCTAGCAATTCCCCTATGACTTGCCACCCTGCTCACAGGACTACGAAACCAACCCTCAATCTCCCTA
+GCCCACCTCCTACCAGAAGGAACCCCAACTCCACTAATCCCAGCCCTAGTCCTCATTGAAACAACTAGCC
+TTCTTATTCGTCCCCTAGCCCTAGGCGTTCGCCTTACAGCCAACCTCACAGCAGGCCATCTATTAATCCA
+ACTTATCTCAACAGCCACTGCCTCCCTAGTCTCAACAATACCAATAATCTCACTACTAACATTATTAGTA
+TTATTCCTACTCACAGTCCTAGAAGTAGCAGTAGCCATAATCCAAGCCTACGTATTTGTGCTACTACTAA
+GCCTGTATCTACAAGAAAACATTTAAACCACCAATGACTCACCAAGCACACTCTTATCACATAGTTGACC
+CAAGCCCATGACCCATCCTAGGAGCAGCCGCTGCTCTTCTTACTACATCCGGCCTAACCGTATGATTCCA
+CTACAACTCGCCATACCTACTGATCATAGGACTAACTTCTACTGCCCTGGTTATACTTCAATGATGACGT
+GACATCATCCGAGAAAGTACATTCCAAGGCCACCACACACCCACAGTACAAAAAGGCCTACGATATGGAA
+TAGTCCTATTCATCACATCAGAGGCCTTCTTCTTCCTAGGTTTCTTTTGAGCATTCTTCCACTCCAGCCT
+GGCCCCAACACCAGAGCTAGGAGGACAGTGACCTCCAGTCGGAATCAAACCTCTAAACCCAATGGACGTC
+CCCCTCCTAAACACCGCCATCCTACTTGCTTCAGGAGTCACAGTCACATGAGCACACCATAGCATCATAG
+AAGCTAACCGAAAACAAGCAATCCACGCCCTCACCCTTACAGTTCTCCTAGGCTTCTACTTCACCGGCCT
+GCAAGCCATAGAATACTACGAAGCTCCGTTCTCCATCGCTGACGGGGTATACGGTTCTACCTTCTTCGTA
+GCAACTGGCTTCCACGGCCTCCACGTAATCATTGGTTCCACATTCCTCCTAGTATGCCTTCTACGCCTAA
+TCAAATACCACTTTACACCAAAACACCATTTTGGCTTCGAAGCAGCAGCTTGATACTGACACTTTGTAGA
+CGTCGTATGACTATTCCTCTATATGACTATCTACTGATGAGGATCCTACTCTTCTAGTATATTAATTACA
+ATCGACTTCCAATCCTTAAAATCTGGTTTAAACCCAGAGAAGAGTAATGAACATAATCCTATTCATAATA
+GTCTCATCTTTAACTCTAAGTGTCATCCTCACTGCATTAAACTTTTGACTAGCACAAATAAACCCAGACT
+CAGAGAAACTGTCCCCATACGAATGTGGATTTGACCCACTAGGGTCCGCCCGGCTGCCATTTTCAATTCG
+ATTTTTCCTAGTTGCAATCTTATTTTTACTATTTGACCTAGAAATTGCTCTGCTCCTTCCACTACCATGA
+GCCATCCAGCTACAAACCCCCACCCTTACACTAACATGGGCCTCCATCCTTATTCTTCTCCTTACTCTAG
+GTCTGGTTTATGAATGAAGCCAAGGAGGACTAGAATGAGCAGAATAACAGAAAGTTAGTCTAACCAAGAC
+AGTTGACTTCGACTCAACAGATTATAGCTAACGCCCTATAACTTTCTTAATGTCTGCCCTACAATTAAGC
+TTTTTTTCCGCCTTCACCCTAAGCGGCCTAGGCCTAGCCTTCCACCGCACACACTTAATCTCCGCCCTAC
+TATGTCTAGAAAGTATGATACTATCCATATACGTCGCCCTTTCCATGTGACCAATCCAGACCCAAACAAC
+ATCTGCTACCCTCCTACCACTTCTCATACTAGCATTCTCTGCTTGTGAGGCAGCAACAGGCCTAGCTCTA
+CTAGTCGCCTCCACCCGGACCCACGGCTCCGACCACCTGCACAACTTTAACCTACTACAATGCTAAAAAT
+CATTATTCCAACCATCATACTCCTACCACTGACCTTCCTCTCCCCCTACAAACACCTATGAACTAACACC
+ACAACACACAGCCTATTAATTGCCGCTGTCAGCCTCCAATGACTAGTCCCAACATACTACCCAAGCAAAG
+GACTAACCCATTGAACCTCAATTGACCAAATCTCCTCCCCCCTACTAGTTCTATCGTGCTGACTACTCCC
+ACTCATACTCATAGCAAGCCAAAACCACCTAGAACAAGAGCCAATCATCCGTAAACGAATCTTCATCACA
+ACTATAATCACAGTACAGCCCTTTATCCTGCTGGCTTTCTCAGCTTCAGAACTAATACTATTCTACATCG
+CATTTGAAGCAACCCTAATTCCAACCCTAATCCTTATCACACGATGAGGAAACCAACCCGAACGACTGAA
+CGCAGGCATTTACCTGCTATTTTATACACTCGCCAGCTCTCTTCCTCTGCTGATCACAATCCTCCACCTA
+CATAACCAAATTGGCACATTATACCTCCCTATACTCAAACTATCGCACCCAACAATAAACAACTCTTGAA
+CAGGCCTACTAGCAAGCTTAGCCCTCCTACTAGCCTTCATAGTTAAAGCCCCCCTATACGGTCTTCATCT
+ATGACTCCCAAAAGCACATGTAGAAGCCCCAATCGCCGGATCCATGCTACTAGCCGCTCTCCTCCTAAAA
+CTTGGCGGCTACGGCATTATACGAATCACTATCCTAGTAAACCCCTCTGTAAACAACCTACACTACCCAT
+TCATTACTTTAGCACTATGAGGAGCAGTAATAACCAGTGCCATCTGCCTACGACAAATCGACCTAAAGTC
+CCTAATTGCTTACTCCTCTGTAAGCCATATAGGACTAGTCATCGCCGCAACCATAATTCAAACCCAATGA
+GCCTTCTCAGGGGCAATAATCCTAATAATCTCTCACGGCCTAACCTCCTCTATACTATTCTGCCTGGCCA
+ATACAAACTACGAACGAACTCACAGCCGAATCCTACTTCTAACCCGAGGACTTCAACCCCTCCTACCACT
+TATGGCCACCTGATGACTACTAGCAAACCTAACAAACATGGCACTACCACCAACAACCAACCTCATAGCA
+GAACTAACCATTGTAGTAGCCCTGTTCAACTGATCCCCACTGACAATCATTTTAACAGGAACTACAATCG
+TACTAACTGCCTCTTATACCCTACATATGCTAATAACAACACAACGAGGAATACTACCATCCCACATCAC
+CTCAATCCAAAATTCCTCAACACGAGAACATCTCCTGATGGCCCTACACATAATTCCCATAATCCTACTT
+ATTCTCAAACCTGAACTAATCTCAGGAATCCCTATATGCAAGTATAGTTTAATCAAAACATTAGATTGTG
+ATTCTAAAGATAGAAGTTAAACCCTTCTTACCTGCCGAGGGGAGGTTAAACCAACAAGAACTGCTAATTC
+TTGCATCTGAGTATAAAACCTCAGCCCCCTTACTTTCAAAGGATAATAGTAATCCAATGGTCTTAGGAAC
+CAGTCATCTTGGTGCAAATCCAAGTGAAAGTAATGGACCAAATACTTATCCTAAACACATTCATACTACT
+CACCCTAGCAGTACTCTGCACCCCAATCATCTTCCCCATACTATCAAGCAGCCTAAAAAACACTCCAACT
+ATCATTACAAACACTGTCAAAACTTCCTTCCTAATCAGCCTGATCCCCATAACCATCTACATTCACTCAG
+GAATAGAAAGTCTAACTTCCTTCTGGGAATGAAAATTCATTATAAACTTTAAAATTCCTATCAGCCTAAC
+AATAGACTTCTACTCACTGACTTTCTTCCCAATTGCCCTATTTGTCTCCTGATCAATCCTACAATTTGCA
+ACATGATACATAGCCTCAGACCCGCACGTCGCAAAATTTTTCACCTTCCTCCTCCTATTCCTTATTGCCA
+TGCTCATCCTGATTATCTCCAACAACCTGTTCCTACTCTTCATCGGATGAGAAGGAGTAGGAATCATATC
+CTTCCTACTAATCAGCTGATGACATGGCCGAGCAGAAGCAAATACCGCTGCCCTACAGGCCGTACTATAC
+AACCGAGTCGGAGATGTAGGCCTTATCCTGTGCATGGCATGACTAGCTTCCACCATAAACACATGAGAAA
+TTCAACAAATCTCATCTCAGGACCAAACTCCTACCCTACCACTACTAGGCTTAATTTTAGCTGCGGCCGG
+CAAATCCGCCCAATTTGGCCTCCACCCGTGACTCCCAGCAGCAATAGAAGGCCCAACCCCTGTATCCGCC
+TTACTTCATTCCAGCACCATAGTAGTCGCCGGGATCTTCCTACTTATCCGAACTCACCCCCTCTTCCACA
+ACAACCCCACTGCACTATCACTATGCCTATGCCTGGGAGCCCTCTCCACACTATTCGCAGCCACTTGCGC
+CCTGACCCAAAATGATATCAAAAAAATCATTGCTTTTTCCACATCCAGCCAACTAGGCCTAATAATAGTT
+ACAATCGGCCTAAATCTTCCCCATCTAGCCTTCCTGCATATTTCAACCCACGCATTCTTCAAAGCCATGC
+TATTCCTATGTTCAGGGTCAATCATTCACAGCCTCAACGGCGAACAAGACATTCGAAAAATAGGAGGACT
+TCAAAAAATACTACCAACAACAACCTCATGCCTAACTATCGGAAACCTAGCCCTGATAGGAACACCATTT
+CTGGCAGGATTCTACTCCAAAGACCAAATTATCGAAAGCCTCAACACCTCGTACTTAAACGCTTGAGCCC
+TAGTTCTAACTCTCCTAGCTACATCATTCACCGCAGTATATACTATTCGAATAACCCTATTAGTTCAAAC
+AGGATACGTCCGAATTCCTCCCCTAACCCCCATGAACGAAAATAACCCAGCAGTCCTCTCCTCAATCACT
+CGACTTGCACTAGGAAGCATTGTAGCAGGATTCCTAATCACCTCATATATTCCACCTGCAAAAACCCCAC
+CAATAACTATACCACTATCCATTAAAGTCACGGCCCTTGTAGTAACACTACTAGGAATCATCCTAGCCCT
+AGAACTCTCAAAACTAACTCAAGCTTTAATCCTCCCTAAACAGAATCGCTTCTCAAATTTCTCTACAGCC
+CTAGGATACTTTAATCCCCTAGTACACCGATTTATCCCAACAAAAATACTAAGCGGCGGCCAAAACATTG
+CCTCCCACCTAATTGACCTCTCTTGATTCAAACTTCTAGGCCCTGAAGGGTTAGCCAACCTACAAATAAT
+AGCATCAAAAACCGCTACCTCCTTCCACACAGGCCTAATTAAAGCCTACCTAGGATCATTTGCCTTATCA
+ATCTTTATCATCCTCCTATCCACATACAGAACCAAACTTAATGGCCCTAAATCTACGAAAAAATCACCCA
+CTACTAAAAATCATCAACAACTCCCTAGTTGACCTTCCCACTCCATCAAACATTTCAGCTTGATGAAACT
+TCGGATCCCTACTAGGCCTATGCCTCATCACACAAATTGTCACAGGCCTACTACTAGCCATACATTACAC
+AGCAGACACCTCCCTAGCCTTCGCTTCCGTAGCCCACATATGCCGAGACGTACAATTCGGATGACTAATC
+CGAAACCTCCACGCAAATGGGGCCTCCTTCTTTTTCATTTGCATCTACCTACATATTGGCCGAGGATTCT
+ATTACGGCTCATACCTAAACAAAGAAACCTGAAACATTGGAGTAGTCCTTCTTCTAACACTAATAGCAAC
+TGCCTTCGTAGGATACGTCCTGCCATGAGGACAAATATCTTTCTGAGGAGCTACAGTCATTACAAACCTT
+TTCTCAGCAATCCCATACATTGGACAAACATTAGTAGAATGACTATGAGGCGGGTTCTCAGTAGACAACC
+CCACACTAACCCGATTCTTCGCCTTCCACTTCCTCCTCCCCTTTGTAATCGCAGGCCTGACACTAGTACA
+CTTAACCTTCCTCCACGAAACAGGCTCAAACAACCCACTAGGAATCCCCTCAGATTGCGACAAAATTCCA
+TTCCACCCTTACTACTCCATCAAAGACCTACTAGGATTCGCACTAATACTCGTCCCATTCGTCACTCTGG
+CCCTATTTTCCCCAAACCTCCTAGGAGACCCAGAAAATTTCACGCCCGCCAACCCCCTGGCCACACCTCC
+CCACATTAAACCCGAATGATACTTCCTATTTGCATACGCCATTCTCCGATCCATCCCAAACAAACTAGGA
+GGAGTCCTAGCTCTAGCCGCCTCAGTCCTAGTCCTATTCCTAATACCTCTCCTCCACACGTCTAAACAAC
+GTTCCATAACCTTTCGACCCCTATCACAAATCCTATTCTGAGCTCTAGTCGCAGACCTCTTCATCCTAAC
+ATGAGTAGGAAGCCAACCAGTCGAACACCCATTCATCATCATTGGCCAACTAGCCTCCTTCACCTACTTC
+GCAATCATCCTAATCCTGTTCCCTATCGCGAGTGCACTAGAAAACAAAATACTAAAACTCTAATCAACTC
+TAATAGTTTATAAAAACATTGGTCTTGTAAGCCAAAGATTGAAGACTAAACATCTTCTTAGAGTTAACAC
+ATAAATCAGAAAGAAAGGAGTCAAACCTTTATCACCAACTCCCAAAGCTGGCATTCTCAATTAAACTACT
+CTCTGACCTACCAATTAAACCGCCCGAATTGCCCCCCGAGATAACCCCCGCACAAGTTCTAAAACCACAA
+ACAGTGTTAATAACAGGCCTCATCCTGCAATTAAAAGCAGCCCTGACCCAGACGAATAGAACATAGCTAC
+TCCACTAAAATCCGTCCGAGTTCACGATAGACCTCCATTATTCACCGTATCCCCTCCCATAATCACTTCA
+GAAAACACCCCTGTAGCAAACCCCACAATAACAACGACTAACCCCAGACCAACACCATAACCAACAACCC
+GTCAATCACCCCAAGATTCCGGATAAGGATCCGCTGCCAGAGACACTGAATAAACAAATACCACCAGCAT
+CCCCCCTAAATATACCATCACCAGTACAAGAGAAACAAAAGAAACCCCCATACTTACCAGTCACCCACAT
+CCAGCAATAGAAGCCACAACCAGACCCACCACCCCATAATAAGGAGAAGGGTTAGACGCAACCGCTAACC
+CTCCTAAAACAAAGCATAGACTCATAAAAAGAACAAAGTTTATCATAGTTCCTGCTTGGATCCTCCCCAA
+GACCTATGGCTTGAAAAACCATTATTATAAAACTTTAACTACAGGAACTAAACCCTACTCTCATCCACCC
+CCCCCCCTTACCCCCCCCATGTTTTTACATGGGATTTTGGCTATGTATTTCTTTGCATACAATTCTCGTC
+CACATTAGACATAATATGCATGTAGGATAACTCACATAACAAGTAATGCAAGACCTAACCAAACTCAAAT
+ATCATCGCCCATAACACCCCAAACGGACAGATAACCTTCCAGGCACATCCCCATCGCAGGCACAACAAAC
+CCAGGTAATCCTACCAACGACACAAGACAAGCTTCGCCCAAGATCGAGAATGTTTTACCTTACATAACAA
+CGCACTCTCGTAAACGAGGAATATCCTAGTACCCCAATGAATTCTTAATCCCATACGTTTCAGTCCATCA
+CCACAAAACCTCCTAGTCCTATCACTCTCAAGAGCTCCCAAGAAGGACCTGGTTATTTATTAGTCGTAAT
+CCTCACGAGAACCGAGCTACTCAACGTAGGTGCTACCCACGGCTACCAGCTTCAAGGCCATACTTTCCCC
+CTACACCCTCGCCCAACTTGCGCTTTTGCGCCTCTGGTTCCTATTTCAGGGCCATAACTTGGACCTTTCC
+CTCCTTATCGCTCTTCACAGATGCAAGTGGTCGGATGCATAATCCTCCCTTTGCCTCGTGATCGCGGCAT
+CCGACCGACTTGGCGCTTGTTTTCTTTTTGGGGTCTCTTCATTAAACCCTTCAAGTGCGTAGCAGGAGTT
+ATCTTCCTCTTGACGTGTACATCACATGGCATCCGAGCGGCTATTTGTCTGTAATGTACCTGGTGTCATG
+GTTGTTCGGATAAGGTCGTCTCAAACTTGACACTGATGCACTTTTACCCCATTCATGGTGGGTCCCCCAG
+CTACCTATACGGTGGCAGATAATGTTATGGTTGCCGGACATAGTTTGTTATTTTTCCTTTACTAGGAATT
+ATCACCCAAACCTTCATTTTCATTCTTTTTTTTATCGTTTATTTTTATGTTGTAATTTTAACAAAATAAA
+CAACAACTTTTATATGATATTAACCTAGATTTTCCAAACCATTCATCGTTCGTTCATTAACACTTAACTT
+TCCTCTGCCTTTCCCCTATTTTTAACCCAACAAATCAATGACTTTCATCATAACTTCCACAACCACCAAC
+TTAGCCAAATTACACAAAACAAACAAACCAATTAAAAACAAGATAAAAGTACACACCCTTTACACACAAC
+CACACTAAACACACAACAAAACTTAACACACTATATGCCACAATACTACTTTTCATTTATAAAAAAAACA
+AGATAAAAATACAAAACATCAATACCAATAATAAGTCCAAAATACTACATTCGCTT
diff --git a/doc/Makefile b/doc/Makefile
new file mode 100644
index 0000000..e135e90
--- /dev/null
+++ b/doc/Makefile
@@ -0,0 +1,8 @@
+NAME=doc
+SOURCE=${NAME}.tex
+JUNK=${NAME}.log ${NAME}.aux ${NAME}.out missfont.log
+
+all:
+ pdflatex -shell-escape ${SOURCE}
+clean:
+ rm -f ${JUNK}
diff --git a/doc/doc.tex b/doc/doc.tex
new file mode 100644
index 0000000..793eca1
--- /dev/null
+++ b/doc/doc.tex
@@ -0,0 +1,687 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% LaTeX template
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\documentclass[10pt, fleqn]{article}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% PACKAGES
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%
+% T1: 8-bit encoding to allow codepoints for
+% fonts with up to 256 glyphs
+%
+% Without T1, the following problems arise:
+% -Cannot use many newer fonts
+% -Words containing accented characters
+% cannot be hyphenated
+% -You cannot copy-and-paste words with
+% accented characters from the output
+% (DVI/PS/PDF)
+% -Characters like '|', '<', and '>'
+% can render in unexpected ways.
+%
+\usepackage[T1]{fontenc}
+
+%
+% Allows specification of arbitrary font size,
+% even sizes not listed in the .fd file.
+%
+% \fontsize{...}{...}\selectfont
+%
+% The nearest size is selected, then scaled to
+% the requested size.
+\usepackage{anyfontsize}
+
+%
+% Math script text will use the 'Euler' font
+% rather than the default.
+%
+% \mathscr{...}
+\usepackage[mathscr]{euscript}
+
+%
+% AMS Packages
+%
+\usepackage{amsmath} % AMS package providing \equation, \align, etc.
+\usepackage{amssymb} % AMS package providing math symbols
+\usepackage{amsthm} % AMS package providing theorem environments
+
+%
+% Graphics
+%
+\usepackage{graphicx} % Allows different kinds of image to be embedded
+\usepackage{wrapfig} % Allows text wrap around embedded figures
+\usepackage{hyperref} % Allows creation of hyperlinks
+
+%
+% Page geometry
+%
+\usepackage{fullpage} % Uncomment to enable the full page to be used
+\usepackage{changepage} % Allows mod. of page geometry (\adjustwidth)
+\usepackage{fancyhdr} % Allows definition of page headers
+\usepackage{marginnote} % Allows margin notes
+
+%
+% Columns and margins
+%
+\usepackage{multicol} % Provides '\begin{multicols}{n}'
+\usepackage{parcolumns} % Provides '\lcolumn', '\rcolumn' environments
+\usepackage{enumitem} % Provides '\enumerate' environment enhancements
+\usepackage{marginnote} % Provides '\marginnote' environment
+
+%
+% Special symbols
+%
+\usepackage{turnstile} % Turnstile symbols, like |-, |=
+\usepackage{cancel} % Lets you negate anything with a slash
+\usepackage{mathtools} % \xrightarrow{hello} for hello
+ % ---->
+
+%
+% Boxes and structure
+%
+\usepackage{framed} % \framed{...} Draw a framed box
+ % \oframed{...} Open at page breaks
+ % \shaded{...} Shade
+ % \shaded*{...} Shade to margin
+ % \snugshade{...} Shade fit
+ % \snugshade*{...} Shade fit to margin
+ % \leftbar{...} Bar on left side
+ % \titled-frame{...} Frame with title bar
+
+\usepackage{fancybox} % \doublebox{...} \shadowbox{...} \ovalbox{...}
+\usepackage{color} % \color[rgb]{r,g,b}{...}
+
+\usepackage{minted}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% ENVIRONMENTS
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%
+% \begin{problemset}
+% \item[1] Something
+% \item[2] Another
+% \end{problemset}
+%
+\newenvironment{problemset}{\begin{enumerate}[widest={5.2}]}{\end{enumerate}}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% COMMANDS
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%
+% \marginal{...}
+% --------------
+% Margin notes with footnote-sized text.
+%
+\newcommand{\marginal}[1]{\marginnote{\footnotesize #1 \\}}
+
+%
+% \lcolumn{...},
+% \rcolumn{...}
+% ----------------------------
+% Columns for use in 'multicol' environment
+%
+\newcommand{\lcolumn}[1]{\colchunk{#1}}
+\newcommand{\rcolumn}[2]{\colchunk{{#1}}\colplacechunks}
+
+%
+% \sequence{...}
+% --------------
+% Sequence in angle brackets <a, b, c, ...>
+%
+\newcommand{\sequence}[1]{\langle #1 \rangle}
+
+%
+% \scr{...}
+% ---------
+% A shorter way to specify \mathscr{...}
+%
+\newcommand{\scr}[1]{\mathscr{#1}}
+
+%
+% \setcmp{...}
+% ------------
+% Shortcut for set complement notated 'A \ B'.
+%
+\newcommand{\setcmp}[2]{#1\setminus{#2}}
+
+%
+% \setc{...}
+% ----------
+% Shortcut for set complement notatetd 'A^c'.
+%
+\newcommand{\setc}[1]{#1^{\mathsf{c}}}
+
+%
+% \vx{...}
+% --------
+% Vector version of a symbol (bold)
+%
+\newcommand{\vx}[1]{\mathbf{#1}}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% THEOREMS
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%
+% \newtheoremstyle{stylename} name of the style to be used
+% {spaceabove} measure of space to leave above theorem
+% {spacebelow} measure of space to leave below theorem
+% {bodyfont} font to use in the body of the theorem
+% {indent} measure of space to indent
+% {headfont} font to use in the head of the theorem
+% {headpunctuation} punctuation between head and body
+% {headspace} space after theorem head; " " = normal
+% {headspec} manually specify head
+%
+\newtheoremstyle{break}%
+ {}% Space above, empty = `usual value'
+ {}% Space below
+ {}% Body font (no italic for cheatsheet)
+ {}% Indent (empty=no indent, \parindent=para indent)
+ {\bfseries}% Thm head font
+ {.}% Punctuation after thm head
+ {\newline}% Space after thm head: \newline = linebreak
+ {}% Thm head spec
+
+% Set the default theorem style
+\theoremstyle{break}
+
+% Conjecture
+\newtheorem{conjecture}{Conjecture}[section]
+\newtheorem*{conjecture*}{Conjecture}
+
+% Postulate
+\newtheorem{postulate}{Postulate}[section]
+\newtheorem*{postulate*}{Postulate}
+
+% Principle
+\newtheorem{principle}{Principle}[section]
+\newtheorem*{principle*}{Principle}
+
+% Axiom
+\newtheorem{axiom}{Axiom}[section]
+\newtheorem*{axiom*}{Axiom}
+
+% Definition
+\newtheorem*{definition}{Definition}
+\newtheorem*{definition*}{Definition}
+
+% Proposition
+\newtheorem{proposition}{Proposition}[section]
+\newtheorem*{proposition*}{Proposition}
+
+% Claim
+\newtheorem{claim}{Claim}[section]
+\newtheorem*{claim*}{Claim}
+
+% Porism
+\newtheorem{porism}{Porism}[section]
+\newtheorem*{porism*}{Porism}
+
+% Theorem
+\newtheorem{theorem}{Theorem}[section]
+\newtheorem*{theorem*}{Theorem}
+
+% Lemma
+\newtheorem{lemma}{Lemma}[section]
+\newtheorem*{lemma*}{Lemma}
+
+% Corollary
+\newtheorem{corollary}{Corollary}[section]
+\newtheorem*{corollary*}{Corollary}
+
+% Intuition
+\newtheorem{intuition}{Intuition}[section]
+\newtheorem*{intuition*}{Intuition}
+
+% Consequence
+\newtheorem{consequence}{Consequence}[section]
+\newtheorem*{consequence*}{Consequence}
+
+% Remark
+\newtheorem*{remark}{Remark}
+\newtheorem*{remark*}{Remark}
+
+% Example
+\newtheorem{example}{Example}[section]
+\newtheorem*{example*}{Example}
+
+% Counterexample
+\newtheorem{counterexample}{Counterexample}[section]
+\newtheorem*{counterexample*}{Counterexample}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% SYMBOLS
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%
+% These Greek letters are the same as their Latin
+% equivalents, so there is no special command in
+% LaTeX to indicate their use.
+%
+% However, for clarity, we have aliased them to their
+% Greek names here.
+%
+% NOTE:
+% \mbox{...} resets its contents to text mode by
+% default, so these letters will not be in italic
+% when you print them in math mode.
+%
+\newcommand{\Alpha} {\mbox{A}}
+\newcommand{\Beta} {\mbox{B}}
+\newcommand{\Epsilon}{\mbox{E}}
+\newcommand{\Zeta} {\mbox{Z}}
+\newcommand{\Eta} {\mbox{H}}
+\newcommand{\Iota} {\mbox{I}}
+\newcommand{\Kappa} {\mbox{K}}
+\newcommand{\Mu} {\mbox{M}}
+\newcommand{\Nu} {\mbox{N}}
+\newcommand{\Omicron}{\mbox{O}}
+\newcommand{\omicron}{\mbox{o}}
+\newcommand{\Rho} {\mbox{P}}
+\newcommand{\Tau} {\mbox{T}}
+\newcommand{\Chi} {\mbox{X}}
+
+%
+% "Blackboard bold" versions of the most common
+% field symbols for the Reals, Integers, etc.
+%
+\newcommand{\Naturals} {\mathbb{N}}
+\newcommand{\Integers} {\mathbb{Z}}
+\newcommand{\Reals} {\mathbb{R}}
+\newcommand{\Rationals}{\mathbb{Q}}
+\newcommand{\Complexes}{\mathbb{C}}
+\newcommand{\Booleans} {\mathbb{B}}
+\newcommand{\Field} {\mathbb{F}}
+
+% Vector space V
+\newcommand{\V} {\mathbf{V}}
+% Vector space W
+\newcommand{\W} {\mathbf{W}}
+% Vector 0
+\newcommand{\0} {\mathbf{0}}
+
+% Vector T
+\newcommand{\T} {\mathbf{T}}
+
+% Vector N
+\newcommand{\N} {\mathbf{N}}
+
+% Vector R
+\newcommand{\R} {\mathbf{R}}
+
+
+\newenvironment{left-column}{\begin{minipage}[t]{0.4\textwidth}}{\end{minipage}}
+\newenvironment{right-column}{\hspace{0.1\textwidth}\begin{minipage}[t]{0.4\textwidth}}{\end{minipage}}
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% CONFIGURATION
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% Number equations by section 1.1, 1.2... rather than 1, 2, ...
+\numberwithin{equation}{section}
+
+% Reduce bullet size in enumerated lists
+\renewcommand{\labelitemi}{$\vcenter{\hbox{\tiny$\bullet$}}$}
+
+% Disable separation between list items
+\setlist{nolistsep}
+
+% Margin notes
+\setlength{\marginparsep}{1cm}
+
+% Fancy header configuration
+\setlength{\headheight}{20pt}
+\setlength{\headsep}{30pt}
+\pagestyle{fancy}
+
+\definecolor{shadecolor}{RGB}{240,240,240}
+\setlength{\FrameSep}{1cm}
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% HEADER
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% Suppress the automatic date
+\date{}
+
+% Generate the title and author
+\title{A small context mixing compressor}
+\author{Jason Linehan}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% DOCUMENT ABSTRACT
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\begin{document}
+\maketitle
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% DOCUMENT BODY
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\section{Explanation}
+
+This is a context-mixing compression algorithm. It is a mathematical machine
+made up of mathematical parts. Each part solves a particular problem,
+and together, the parts make the algorithm work. The layout and interaction
+between these parts is called the architecture of the program. To make
+the architecture easier to see, each part has been broken into its own file.
+
+\subsection{How C programs work}
+As a convention, each part, let's call it a {\em module}, is represented by two
+files. Suppose the module's name is {\tt foo}. Then the {\tt foo} module is
+made up of {\tt foo.c}, and {\tt foo.h}. {\tt foo.c} is the C source code
+for the {\tt foo} module. {\tt foo.h} is the header file for {\tt foo.c}.
+A header file defines the interface for the module. Symbols in {\tt foo.c}
+(such as the names of functions) are invisible to other parts of the program,
+unless we make them available in a header file, and then include that header
+file with {\tt \#include "foo.h"} in another part of the program. We say that
+the different parts of the program are {\em linked}, using these header files.
+
+You can see other headers being {\tt \#included} at the top of most of
+the files listed here. If the line looks like {\tt \#include <file.h>}, we
+are linking a library installed on the system. If it looks like
+{\tt \#include "file.h"}, we are linking a file in our directory.
+
+Except for the three functions in {\tt main.c}, which represent the major
+actions of the program, that is: {\tt main()}, {\tt compress()}, and
+{\tt decompress()}, every function is defined in one of these modules.
+A module does not have to expose everything in its header file. If there are
+functions or data structures that it uses internally to accomplish its task,
+these can be hidden from the parts of the program that do not need to know
+about them. This is a design rule called the {\em principle of least knowledge}.
+
+\subsection{Getting help}
+If you see a function name whose source code does not appear in the listing,
+such as {\tt getc()} on line {\tt 62}, it probably belongs to the C Standard
+Library, and is being linked in one of the header files at the top. On any UNIX
+machine, including OS/X, you can type the command {\tt man {\em function}}
+at the terminal, where {\tt {\em function}} is the name of the function, to
+bring up a manual page for that function. You can do the same thing using the
+name of the header files, e.g. {\tt man stdio.h}. These are available because all UNIX
+derivatives are written in C, and these systems are in many ways a programming
+environment for that language. Certain functions, for example {\tt printf()},
+are available both in the shell and in the C library, so you may need to
+specify that you mean the C library version by typing {\tt 3} after the {\tt man}
+command, as in {\tt man 3 printf}. For a listing of all the different manual
+levels, you can (what else?) run {\tt man man}.
+
+\subsection{Tracing the execution}
+Every C program begins execution in a function called {\tt main()}. Here, that
+function is found in the file {\tt main.c}. If you want to trace the execution
+of the program, it goes from the top of {\tt main()} to the bottom of
+{\tt main()}. Simple, right?
+
+\subsection{Programming style conventions}
+
+In programmer-speak, a function which operates on a specific data structure
+is called a {\em method} for that data structure. In our world, we specify
+the data structure with {\tt struct name\_t}, where the {\tt \_t} means "type".
+This is purely a convention. All methods of this data structure will begin with
+{\tt name\_} and the first argument will be a pointer to a data structure of
+that type. For example, the arithmetic coder's data structure is
+{\tt struct ac\_t}, and a method would be {\tt ac\_encode\_bit}.
+Except in very special cases, variables in {\tt ALL\_CAPS} represent constant
+values, variables in {\tt Title\_case} represent global values relative to a
+given scope, and all other variables are {\tt lowercase}. Tradition from the
+old days of teletype is that each line is no more than 80 characters wide.
+This turned out to be a good idea in general, since people aren't good at
+scanning left to right. Tabs are 8 spaces wide. There are those who wish it
+were otherwise, but they are wrong to do so.
+
+
+
+\section{main.c}
+\begin{snugshade}
+This file contains the start of the program, {\tt main()}, and the two
+primary functions {\tt compress()} and {\tt decompress()}.
+{\tt main()} in particular is filled with tedious code to capture and
+arrange the arguments given to the program by the user, and plenty of
+tedious filesystem code to resolve paths, create new files, or open old ones.
+The messy task of {\tt main()} is to get things set up for the compression or
+decompression. The program could just
+as easily be read starting at {\tt compress()} or {\tt decompress()}.
+\end{snugshade}
+
+\begin{multicols}{2}
+\inputminted[mathescape,
+ linenos,
+ firstnumber=last,
+ numbersep=5pt,
+ gobble=0,
+ frame=none,
+ fontsize=\tiny,
+ framesep=2mm]{c}{../main.c}
+\end{multicols}
+
+\pagebreak
+\section{coder.h}
+\begin{snugshade}
+This file contains the data structure and methods for the Arithmetic Coder,
+probably the single most crucial component of the compression. It is the task
+of the Arithmetic Coder to encode a series of predictions (probability values)
+about whether the next bit will be a 0 or a 1.
+\end{snugshade}
+
+\inputminted[mathescape,
+ linenos,
+ firstnumber=last,
+ numbersep=5pt,
+ gobble=0,
+ frame=none,
+ fontsize=\footnotesize,
+ framesep=2mm]{c}{../coder.h}
+\section{coder.c}
+\begin{multicols}{2}
+\inputminted[mathescape,
+ linenos,
+ firstnumber=last,
+ numbersep=5pt,
+ gobble=0,
+ frame=none,
+ fontsize=\tiny,
+ framesep=2mm]{c}{../coder.c}
+\end{multicols}
+
+
+\pagebreak
+\section{mixer.h}
+\begin{snugshade}
+This file contains the data structure and methods for the neural network which
+mixes the predictions of different context models. A neural network is a means
+to minimize an error function by optimizing a set of weights.
+
+An extremely brief glance at what a neural network is and does:
+
+A neural network is a special kind of function. Given n binary inputs, the
+neural network will give 1 binary output. Each of the n inputs is associated
+with one of n weights. The inputs, multiplied by their weights, are summed,
+and if the result of the sum is above a certain threshold, the output is 1.
+If it is below that threshold, the output is 0. In the real world, we need
+to be able to take the derivative of the output, so an activation function
+$K$ is chosen, typically a sigmoid function such as the logistic function,
+rather than using a discrete threshold.
+\begin{align*}
+ f(x_0,x_1,...,x_n) = K(\sum_{i=0}^n w_ix_i)
+\end{align*}
+
+The major feature of the neural network is that the weights $w_i$ are adaptive,
+that is, the algorithm can alter the weights to change the function, in a
+process called learning.
+
+Consider the output of the network as a prediction of the "right" answer,
+given the inputs $x_0,...,x_n$. If we obtain the actual answer, we can compare
+it with the output of the neural network, and compute some error function,
+typically the mean squared error (MSE).
+
+Then, the weights are updated, in order to minimize this error function.
+The method used to update the weights is an algorithm called backpropagation,
+which itself uses another technique called gradient descent.
+\end{snugshade}
+\inputminted[mathescape,
+ linenos,
+ firstnumber=last,
+ numbersep=5pt,
+ gobble=0,
+ frame=none,
+ fontsize=\small,
+ framesep=2mm]{c}{../mixer.h}
+\section{mixer.c}
+\begin{multicols}{2}
+\inputminted[mathescape,
+ linenos,
+ firstnumber=last,
+ numbersep=5pt,
+ gobble=0,
+ frame=none,
+ fontsize=\tiny,
+ framesep=2mm]{c}{../mixer.c}
+\end{multicols}
+
+\pagebreak
+\section{predictor.h}
+\begin{snugshade}
+This file contains the data structure and methods for the {\tt SMOOTH()}
+function, which performs something called Secondary Symbol Estimation (SSE),
+which is an unpublished folkloristic procedure for refining a probability
+value.
+\end{snugshade}
+\inputminted[mathescape,
+ linenos,
+ firstnumber=last,
+ numbersep=5pt,
+ gobble=0,
+ frame=none,
+ fontsize=\small,
+ framesep=2mm]{c}{../predictor.h}
+\section{predictor.c}
+\begin{multicols}{2}
+\inputminted[mathescape,
+ linenos,
+ firstnumber=last,
+ numbersep=5pt,
+ gobble=0,
+ frame=none,
+ fontsize=\tiny,
+ framesep=2mm]{c}{../predictor.c}
+\end{multicols}
+
+\pagebreak
+\section{model.h}
+\begin{snugshade}
+This file contains the code for the {\tt MODEL()} function, which computes a
+probability based on recent bits. This is the statistical model of the input
+stream.
+
+The main action of the model is contained in the {\tt MODEL()} function, which
+controls how the various parts of the history and contexts are arranged to make
+predictions, and how those predictions are fed to the neural network.
+
+The name of the function, {\tt MODEL}, illustrates an unfortunate situation
+familiar to programmers, as "model" is both a noun and a verb. So, is this
+function the model, or does this function do the modelling? The answer is
+that it controls the modelling, and so to other layers of the program, for
+all intents and purposes, it "is" the model, as information from the input
+stream goes in, and a prediction comes out.
+
+However the actual models are data structures, and in fact several different
+kinds of models can be combined and mixed by the {\tt MODEL} function to get
+different results. For our purposes, only one kind of model is used, the
+simplest kind, a simple stationary model ({\tt ssm\_t}).
+
+The operation of the SSM model is simple. It contains a large table of
+probabilities, all initially set to 1/2. When a byte is being processed
+by the model, the previously-seen byte is considered to be the "current context",
+i.e. the context in which predictions are now being made about the incoming
+bits of the current byte. The previous byte, the "context", is used to retreive
+a probability in the table.
+
+Since the context is just an integer value, call the value 'b'. We simply
+select the b-th item in the table, and that item will represent the probability
+of the next bit being a 1, if byte b is the current context.
+
+When we see a new bit, we modify the probability stored in the b-th item
+of the table according to an update rule. It is this update rule that
+determines how the model behaves statistically.
+Since this is a stationary model, we simply increment or decrement the
+probability according to what we see.
+
+Once we are done with the current byte, that byte becomes the new context,
+and a new probability value is looked up in the table, and the process
+continues.
+\end{snugshade}
+\inputminted[mathescape,
+ linenos,
+ firstnumber=last,
+ numbersep=5pt,
+ gobble=0,
+ frame=none,
+ fontsize=\small,
+ framesep=2mm]{c}{../model.h}
+\section{model.c}
+\begin{multicols}{2}
+\inputminted[mathescape,
+ linenos,
+ firstnumber=last,
+ numbersep=5pt,
+ gobble=0,
+ frame=none,
+ fontsize=\tiny,
+ framesep=2mm]{c}{../model.c}
+\end{multicols}
+
+\pagebreak
+\section{util.h}
+\begin{snugshade}
+Here we have a grab-bag of different items of widely varying importance.
+\end{snugshade}
+\inputminted[mathescape,
+ linenos,
+ firstnumber=last,
+ numbersep=5pt,
+ gobble=0,
+ frame=none,
+ fontsize=\small,
+ framesep=2mm]{c}{../util.h}
+\section{util.c}
+\begin{multicols}{2}
+\inputminted[mathescape,
+ linenos,
+ firstnumber=last,
+ numbersep=5pt,
+ gobble=0,
+ frame=none,
+ fontsize=\tiny,
+ framesep=2mm]{c}{../util.c}
+\end{multicols}
+
+
+%\begin{minted}[mathescape,
+ %linenos,
+ %numbersep=5pt,
+ %gobble=2,
+ %frame=lines,
+ %escapeinside=$,
+ %framesep=2mm]{c}
+ %$\input{../main.c}$
+%\end{minted}
+
+
+
+
+
+
+\end{document}
diff --git a/log/ac.log b/log/ac.log
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/log/ac.log
diff --git a/log/ac.log.num b/log/ac.log.num
new file mode 100644
index 0000000..9363185
--- /dev/null
+++ b/log/ac.log.num
@@ -0,0 +1,11498 @@
+ 1 0.51123
+ 2 0.505371
+ 3 0.496094
+ 4 0.505371
+ 5 0.510254
+ 6 0.498047
+ 7 0.516846
+ 8 0.496094
+ 9 0.503418
+ 10 0.507324
+ 11 0.507324
+ 12 0.503418
+ 13 0.5
+ 14 0.514893
+ 15 0.530273
+ 16 0.501465
+ 17 0.547363
+ 18 0.496094
+ 19 0.543701
+ 20 0.508301
+ 21 0.499023
+ 22 0.519287
+ 23 0.504395
+ 24 0.507324
+ 25 0.536865
+ 26 0.503418
+ 27 0.520752
+ 28 0.503418
+ 29 0.512939
+ 30 0.505371
+ 31 0.503418
+ 32 0.480713
+ 33 0.507324
+ 34 0.511963
+ 35 0.506348
+ 36 0.508301
+ 37 0.499023
+ 38 0.504395
+ 39 0.498047
+ 40 0.515869
+ 41 0.540771
+ 42 0.472168
+ 43 0.487549
+ 44 0.511963
+ 45 0.481934
+ 46 0.510254
+ 47 0.479736
+ 48 0.469238
+ 49 0.47583
+ 50 0.515625
+ 51 0.454346
+ 52 0.508301
+ 53 0.507324
+ 54 0.499023
+ 55 0.501709
+ 56 0.482666
+ 57 0.489258
+ 58 0.49707
+ 59 0.492432
+ 60 0.501465
+ 61 0.474121
+ 62 0.488525
+ 63 0.47998
+ 64 0.481689
+ 65 0.467773
+ 66 0.489502
+ 67 0.456787
+ 68 0.490234
+ 69 0.454102
+ 70 0.494141
+ 71 0.447998
+ 72 0.515625
+ 73 0.440674
+ 74 0.481445
+ 75 0.434326
+ 76 0.495117
+ 77 0.418213
+ 78 0.498047
+ 79 0.418945
+ 80 0.520996
+ 81 0.419922
+ 82 0.513916
+ 83 0.416992
+ 84 0.480225
+ 85 0.412598
+ 86 0.508301
+ 87 0.403809
+ 88 0.537354
+ 89 0.397949
+ 90 0.523926
+ 91 0.368408
+ 92 0.529297
+ 93 0.372803
+ 94 0.52124
+ 95 0.357422
+ 96 0.488281
+ 97 0.372803
+ 98 0.543457
+ 99 0.347412
+ 100 0.448242
+ 101 0.360107
+ 102 0.504639
+ 103 0.334229
+ 104 0.413818
+ 105 0.361328
+ 106 0.497314
+ 107 0.345215
+ 108 0.545654
+ 109 0.347412
+ 110 0.561523
+ 111 0.328857
+ 112 0.383301
+ 113 0.348633
+ 114 0.550537
+ 115 0.334229
+ 116 0.391357
+ 117 0.35791
+ 118 0.488281
+ 119 0.35791
+ 120 0.396484
+ 121 0.362549
+ 122 0.498047
+ 123 0.361084
+ 124 0.565918
+ 125 0.344727
+ 126 0.566895
+ 127 0.344727
+ 128 0.568115
+ 129 0.354248
+ 130 0.545166
+ 131 0.322998
+ 132 0.483643
+ 133 0.344971
+ 134 0.579102
+ 135 0.325195
+ 136 0.576904
+ 137 0.341064
+ 138 0.546387
+ 139 0.34082
+ 140 0.583252
+ 141 0.336914
+ 142 0.558838
+ 143 0.327393
+ 144 0.492676
+ 145 0.335449
+ 146 0.354248
+ 147 0.421875
+ 148 0.574951
+ 149 0.338379
+ 150 0.48877
+ 151 0.319092
+ 152 0.569092
+ 153 0.333008
+ 154 0.499512
+ 155 0.321777
+ 156 0.596924
+ 157 0.310059
+ 158 0.585205
+ 159 0.322266
+ 160 0.330811
+ 161 0.311035
+ 162 0.581787
+ 163 0.301514
+ 164 0.595459
+ 165 0.305664
+ 166 0.591797
+ 167 0.313721
+ 168 0.324219
+ 169 0.297607
+ 170 0.486572
+ 171 0.303955
+ 172 0.590088
+ 173 0.30957
+ 174 0.51001
+ 175 0.318359
+ 176 0.322021
+ 177 0.287598
+ 178 0.514404
+ 179 0.294922
+ 180 0.621582
+ 181 0.284668
+ 182 0.605469
+ 183 0.277832
+ 184 0.631836
+ 185 0.276123
+ 186 0.304199
+ 187 0.291504
+ 188 0.638184
+ 189 0.291504
+ 190 0.617432
+ 191 0.27124
+ 192 0.62207
+ 193 0.276855
+ 194 0.620605
+ 195 0.281982
+ 196 0.619141
+ 197 0.261719
+ 198 0.304443
+ 199 0.283936
+ 200 0.647461
+ 201 0.259521
+ 202 0.295166
+ 203 0.281982
+ 204 0.630859
+ 205 0.268311
+ 206 0.649414
+ 207 0.256836
+ 208 0.651123
+ 209 0.249756
+ 210 0.657227
+ 211 0.243896
+ 212 0.513672
+ 213 0.265625
+ 214 0.651123
+ 215 0.284912
+ 216 0.669189
+ 217 0.254395
+ 218 0.646484
+ 219 0.25708
+ 220 0.290527
+ 221 0.275146
+ 222 0.288574
+ 223 0.296387
+ 224 0.656982
+ 225 0.236084
+ 226 0.280029
+ 227 0.294189
+ 228 0.658936
+ 229 0.260254
+ 230 0.679443
+ 231 0.249756
+ 232 0.545166
+ 233 0.253174
+ 234 0.284424
+ 235 0.272949
+ 236 0.683838
+ 237 0.250732
+ 238 0.664795
+ 239 0.282959
+ 240 0.558105
+ 241 0.25
+ 242 0.385498
+ 243 0.304443
+ 244 0.698486
+ 245 0.268311
+ 246 0.672852
+ 247 0.248535
+ 248 0.562256
+ 249 0.273926
+ 250 0.676758
+ 251 0.252441
+ 252 0.676514
+ 253 0.287598
+ 254 0.699707
+ 255 0.246338
+ 256 0.546143
+ 257 0.268799
+ 258 0.648926
+ 259 0.267822
+ 260 0.265137
+ 261 0.248291
+ 262 0.696289
+ 263 0.285156
+ 264 0.680664
+ 265 0.285889
+ 266 0.259766
+ 267 0.277588
+ 268 0.678467
+ 269 0.249756
+ 270 0.677246
+ 271 0.238525
+ 272 0.681641
+ 273 0.228516
+ 274 0.686035
+ 275 0.262451
+ 276 0.258545
+ 277 0.22876
+ 278 0.259033
+ 279 0.234863
+ 280 0.70874
+ 281 0.261963
+ 282 0.708496
+ 283 0.256348
+ 284 0.704346
+ 285 0.27002
+ 286 0.712646
+ 287 0.229004
+ 288 0.247314
+ 289 0.433105
+ 290 0.701904
+ 291 0.251221
+ 292 0.724609
+ 293 0.251709
+ 294 0.731201
+ 295 0.261963
+ 296 0.716797
+ 297 0.214355
+ 298 0.579346
+ 299 0.220947
+ 300 0.248291
+ 301 0.228271
+ 302 0.7146
+ 303 0.245361
+ 304 0.589111
+ 305 0.257812
+ 306 0.578613
+ 307 0.259766
+ 308 0.703857
+ 309 0.21167
+ 310 0.242432
+ 311 0.249512
+ 312 0.24585
+ 313 0.224365
+ 314 0.703857
+ 315 0.255615
+ 316 0.721436
+ 317 0.251953
+ 318 0.745605
+ 319 0.224609
+ 320 0.236572
+ 321 0.226318
+ 322 0.597168
+ 323 0.219482
+ 324 0.240234
+ 325 0.225586
+ 326 0.742188
+ 327 0.217773
+ 328 0.595215
+ 329 0.22168
+ 330 0.733398
+ 331 0.215576
+ 332 0.603516
+ 333 0.216064
+ 334 0.69165
+ 335 0.246582
+ 336 0.224609
+ 337 0.244873
+ 338 0.750732
+ 339 0.24707
+ 340 0.741699
+ 341 0.248779
+ 342 0.705566
+ 343 0.227783
+ 344 0.754639
+ 345 0.243408
+ 346 0.221924
+ 347 0.241211
+ 348 0.229004
+ 349 0.225342
+ 350 0.2229
+ 351 0.212891
+ 352 0.612549
+ 353 0.243896
+ 354 0.704346
+ 355 0.2146
+ 356 0.719727
+ 357 0.233154
+ 358 0.699951
+ 359 0.218506
+ 360 0.76123
+ 361 0.201416
+ 362 0.749023
+ 363 0.203125
+ 364 0.751221
+ 365 0.22876
+ 366 0.212158
+ 367 0.227051
+ 368 0.611572
+ 369 0.20459
+ 370 0.218506
+ 371 0.234619
+ 372 0.720703
+ 373 0.230225
+ 374 0.214844
+ 375 0.227051
+ 376 0.764404
+ 377 0.232666
+ 378 0.608154
+ 379 0.214844
+ 380 0.775146
+ 381 0.237305
+ 382 0.711914
+ 383 0.212158
+ 384 0.38208
+ 385 0.253418
+ 386 0.777588
+ 387 0.204102
+ 388 0.730469
+ 389 0.220215
+ 390 0.623535
+ 391 0.224121
+ 392 0.721191
+ 393 0.214844
+ 394 0.766357
+ 395 0.197754
+ 396 0.740967
+ 397 0.222168
+ 398 0.606445
+ 399 0.220703
+ 400 0.209717
+ 401 0.224854
+ 402 0.630371
+ 403 0.200195
+ 404 0.780518
+ 405 0.2146
+ 406 0.739258
+ 407 0.210205
+ 408 0.739502
+ 409 0.223145
+ 410 0.199463
+ 411 0.214844
+ 412 0.739746
+ 413 0.221436
+ 414 0.622803
+ 415 0.219482
+ 416 0.74292
+ 417 0.22168
+ 418 0.784424
+ 419 0.200439
+ 420 0.752441
+ 421 0.221924
+ 422 0.638672
+ 423 0.211426
+ 424 0.648193
+ 425 0.226318
+ 426 0.747559
+ 427 0.228516
+ 428 0.193848
+ 429 0.220947
+ 430 0.197266
+ 431 0.360596
+ 432 0.744385
+ 433 0.249023
+ 434 0.647949
+ 435 0.2229
+ 436 0.750732
+ 437 0.217773
+ 438 0.757324
+ 439 0.236816
+ 440 0.751709
+ 441 0.234131
+ 442 0.620361
+ 443 0.220459
+ 444 0.781982
+ 445 0.215576
+ 446 0.187012
+ 447 0.215576
+ 448 0.629639
+ 449 0.215088
+ 450 0.759521
+ 451 0.210693
+ 452 0.788574
+ 453 0.20752
+ 454 0.764893
+ 455 0.198486
+ 456 0.191406
+ 457 0.216064
+ 458 0.798096
+ 459 0.201416
+ 460 0.767822
+ 461 0.212158
+ 462 0.184326
+ 463 0.204102
+ 464 0.660156
+ 465 0.202881
+ 466 0.763672
+ 467 0.210449
+ 468 0.658936
+ 469 0.206787
+ 470 0.642578
+ 471 0.202637
+ 472 0.676514
+ 473 0.222412
+ 474 0.764648
+ 475 0.235352
+ 476 0.804932
+ 477 0.19751
+ 478 0.776611
+ 479 0.217285
+ 480 0.79248
+ 481 0.228516
+ 482 0.175049
+ 483 0.196289
+ 484 0.800293
+ 485 0.203613
+ 486 0.800293
+ 487 0.201172
+ 488 0.779541
+ 489 0.205078
+ 490 0.189453
+ 491 0.216064
+ 492 0.178711
+ 493 0.206787
+ 494 0.812744
+ 495 0.195312
+ 496 0.794922
+ 497 0.210938
+ 498 0.181885
+ 499 0.210449
+ 500 0.181885
+ 501 0.23999
+ 502 0.798828
+ 503 0.237305
+ 504 0.805664
+ 505 0.217041
+ 506 0.174072
+ 507 0.217529
+ 508 0.776855
+ 509 0.234863
+ 510 0.682617
+ 511 0.215576
+ 512 0.790527
+ 513 0.210449
+ 514 0.170654
+ 515 0.24292
+ 516 0.168213
+ 517 0.220947
+ 518 0.779541
+ 519 0.22168
+ 520 0.806641
+ 521 0.212402
+ 522 0.804199
+ 523 0.215088
+ 524 0.788086
+ 525 0.246582
+ 526 0.405029
+ 527 0.224365
+ 528 0.810303
+ 529 0.21875
+ 530 0.789551
+ 531 0.24585
+ 532 0.786377
+ 533 0.245605
+ 534 0.177979
+ 535 0.245605
+ 536 0.791748
+ 537 0.242676
+ 538 0.685547
+ 539 0.239258
+ 540 0.804688
+ 541 0.210205
+ 542 0.806152
+ 543 0.231689
+ 544 0.809814
+ 545 0.227783
+ 546 0.161865
+ 547 0.204102
+ 548 0.171143
+ 549 0.202393
+ 550 0.18042
+ 551 0.214111
+ 552 0.810547
+ 553 0.210693
+ 554 0.819092
+ 555 0.207764
+ 556 0.699707
+ 557 0.21167
+ 558 0.806885
+ 559 0.20752
+ 560 0.817383
+ 561 0.204346
+ 562 0.831299
+ 563 0.204834
+ 564 0.818848
+ 565 0.226807
+ 566 0.158936
+ 567 0.209473
+ 568 0.818115
+ 569 0.225586
+ 570 0.812256
+ 571 0.204346
+ 572 0.696045
+ 573 0.440186
+ 574 0.815918
+ 575 0.213867
+ 576 0.825928
+ 577 0.228027
+ 578 0.69873
+ 579 0.208008
+ 580 0.818604
+ 581 0.202148
+ 582 0.705322
+ 583 0.210449
+ 584 0.832031
+ 585 0.202393
+ 586 0.706055
+ 587 0.226562
+ 588 0.824463
+ 589 0.201416
+ 590 0.70459
+ 591 0.214844
+ 592 0.712158
+ 593 0.200439
+ 594 0.700684
+ 595 0.206543
+ 596 0.715576
+ 597 0.198975
+ 598 0.83374
+ 599 0.19873
+ 600 0.704346
+ 601 0.216309
+ 602 0.156738
+ 603 0.207275
+ 604 0.830322
+ 605 0.197754
+ 606 0.170898
+ 607 0.211426
+ 608 0.153564
+ 609 0.214111
+ 610 0.162354
+ 611 0.217773
+ 612 0.837646
+ 613 0.227539
+ 614 0.837402
+ 615 0.234375
+ 616 0.151367
+ 617 0.234375
+ 618 0.815186
+ 619 0.222168
+ 620 0.816895
+ 621 0.224609
+ 622 0.837891
+ 623 0.208984
+ 624 0.721924
+ 625 0.217773
+ 626 0.1604
+ 627 0.229736
+ 628 0.716064
+ 629 0.209229
+ 630 0.842773
+ 631 0.214111
+ 632 0.712402
+ 633 0.233154
+ 634 0.829102
+ 635 0.211426
+ 636 0.845703
+ 637 0.219971
+ 638 0.845703
+ 639 0.217529
+ 640 0.822754
+ 641 0.213867
+ 642 0.84082
+ 643 0.213623
+ 644 0.161621
+ 645 0.209717
+ 646 0.824463
+ 647 0.209229
+ 648 0.155762
+ 649 0.209961
+ 650 0.847412
+ 651 0.215576
+ 652 0.718262
+ 653 0.21875
+ 654 0.84375
+ 655 0.231934
+ 656 0.85083
+ 657 0.218018
+ 658 0.708252
+ 659 0.206543
+ 660 0.825195
+ 661 0.226807
+ 662 0.145508
+ 663 0.230713
+ 664 0.156494
+ 665 0.224854
+ 666 0.849121
+ 667 0.216064
+ 668 0.406738
+ 669 0.241455
+ 670 0.716797
+ 671 0.23291
+ 672 0.836914
+ 673 0.220703
+ 674 0.72583
+ 675 0.211914
+ 676 0.145508
+ 677 0.211426
+ 678 0.716309
+ 679 0.22168
+ 680 0.830322
+ 681 0.207031
+ 682 0.856934
+ 683 0.239014
+ 684 0.71582
+ 685 0.236572
+ 686 0.843018
+ 687 0.211182
+ 688 0.8396
+ 689 0.209717
+ 690 0.844482
+ 691 0.229492
+ 692 0.844482
+ 693 0.231934
+ 694 0.845947
+ 695 0.20874
+ 696 0.849609
+ 697 0.205811
+ 698 0.84082
+ 699 0.211182
+ 700 0.839355
+ 701 0.228516
+ 702 0.851318
+ 703 0.200928
+ 704 0.845215
+ 705 0.223877
+ 706 0.85083
+ 707 0.220459
+ 708 0.853027
+ 709 0.195312
+ 710 0.868164
+ 711 0.218994
+ 712 0.137939
+ 713 0.214844
+ 714 0.857666
+ 715 0.446045
+ 716 0.849121
+ 717 0.224854
+ 718 0.843506
+ 719 0.208984
+ 720 0.137451
+ 721 0.222412
+ 722 0.85498
+ 723 0.207031
+ 724 0.13501
+ 725 0.208496
+ 726 0.861328
+ 727 0.204834
+ 728 0.743408
+ 729 0.203613
+ 730 0.744873
+ 731 0.200439
+ 732 0.858643
+ 733 0.200195
+ 734 0.141846
+ 735 0.220703
+ 736 0.139893
+ 737 0.200928
+ 738 0.848145
+ 739 0.197021
+ 740 0.748047
+ 741 0.203125
+ 742 0.869385
+ 743 0.196045
+ 744 0.139648
+ 745 0.210938
+ 746 0.869385
+ 747 0.219727
+ 748 0.732422
+ 749 0.213623
+ 750 0.866943
+ 751 0.211182
+ 752 0.138672
+ 753 0.214355
+ 754 0.861084
+ 755 0.215576
+ 756 0.144531
+ 757 0.193115
+ 758 0.864014
+ 759 0.219482
+ 760 0.871094
+ 761 0.217773
+ 762 0.869385
+ 763 0.202637
+ 764 0.749756
+ 765 0.186523
+ 766 0.734131
+ 767 0.197021
+ 768 0.75708
+ 769 0.213623
+ 770 0.141846
+ 771 0.186768
+ 772 0.866699
+ 773 0.218018
+ 774 0.866943
+ 775 0.183105
+ 776 0.758545
+ 777 0.215332
+ 778 0.131836
+ 779 0.202881
+ 780 0.867432
+ 781 0.209229
+ 782 0.129395
+ 783 0.206055
+ 784 0.855469
+ 785 0.184082
+ 786 0.863037
+ 787 0.204346
+ 788 0.866699
+ 789 0.182861
+ 790 0.878418
+ 791 0.179443
+ 792 0.874023
+ 793 0.202148
+ 794 0.127197
+ 795 0.208496
+ 796 0.126709
+ 797 0.18335
+ 798 0.861572
+ 799 0.181396
+ 800 0.86499
+ 801 0.179688
+ 802 0.87207
+ 803 0.200439
+ 804 0.742432
+ 805 0.199707
+ 806 0.125488
+ 807 0.204834
+ 808 0.871338
+ 809 0.205566
+ 810 0.392822
+ 811 0.230713
+ 812 0.874023
+ 813 0.186035
+ 814 0.124512
+ 815 0.208252
+ 816 0.123535
+ 817 0.190918
+ 818 0.858643
+ 819 0.227295
+ 820 0.876221
+ 821 0.1875
+ 822 0.87085
+ 823 0.186523
+ 824 0.879639
+ 825 0.203857
+ 826 0.746826
+ 827 0.190674
+ 828 0.87207
+ 829 0.207275
+ 830 0.750977
+ 831 0.189697
+ 832 0.122559
+ 833 0.192383
+ 834 0.867676
+ 835 0.189697
+ 836 0.886475
+ 837 0.206055
+ 838 0.12085
+ 839 0.1875
+ 840 0.119141
+ 841 0.187012
+ 842 0.88208
+ 843 0.204102
+ 844 0.870117
+ 845 0.188477
+ 846 0.873291
+ 847 0.186768
+ 848 0.888184
+ 849 0.223389
+ 850 0.889893
+ 851 0.183594
+ 852 0.769287
+ 853 0.227295
+ 854 0.119873
+ 855 0.204834
+ 856 0.884766
+ 857 0.358398
+ 858 0.139893
+ 859 0.189697
+ 860 0.121826
+ 861 0.227539
+ 862 0.126221
+ 863 0.187012
+ 864 0.121338
+ 865 0.187012
+ 866 0.894287
+ 867 0.21582
+ 868 0.864258
+ 869 0.214111
+ 870 0.116211
+ 871 0.192383
+ 872 0.880615
+ 873 0.190186
+ 874 0.892578
+ 875 0.209961
+ 876 0.873535
+ 877 0.185791
+ 878 0.874023
+ 879 0.184326
+ 880 0.113525
+ 881 0.208008
+ 882 0.755127
+ 883 0.188232
+ 884 0.866699
+ 885 0.205811
+ 886 0.11499
+ 887 0.190674
+ 888 0.884521
+ 889 0.203613
+ 890 0.116455
+ 891 0.226074
+ 892 0.873779
+ 893 0.202881
+ 894 0.898682
+ 895 0.223389
+ 896 0.755615
+ 897 0.202637
+ 898 0.896484
+ 899 0.208984
+ 900 0.76001
+ 901 0.188232
+ 902 0.896484
+ 903 0.205322
+ 904 0.115723
+ 905 0.207275
+ 906 0.887939
+ 907 0.187256
+ 908 0.113281
+ 909 0.190918
+ 910 0.112061
+ 911 0.193604
+ 912 0.111572
+ 913 0.206055
+ 914 0.898193
+ 915 0.193604
+ 916 0.9021
+ 917 0.190674
+ 918 0.112305
+ 919 0.190674
+ 920 0.78418
+ 921 0.223633
+ 922 0.903076
+ 923 0.196533
+ 924 0.905029
+ 925 0.190674
+ 926 0.89624
+ 927 0.200928
+ 928 0.895996
+ 929 0.187256
+ 930 0.786133
+ 931 0.186035
+ 932 0.87915
+ 933 0.189697
+ 934 0.878906
+ 935 0.22168
+ 936 0.110596
+ 937 0.196289
+ 938 0.116943
+ 939 0.188721
+ 940 0.878906
+ 941 0.195801
+ 942 0.118896
+ 943 0.210449
+ 944 0.872803
+ 945 0.189453
+ 946 0.881104
+ 947 0.193359
+ 948 0.763916
+ 949 0.20752
+ 950 0.877441
+ 951 0.20874
+ 952 0.384033
+ 953 0.21582
+ 954 0.897217
+ 955 0.195801
+ 956 0.899414
+ 957 0.193604
+ 958 0.910156
+ 959 0.190918
+ 960 0.882324
+ 961 0.190186
+ 962 0.789062
+ 963 0.227295
+ 964 0.907959
+ 965 0.185791
+ 966 0.10376
+ 967 0.204102
+ 968 0.790283
+ 969 0.201416
+ 970 0.114502
+ 971 0.189941
+ 972 0.791016
+ 973 0.209717
+ 974 0.112793
+ 975 0.215088
+ 976 0.881348
+ 977 0.188965
+ 978 0.88501
+ 979 0.224365
+ 980 0.764893
+ 981 0.187256
+ 982 0.91333
+ 983 0.221436
+ 984 0.106689
+ 985 0.184814
+ 986 0.791992
+ 987 0.223877
+ 988 0.896973
+ 989 0.205811
+ 990 0.107422
+ 991 0.182129
+ 992 0.106201
+ 993 0.216797
+ 994 0.110596
+ 995 0.211914
+ 996 0.794189
+ 997 0.230469
+ 998 0.797363
+ 999 0.359375
+ 1000 0.123779
+ 1001 0.18335
+ 1002 0.112305
+ 1003 0.211426
+ 1004 0.112549
+ 1005 0.216309
+ 1006 0.796631
+ 1007 0.231201
+ 1008 0.900879
+ 1009 0.18335
+ 1010 0.890381
+ 1011 0.227051
+ 1012 0.106689
+ 1013 0.226562
+ 1014 0.888184
+ 1015 0.220703
+ 1016 0.106689
+ 1017 0.224609
+ 1018 0.885254
+ 1019 0.184326
+ 1020 0.918457
+ 1021 0.181396
+ 1022 0.910156
+ 1023 0.215576
+ 1024 0.779053
+ 1025 0.220215
+ 1026 0.90625
+ 1027 0.231934
+ 1028 0.907471
+ 1029 0.230469
+ 1030 0.10791
+ 1031 0.179199
+ 1032 0.102783
+ 1033 0.178467
+ 1034 0.105469
+ 1035 0.177979
+ 1036 0.911133
+ 1037 0.21875
+ 1038 0.104492
+ 1039 0.222168
+ 1040 0.918945
+ 1041 0.174316
+ 1042 0.804443
+ 1043 0.237549
+ 1044 0.908447
+ 1045 0.171387
+ 1046 0.890625
+ 1047 0.217041
+ 1048 0.908203
+ 1049 0.216309
+ 1050 0.101807
+ 1051 0.216309
+ 1052 0.780518
+ 1053 0.218262
+ 1054 0.912598
+ 1055 0.217529
+ 1056 0.807373
+ 1057 0.23877
+ 1058 0.788818
+ 1059 0.217285
+ 1060 0.107422
+ 1061 0.221191
+ 1062 0.893066
+ 1063 0.219727
+ 1064 0.102051
+ 1065 0.223877
+ 1066 0.921875
+ 1067 0.176514
+ 1068 0.781006
+ 1069 0.176025
+ 1070 0.0983887
+ 1071 0.243652
+ 1072 0.105713
+ 1073 0.179688
+ 1074 0.101318
+ 1075 0.226318
+ 1076 0.914551
+ 1077 0.246826
+ 1078 0.893555
+ 1079 0.225342
+ 1080 0.914062
+ 1081 0.178467
+ 1082 0.101807
+ 1083 0.255371
+ 1084 0.102051
+ 1085 0.259277
+ 1086 0.895508
+ 1087 0.261475
+ 1088 0.922363
+ 1089 0.230225
+ 1090 0.916016
+ 1091 0.179932
+ 1092 0.899902
+ 1093 0.232666
+ 1094 0.382568
+ 1095 0.180176
+ 1096 0.916748
+ 1097 0.227783
+ 1098 0.924805
+ 1099 0.26123
+ 1100 0.895264
+ 1101 0.229492
+ 1102 0.924805
+ 1103 0.22998
+ 1104 0.918457
+ 1105 0.181152
+ 1106 0.894043
+ 1107 0.2229
+ 1108 0.925293
+ 1109 0.228027
+ 1110 0.915527
+ 1111 0.182373
+ 1112 0.788818
+ 1113 0.220459
+ 1114 0.916016
+ 1115 0.179932
+ 1116 0.0993652
+ 1117 0.237305
+ 1118 0.92627
+ 1119 0.182373
+ 1120 0.791016
+ 1121 0.217285
+ 1122 0.795166
+ 1123 0.236084
+ 1124 0.898682
+ 1125 0.180176
+ 1126 0.893799
+ 1127 0.232666
+ 1128 0.895752
+ 1129 0.232178
+ 1130 0.0959473
+ 1131 0.180664
+ 1132 0.928467
+ 1133 0.178467
+ 1134 0.930664
+ 1135 0.218262
+ 1136 0.931396
+ 1137 0.239258
+ 1138 0.900879
+ 1139 0.177246
+ 1140 0.0910645
+ 1141 0.358887
+ 1142 0.109619
+ 1143 0.264893
+ 1144 0.922852
+ 1145 0.265869
+ 1146 0.920166
+ 1147 0.216553
+ 1148 0.789795
+ 1149 0.214844
+ 1150 0.0915527
+ 1151 0.181641
+ 1152 0.930664
+ 1153 0.23291
+ 1154 0.931641
+ 1155 0.232178
+ 1156 0.0881348
+ 1157 0.186523
+ 1158 0.923828
+ 1159 0.215088
+ 1160 0.933105
+ 1161 0.187256
+ 1162 0.924072
+ 1163 0.229492
+ 1164 0.0930176
+ 1165 0.267578
+ 1166 0.0874023
+ 1167 0.214844
+ 1168 0.80249
+ 1169 0.218262
+ 1170 0.896484
+ 1171 0.268311
+ 1172 0.0925293
+ 1173 0.272217
+ 1174 0.931396
+ 1175 0.215332
+ 1176 0.922607
+ 1177 0.213867
+ 1178 0.901123
+ 1179 0.187988
+ 1180 0.902344
+ 1181 0.191406
+ 1182 0.904053
+ 1183 0.189209
+ 1184 0.935059
+ 1185 0.210938
+ 1186 0.824951
+ 1187 0.234863
+ 1188 0.898438
+ 1189 0.232666
+ 1190 0.097168
+ 1191 0.238525
+ 1192 0.933105
+ 1193 0.18457
+ 1194 0.900879
+ 1195 0.235107
+ 1196 0.0854492
+ 1197 0.239014
+ 1198 0.796631
+ 1199 0.184814
+ 1200 0.0849609
+ 1201 0.184082
+ 1202 0.935059
+ 1203 0.181396
+ 1204 0.937256
+ 1205 0.235596
+ 1206 0.0842285
+ 1207 0.186768
+ 1208 0.827881
+ 1209 0.185059
+ 1210 0.904785
+ 1211 0.233398
+ 1212 0.905029
+ 1213 0.183838
+ 1214 0.807861
+ 1215 0.1875
+ 1216 0.0834961
+ 1217 0.2771
+ 1218 0.899658
+ 1219 0.235596
+ 1220 0.925293
+ 1221 0.235107
+ 1222 0.924072
+ 1223 0.234375
+ 1224 0.92627
+ 1225 0.192627
+ 1226 0.925293
+ 1227 0.214844
+ 1228 0.901367
+ 1229 0.236572
+ 1230 0.938477
+ 1231 0.2771
+ 1232 0.0810547
+ 1233 0.189209
+ 1234 0.927246
+ 1235 0.233887
+ 1236 0.356934
+ 1237 0.236328
+ 1238 0.937256
+ 1239 0.194336
+ 1240 0.927002
+ 1241 0.214355
+ 1242 0.929688
+ 1243 0.212158
+ 1244 0.940186
+ 1245 0.230713
+ 1246 0.929199
+ 1247 0.197754
+ 1248 0.811279
+ 1249 0.280762
+ 1250 0.929199
+ 1251 0.211914
+ 1252 0.940918
+ 1253 0.232178
+ 1254 0.929199
+ 1255 0.209961
+ 1256 0.927734
+ 1257 0.201416
+ 1258 0.904541
+ 1259 0.200195
+ 1260 0.80957
+ 1261 0.210693
+ 1262 0.908447
+ 1263 0.279541
+ 1264 0.90918
+ 1265 0.281494
+ 1266 0.0795898
+ 1267 0.283203
+ 1268 0.930664
+ 1269 0.286621
+ 1270 0.929932
+ 1271 0.284912
+ 1272 0.902344
+ 1273 0.197754
+ 1274 0.834473
+ 1275 0.281738
+ 1276 0.0854492
+ 1277 0.196045
+ 1278 0.930176
+ 1279 0.228516
+ 1280 0.076416
+ 1281 0.231201
+ 1282 0.931152
+ 1283 0.355469
+ 1284 0.913574
+ 1285 0.236572
+ 1286 0.931152
+ 1287 0.237549
+ 1288 0.932129
+ 1289 0.204346
+ 1290 0.930664
+ 1291 0.202393
+ 1292 0.0756836
+ 1293 0.286865
+ 1294 0.909668
+ 1295 0.284424
+ 1296 0.942871
+ 1297 0.21167
+ 1298 0.0759277
+ 1299 0.204834
+ 1300 0.804688
+ 1301 0.204102
+ 1302 0.932617
+ 1303 0.202148
+ 1304 0.0744629
+ 1305 0.279785
+ 1306 0.942627
+ 1307 0.202393
+ 1308 0.932129
+ 1309 0.200684
+ 1310 0.906494
+ 1311 0.199707
+ 1312 0.933838
+ 1313 0.205078
+ 1314 0.931885
+ 1315 0.231445
+ 1316 0.93042
+ 1317 0.20874
+ 1318 0.0820312
+ 1319 0.200684
+ 1320 0.945557
+ 1321 0.229248
+ 1322 0.817627
+ 1323 0.233398
+ 1324 0.93457
+ 1325 0.202148
+ 1326 0.909912
+ 1327 0.273193
+ 1328 0.936279
+ 1329 0.271729
+ 1330 0.840332
+ 1331 0.23877
+ 1332 0.84082
+ 1333 0.212402
+ 1334 0.841797
+ 1335 0.269531
+ 1336 0.0812988
+ 1337 0.268555
+ 1338 0.933594
+ 1339 0.232178
+ 1340 0.934814
+ 1341 0.199463
+ 1342 0.937256
+ 1343 0.197754
+ 1344 0.84375
+ 1345 0.196045
+ 1346 0.0793457
+ 1347 0.199463
+ 1348 0.946289
+ 1349 0.196777
+ 1350 0.911865
+ 1351 0.23584
+ 1352 0.0786133
+ 1353 0.196289
+ 1354 0.947998
+ 1355 0.193604
+ 1356 0.819092
+ 1357 0.193115
+ 1358 0.916992
+ 1359 0.23291
+ 1360 0.845459
+ 1361 0.210938
+ 1362 0.936035
+ 1363 0.189453
+ 1364 0.917725
+ 1365 0.187744
+ 1366 0.934814
+ 1367 0.230957
+ 1368 0.935059
+ 1369 0.189209
+ 1370 0.821533
+ 1371 0.264893
+ 1372 0.911865
+ 1373 0.206055
+ 1374 0.919678
+ 1375 0.228027
+ 1376 0.078125
+ 1377 0.230957
+ 1378 0.350098
+ 1379 0.188965
+ 1380 0.914795
+ 1381 0.187256
+ 1382 0.948486
+ 1383 0.184814
+ 1384 0.920166
+ 1385 0.183105
+ 1386 0.93335
+ 1387 0.208252
+ 1388 0.915283
+ 1389 0.233154
+ 1390 0.916748
+ 1391 0.186035
+ 1392 0.915771
+ 1393 0.185303
+ 1394 0.949951
+ 1395 0.260498
+ 1396 0.849121
+ 1397 0.259277
+ 1398 0.950439
+ 1399 0.179932
+ 1400 0.939453
+ 1401 0.178223
+ 1402 0.0769043
+ 1403 0.177734
+ 1404 0.0754395
+ 1405 0.208496
+ 1406 0.951416
+ 1407 0.207031
+ 1408 0.0766602
+ 1409 0.209961
+ 1410 0.0695801
+ 1411 0.208984
+ 1412 0.914795
+ 1413 0.233887
+ 1414 0.915283
+ 1415 0.258789
+ 1416 0.0712891
+ 1417 0.207764
+ 1418 0.830322
+ 1419 0.183594
+ 1420 0.0732422
+ 1421 0.235352
+ 1422 0.852295
+ 1423 0.234863
+ 1424 0.0754395
+ 1425 0.362549
+ 1426 0.0866699
+ 1427 0.183838
+ 1428 0.923096
+ 1429 0.218994
+ 1430 0.918945
+ 1431 0.263184
+ 1432 0.919189
+ 1433 0.21582
+ 1434 0.0754395
+ 1435 0.181152
+ 1436 0.915283
+ 1437 0.26001
+ 1438 0.936279
+ 1439 0.183838
+ 1440 0.922607
+ 1441 0.218262
+ 1442 0.828613
+ 1443 0.260742
+ 1444 0.952148
+ 1445 0.181396
+ 1446 0.830322
+ 1447 0.233154
+ 1448 0.854736
+ 1449 0.259277
+ 1450 0.918457
+ 1451 0.179932
+ 1452 0.0683594
+ 1453 0.25708
+ 1454 0.952881
+ 1455 0.231445
+ 1456 0.832031
+ 1457 0.233643
+ 1458 0.0695801
+ 1459 0.26001
+ 1460 0.0703125
+ 1461 0.188721
+ 1462 0.952881
+ 1463 0.232422
+ 1464 0.824951
+ 1465 0.223633
+ 1466 0.941895
+ 1467 0.257568
+ 1468 0.941162
+ 1469 0.220703
+ 1470 0.937988
+ 1471 0.229492
+ 1472 0.941895
+ 1473 0.235107
+ 1474 0.0703125
+ 1475 0.224121
+ 1476 0.920166
+ 1477 0.228027
+ 1478 0.953613
+ 1479 0.193604
+ 1480 0.827148
+ 1481 0.192627
+ 1482 0.835693
+ 1483 0.226074
+ 1484 0.0681152
+ 1485 0.229004
+ 1486 0.954102
+ 1487 0.260498
+ 1488 0.83252
+ 1489 0.227783
+ 1490 0.0671387
+ 1491 0.267578
+ 1492 0.0722656
+ 1493 0.191406
+ 1494 0.94165
+ 1495 0.228271
+ 1496 0.924316
+ 1497 0.226562
+ 1498 0.0656738
+ 1499 0.268311
+ 1500 0.838623
+ 1501 0.227539
+ 1502 0.943848
+ 1503 0.191895
+ 1504 0.0654297
+ 1505 0.230957
+ 1506 0.94458
+ 1507 0.230225
+ 1508 0.0664062
+ 1509 0.270996
+ 1510 0.923584
+ 1511 0.229004
+ 1512 0.0708008
+ 1513 0.230713
+ 1514 0.942627
+ 1515 0.197266
+ 1516 0.954102
+ 1517 0.22876
+ 1518 0.941895
+ 1519 0.227295
+ 1520 0.381836
+ 1521 0.227295
+ 1522 0.0683594
+ 1523 0.197021
+ 1524 0.929199
+ 1525 0.225098
+ 1526 0.926758
+ 1527 0.19458
+ 1528 0.941895
+ 1529 0.196777
+ 1530 0.942871
+ 1531 0.27002
+ 1532 0.944092
+ 1533 0.222656
+ 1534 0.955322
+ 1535 0.221191
+ 1536 0.929688
+ 1537 0.26709
+ 1538 0.0654297
+ 1539 0.220459
+ 1540 0.8396
+ 1541 0.222656
+ 1542 0.862549
+ 1543 0.269043
+ 1544 0.0712891
+ 1545 0.191162
+ 1546 0.955566
+ 1547 0.188721
+ 1548 0.0620117
+ 1549 0.272217
+ 1550 0.86377
+ 1551 0.270752
+ 1552 0.863037
+ 1553 0.269531
+ 1554 0.944824
+ 1555 0.26709
+ 1556 0.92749
+ 1557 0.263672
+ 1558 0.943604
+ 1559 0.266357
+ 1560 0.931396
+ 1561 0.187012
+ 1562 0.945801
+ 1563 0.217773
+ 1564 0.925293
+ 1565 0.189453
+ 1566 0.0622559
+ 1567 0.337158
+ 1568 0.905029
+ 1569 0.265137
+ 1570 0.932861
+ 1571 0.219727
+ 1572 0.844238
+ 1573 0.216064
+ 1574 0.944092
+ 1575 0.266113
+ 1576 0.933594
+ 1577 0.218994
+ 1578 0.0625
+ 1579 0.26709
+ 1580 0.0612793
+ 1581 0.189941
+ 1582 0.94751
+ 1583 0.218018
+ 1584 0.844238
+ 1585 0.188232
+ 1586 0.934326
+ 1587 0.216064
+ 1588 0.847412
+ 1589 0.267578
+ 1590 0.0617676
+ 1591 0.213867
+ 1592 0.947754
+ 1593 0.213867
+ 1594 0.0681152
+ 1595 0.224121
+ 1596 0.92627
+ 1597 0.214355
+ 1598 0.067627
+ 1599 0.231201
+ 1600 0.848145
+ 1601 0.215332
+ 1602 0.93042
+ 1603 0.213379
+ 1604 0.93457
+ 1605 0.265869
+ 1606 0.0681152
+ 1607 0.212402
+ 1608 0.945557
+ 1609 0.210449
+ 1610 0.956543
+ 1611 0.187012
+ 1612 0.957275
+ 1613 0.268066
+ 1614 0.95752
+ 1615 0.223389
+ 1616 0.0634766
+ 1617 0.268799
+ 1618 0.0605469
+ 1619 0.269287
+ 1620 0.947998
+ 1621 0.186279
+ 1622 0.958252
+ 1623 0.183838
+ 1624 0.064209
+ 1625 0.1875
+ 1626 0.947754
+ 1627 0.266602
+ 1628 0.949219
+ 1629 0.264404
+ 1630 0.95874
+ 1631 0.262939
+ 1632 0.927734
+ 1633 0.229736
+ 1634 0.867676
+ 1635 0.182861
+ 1636 0.0600586
+ 1637 0.207031
+ 1638 0.868164
+ 1639 0.181396
+ 1640 0.931396
+ 1641 0.203613
+ 1642 0.936279
+ 1643 0.269287
+ 1644 0.93335
+ 1645 0.226807
+ 1646 0.949707
+ 1647 0.178955
+ 1648 0.844971
+ 1649 0.226074
+ 1650 0.932617
+ 1651 0.20459
+ 1652 0.95874
+ 1653 0.224121
+ 1654 0.869873
+ 1655 0.266846
+ 1656 0.938232
+ 1657 0.264404
+ 1658 0.947266
+ 1659 0.201904
+ 1660 0.937256
+ 1661 0.260742
+ 1662 0.35083
+ 1663 0.177979
+ 1664 0.0615234
+ 1665 0.180176
+ 1666 0.94751
+ 1667 0.182617
+ 1668 0.0629883
+ 1669 0.202148
+ 1670 0.0581055
+ 1671 0.260742
+ 1672 0.959717
+ 1673 0.222656
+ 1674 0.85083
+ 1675 0.191895
+ 1676 0.935791
+ 1677 0.190918
+ 1678 0.872314
+ 1679 0.221924
+ 1680 0.947998
+ 1681 0.257324
+ 1682 0.936523
+ 1683 0.25415
+ 1684 0.872803
+ 1685 0.201172
+ 1686 0.950195
+ 1687 0.223389
+ 1688 0.959717
+ 1689 0.252686
+ 1690 0.873047
+ 1691 0.251709
+ 1692 0.934814
+ 1693 0.188477
+ 1694 0.0585938
+ 1695 0.249512
+ 1696 0.930664
+ 1697 0.251465
+ 1698 0.931152
+ 1699 0.253662
+ 1700 0.951172
+ 1701 0.196533
+ 1702 0.873047
+ 1703 0.220215
+ 1704 0.937988
+ 1705 0.198975
+ 1706 0.948486
+ 1707 0.218018
+ 1708 0.846436
+ 1709 0.354492
+ 1710 0.914551
+ 1711 0.202637
+ 1712 0.856445
+ 1713 0.199219
+ 1714 0.874268
+ 1715 0.197266
+ 1716 0.0639648
+ 1717 0.223633
+ 1718 0.94043
+ 1719 0.200928
+ 1720 0.939941
+ 1721 0.246582
+ 1722 0.932861
+ 1723 0.199707
+ 1724 0.0561523
+ 1725 0.199707
+ 1726 0.0629883
+ 1727 0.203125
+ 1728 0.952148
+ 1729 0.224365
+ 1730 0.952637
+ 1731 0.201416
+ 1732 0.952637
+ 1733 0.248047
+ 1734 0.0561523
+ 1735 0.247314
+ 1736 0.057373
+ 1737 0.19873
+ 1738 0.0634766
+ 1739 0.203613
+ 1740 0.0612793
+ 1741 0.206299
+ 1742 0.953369
+ 1743 0.204834
+ 1744 0.938232
+ 1745 0.203857
+ 1746 0.0561523
+ 1747 0.197266
+ 1748 0.0566406
+ 1749 0.196533
+ 1750 0.876953
+ 1751 0.202637
+ 1752 0.0615234
+ 1753 0.222168
+ 1754 0.852051
+ 1755 0.221436
+ 1756 0.0620117
+ 1757 0.227295
+ 1758 0.0649414
+ 1759 0.232422
+ 1760 0.953613
+ 1761 0.19458
+ 1762 0.852539
+ 1763 0.193848
+ 1764 0.060791
+ 1765 0.197021
+ 1766 0.0546875
+ 1767 0.199463
+ 1768 0.0598145
+ 1769 0.250732
+ 1770 0.0554199
+ 1771 0.19873
+ 1772 0.854248
+ 1773 0.231201
+ 1774 0.953613
+ 1775 0.230469
+ 1776 0.0549316
+ 1777 0.218506
+ 1778 0.877686
+ 1779 0.229248
+ 1780 0.936035
+ 1781 0.200684
+ 1782 0.954102
+ 1783 0.25415
+ 1784 0.855957
+ 1785 0.21875
+ 1786 0.878906
+ 1787 0.251953
+ 1788 0.961426
+ 1789 0.230225
+ 1790 0.940186
+ 1791 0.200195
+ 1792 0.864258
+ 1793 0.229492
+ 1794 0.856934
+ 1795 0.217773
+ 1796 0.0603027
+ 1797 0.235352
+ 1798 0.940674
+ 1799 0.199707
+ 1800 0.937744
+ 1801 0.233643
+ 1802 0.0532227
+ 1803 0.222412
+ 1804 0.359863
+ 1805 0.23291
+ 1806 0.955322
+ 1807 0.205322
+ 1808 0.0539551
+ 1809 0.252686
+ 1810 0.0585938
+ 1811 0.255859
+ 1812 0.941895
+ 1813 0.20459
+ 1814 0.0571289
+ 1815 0.203857
+ 1816 0.857666
+ 1817 0.203125
+ 1818 0.961914
+ 1819 0.222412
+ 1820 0.955811
+ 1821 0.251221
+ 1822 0.881836
+ 1823 0.219238
+ 1824 0.962158
+ 1825 0.197021
+ 1826 0.88208
+ 1827 0.22998
+ 1828 0.956055
+ 1829 0.219971
+ 1830 0.938232
+ 1831 0.248535
+ 1832 0.962646
+ 1833 0.229004
+ 1834 0.943848
+ 1835 0.227783
+ 1836 0.944336
+ 1837 0.195557
+ 1838 0.883301
+ 1839 0.249268
+ 1840 0.963135
+ 1841 0.216553
+ 1842 0.942627
+ 1843 0.226074
+ 1844 0.94043
+ 1845 0.216064
+ 1846 0.942627
+ 1847 0.22876
+ 1848 0.952393
+ 1849 0.19165
+ 1850 0.057373
+ 1851 0.348389
+ 1852 0.940186
+ 1853 0.231934
+ 1854 0.956787
+ 1855 0.193359
+ 1856 0.940918
+ 1857 0.250488
+ 1858 0.963623
+ 1859 0.249268
+ 1860 0.953613
+ 1861 0.194336
+ 1862 0.0524902
+ 1863 0.230713
+ 1864 0.945312
+ 1865 0.217773
+ 1866 0.964111
+ 1867 0.194336
+ 1868 0.869629
+ 1869 0.250977
+ 1870 0.954346
+ 1871 0.229248
+ 1872 0.958008
+ 1873 0.253418
+ 1874 0.946045
+ 1875 0.227295
+ 1876 0.946045
+ 1877 0.194336
+ 1878 0.946045
+ 1879 0.25293
+ 1880 0.0532227
+ 1881 0.2146
+ 1882 0.943115
+ 1883 0.251221
+ 1884 0.954834
+ 1885 0.218506
+ 1886 0.9646
+ 1887 0.193604
+ 1888 0.886475
+ 1889 0.21582
+ 1890 0.946777
+ 1891 0.2229
+ 1892 0.887207
+ 1893 0.256592
+ 1894 0.955566
+ 1895 0.2146
+ 1896 0.865723
+ 1897 0.221924
+ 1898 0.873047
+ 1899 0.223633
+ 1900 0.958984
+ 1901 0.21582
+ 1902 0.888916
+ 1903 0.257324
+ 1904 0.944336
+ 1905 0.213623
+ 1906 0.95874
+ 1907 0.187256
+ 1908 0.965576
+ 1909 0.219238
+ 1910 0.94165
+ 1911 0.188965
+ 1912 0.96582
+ 1913 0.186768
+ 1914 0.874023
+ 1915 0.257812
+ 1916 0.0541992
+ 1917 0.186035
+ 1918 0.889648
+ 1919 0.220459
+ 1920 0.944824
+ 1921 0.219482
+ 1922 0.0544434
+ 1923 0.184814
+ 1924 0.955322
+ 1925 0.225342
+ 1926 0.959961
+ 1927 0.213623
+ 1928 0.890869
+ 1929 0.211426
+ 1930 0.0539551
+ 1931 0.262695
+ 1932 0.966309
+ 1933 0.188232
+ 1934 0.944824
+ 1935 0.260498
+ 1936 0.945557
+ 1937 0.224854
+ 1938 0.945557
+ 1939 0.264404
+ 1940 0.956543
+ 1941 0.215332
+ 1942 0.0500488
+ 1943 0.190918
+ 1944 0.966797
+ 1945 0.270264
+ 1946 0.34375
+ 1947 0.223389
+ 1948 0.966797
+ 1949 0.187256
+ 1950 0.0507812
+ 1951 0.214844
+ 1952 0.943604
+ 1953 0.271973
+ 1954 0.967285
+ 1955 0.270996
+ 1956 0.95752
+ 1957 0.219971
+ 1958 0.946533
+ 1959 0.271729
+ 1960 0.0510254
+ 1961 0.270752
+ 1962 0.0507812
+ 1963 0.19458
+ 1964 0.0563965
+ 1965 0.272705
+ 1966 0.967529
+ 1967 0.271484
+ 1968 0.0498047
+ 1969 0.273438
+ 1970 0.0507812
+ 1971 0.219238
+ 1972 0.050293
+ 1973 0.19873
+ 1974 0.944336
+ 1975 0.197754
+ 1976 0.0493164
+ 1977 0.220947
+ 1978 0.94751
+ 1979 0.223389
+ 1980 0.95752
+ 1981 0.226318
+ 1982 0.94458
+ 1983 0.276611
+ 1984 0.0495605
+ 1985 0.275879
+ 1986 0.948975
+ 1987 0.272217
+ 1988 0.0493164
+ 1989 0.227539
+ 1990 0.048584
+ 1991 0.206787
+ 1992 0.0478516
+ 1993 0.36084
+ 1994 0.843506
+ 1995 0.275146
+ 1996 0.870605
+ 1997 0.229248
+ 1998 0.893066
+ 1999 0.272461
+ 2000 0.048584
+ 2001 0.231445
+ 2002 0.0505371
+ 2003 0.241455
+ 2004 0.968018
+ 2005 0.274658
+ 2006 0.950195
+ 2007 0.240234
+ 2008 0.893555
+ 2009 0.239502
+ 2010 0.894043
+ 2011 0.205322
+ 2012 0.949463
+ 2013 0.220703
+ 2014 0.959473
+ 2015 0.202881
+ 2016 0.968506
+ 2017 0.237061
+ 2018 0.950195
+ 2019 0.236084
+ 2020 0.968506
+ 2021 0.223877
+ 2022 0.0493164
+ 2023 0.202881
+ 2024 0.962891
+ 2025 0.237549
+ 2026 0.950195
+ 2027 0.204346
+ 2028 0.89502
+ 2029 0.226807
+ 2030 0.950684
+ 2031 0.224854
+ 2032 0.96875
+ 2033 0.200928
+ 2034 0.895264
+ 2035 0.222412
+ 2036 0.946777
+ 2037 0.269775
+ 2038 0.962646
+ 2039 0.198242
+ 2040 0.871094
+ 2041 0.239502
+ 2042 0.0524902
+ 2043 0.220215
+ 2044 0.960205
+ 2045 0.223389
+ 2046 0.947021
+ 2047 0.265381
+ 2048 0.0476074
+ 2049 0.239502
+ 2050 0.949707
+ 2051 0.221924
+ 2052 0.881836
+ 2053 0.266113
+ 2054 0.949951
+ 2055 0.268311
+ 2056 0.875244
+ 2057 0.27124
+ 2058 0.896729
+ 2059 0.27002
+ 2060 0.963623
+ 2061 0.21875
+ 2062 0.959717
+ 2063 0.220215
+ 2064 0.964111
+ 2065 0.218994
+ 2066 0.0480957
+ 2067 0.218262
+ 2068 0.883301
+ 2069 0.215332
+ 2070 0.959473
+ 2071 0.196045
+ 2072 0.898193
+ 2073 0.266357
+ 2074 0.960449
+ 2075 0.23584
+ 2076 0.949951
+ 2077 0.197754
+ 2078 0.950439
+ 2079 0.200928
+ 2080 0.969971
+ 2081 0.218018
+ 2082 0.970215
+ 2083 0.26709
+ 2084 0.964355
+ 2085 0.196045
+ 2086 0.950439
+ 2087 0.263916
+ 2088 0.328857
+ 2089 0.263184
+ 2090 0.953613
+ 2091 0.198975
+ 2092 0.951416
+ 2093 0.202148
+ 2094 0.951416
+ 2095 0.200684
+ 2096 0.95166
+ 2097 0.256592
+ 2098 0.951904
+ 2099 0.258545
+ 2100 0.95459
+ 2101 0.203857
+ 2102 0.0471191
+ 2103 0.235596
+ 2104 0.0463867
+ 2105 0.206055
+ 2106 0.0476074
+ 2107 0.240479
+ 2108 0.0461426
+ 2109 0.24292
+ 2110 0.951904
+ 2111 0.258057
+ 2112 0.952148
+ 2113 0.255859
+ 2114 0.955566
+ 2115 0.210693
+ 2116 0.0461426
+ 2117 0.213135
+ 2118 0.0458984
+ 2119 0.212158
+ 2120 0.949707
+ 2121 0.254639
+ 2122 0.0456543
+ 2123 0.256348
+ 2124 0.045166
+ 2125 0.211426
+ 2126 0.045166
+ 2127 0.210693
+ 2128 0.950195
+ 2129 0.209717
+ 2130 0.0456543
+ 2131 0.260254
+ 2132 0.953369
+ 2133 0.262451
+ 2134 0.0454102
+ 2135 0.325195
+ 2136 0.0588379
+ 2137 0.216553
+ 2138 0.970947
+ 2139 0.26123
+ 2140 0.956787
+ 2141 0.258057
+ 2142 0.953369
+ 2143 0.232422
+ 2144 0.953613
+ 2145 0.259033
+ 2146 0.970947
+ 2147 0.235107
+ 2148 0.95752
+ 2149 0.255859
+ 2150 0.045166
+ 2151 0.237305
+ 2152 0.958008
+ 2153 0.25293
+ 2154 0.953613
+ 2155 0.23584
+ 2156 0.877441
+ 2157 0.254883
+ 2158 0.900635
+ 2159 0.216064
+ 2160 0.954102
+ 2161 0.237549
+ 2162 0.971436
+ 2163 0.217529
+ 2164 0.958496
+ 2165 0.236328
+ 2166 0.900879
+ 2167 0.211914
+ 2168 0.954346
+ 2169 0.235107
+ 2170 0.951416
+ 2171 0.234619
+ 2172 0.0444336
+ 2173 0.237061
+ 2174 0.967773
+ 2175 0.236084
+ 2176 0.0444336
+ 2177 0.238525
+ 2178 0.901367
+ 2179 0.263916
+ 2180 0.967529
+ 2181 0.237549
+ 2182 0.0522461
+ 2183 0.257812
+ 2184 0.968506
+ 2185 0.225586
+ 2186 0.952148
+ 2187 0.259766
+ 2188 0.964111
+ 2189 0.212646
+ 2190 0.968018
+ 2191 0.21167
+ 2192 0.963379
+ 2193 0.234619
+ 2194 0.954834
+ 2195 0.233643
+ 2196 0.968506
+ 2197 0.224365
+ 2198 0.955322
+ 2199 0.262451
+ 2200 0.964844
+ 2201 0.230957
+ 2202 0.964111
+ 2203 0.230225
+ 2204 0.0429688
+ 2205 0.214844
+ 2206 0.952393
+ 2207 0.228516
+ 2208 0.964111
+ 2209 0.212158
+ 2210 0.959473
+ 2211 0.227295
+ 2212 0.959717
+ 2213 0.232422
+ 2214 0.955078
+ 2215 0.226318
+ 2216 0.96875
+ 2217 0.229736
+ 2218 0.972168
+ 2219 0.225342
+ 2220 0.955322
+ 2221 0.210938
+ 2222 0.960205
+ 2223 0.269287
+ 2224 0.964844
+ 2225 0.229004
+ 2226 0.956543
+ 2227 0.209961
+ 2228 0.963867
+ 2229 0.222656
+ 2230 0.332031
+ 2231 0.221924
+ 2232 0.0400391
+ 2233 0.235107
+ 2234 0.879639
+ 2235 0.20752
+ 2236 0.953857
+ 2237 0.234131
+ 2238 0.050293
+ 2239 0.233154
+ 2240 0.954102
+ 2241 0.270752
+ 2242 0.96875
+ 2243 0.207764
+ 2244 0.955811
+ 2245 0.230469
+ 2246 0.0419922
+ 2247 0.22168
+ 2248 0.957275
+ 2249 0.232666
+ 2250 0.9646
+ 2251 0.266357
+ 2252 0.9646
+ 2253 0.206055
+ 2254 0.048584
+ 2255 0.265381
+ 2256 0.956299
+ 2257 0.263184
+ 2258 0.0412598
+ 2259 0.232666
+ 2260 0.95459
+ 2261 0.231689
+ 2262 0.0412598
+ 2263 0.263916
+ 2264 0.0410156
+ 2265 0.262939
+ 2266 0.0407715
+ 2267 0.237061
+ 2268 0.0405273
+ 2269 0.236084
+ 2270 0.958252
+ 2271 0.266846
+ 2272 0.0407715
+ 2273 0.265625
+ 2274 0.0405273
+ 2275 0.264648
+ 2276 0.0402832
+ 2277 0.345947
+ 2278 0.945801
+ 2279 0.218994
+ 2280 0.969971
+ 2281 0.208252
+ 2282 0.883301
+ 2283 0.210693
+ 2284 0.972412
+ 2285 0.242188
+ 2286 0.0446777
+ 2287 0.245117
+ 2288 0.965332
+ 2289 0.268555
+ 2290 0.959473
+ 2291 0.218018
+ 2292 0.9729
+ 2293 0.209961
+ 2294 0.970215
+ 2295 0.273193
+ 2296 0.962402
+ 2297 0.216797
+ 2298 0.906982
+ 2299 0.273926
+ 2300 0.907471
+ 2301 0.21582
+ 2302 0.883789
+ 2303 0.218262
+ 2304 0.958252
+ 2305 0.242432
+ 2306 0.907715
+ 2307 0.240479
+ 2308 0.956299
+ 2309 0.270752
+ 2310 0.962891
+ 2311 0.220459
+ 2312 0.0397949
+ 2313 0.2229
+ 2314 0.959961
+ 2315 0.225342
+ 2316 0.966309
+ 2317 0.229492
+ 2318 0.0393066
+ 2319 0.233398
+ 2320 0.0385742
+ 2321 0.281494
+ 2322 0.0380859
+ 2323 0.216309
+ 2324 0.0380859
+ 2325 0.269775
+ 2326 0.9646
+ 2327 0.285156
+ 2328 0.963623
+ 2329 0.281738
+ 2330 0.961182
+ 2331 0.212402
+ 2332 0.964111
+ 2333 0.244873
+ 2334 0.965576
+ 2335 0.246826
+ 2336 0.96582
+ 2337 0.227051
+ 2338 0.96582
+ 2339 0.226318
+ 2340 0.0388184
+ 2341 0.211914
+ 2342 0.967041
+ 2343 0.225342
+ 2344 0.0380859
+ 2345 0.266357
+ 2346 0.970703
+ 2347 0.285156
+ 2348 0.886719
+ 2349 0.219727
+ 2350 0.9646
+ 2351 0.215332
+ 2352 0.973145
+ 2353 0.257324
+ 2354 0.970947
+ 2355 0.255127
+ 2356 0.0383301
+ 2357 0.282227
+ 2358 0.0466309
+ 2359 0.214355
+ 2360 0.964355
+ 2361 0.278564
+ 2362 0.970947
+ 2363 0.216553
+ 2364 0.960693
+ 2365 0.213379
+ 2366 0.95874
+ 2367 0.27417
+ 2368 0.961914
+ 2369 0.259033
+ 2370 0.971191
+ 2371 0.212158
+ 2372 0.32959
+ 2373 0.256836
+ 2374 0.891602
+ 2375 0.209473
+ 2376 0.967285
+ 2377 0.254639
+ 2378 0.961426
+ 2379 0.257568
+ 2380 0.966553
+ 2381 0.255615
+ 2382 0.0375977
+ 2383 0.254639
+ 2384 0.0466309
+ 2385 0.275635
+ 2386 0.962402
+ 2387 0.253662
+ 2388 0.89502
+ 2389 0.252441
+ 2390 0.0422363
+ 2391 0.277832
+ 2392 0.973633
+ 2393 0.276367
+ 2394 0.0466309
+ 2395 0.253418
+ 2396 0.967041
+ 2397 0.251465
+ 2398 0.967041
+ 2399 0.215332
+ 2400 0.958008
+ 2401 0.27417
+ 2402 0.958008
+ 2403 0.257324
+ 2404 0.895752
+ 2405 0.207031
+ 2406 0.966064
+ 2407 0.269287
+ 2408 0.0415039
+ 2409 0.272461
+ 2410 0.958496
+ 2411 0.216797
+ 2412 0.0412598
+ 2413 0.256348
+ 2414 0.0410156
+ 2415 0.275146
+ 2416 0.0405273
+ 2417 0.27832
+ 2418 0.0358887
+ 2419 0.32251
+ 2420 0.866455
+ 2421 0.280029
+ 2422 0.911865
+ 2423 0.258301
+ 2424 0.0366211
+ 2425 0.260254
+ 2426 0.889648
+ 2427 0.277344
+ 2428 0.968018
+ 2429 0.258057
+ 2430 0.972168
+ 2431 0.224365
+ 2432 0.972168
+ 2433 0.223389
+ 2434 0.959473
+ 2435 0.222656
+ 2436 0.972412
+ 2437 0.22168
+ 2438 0.973877
+ 2439 0.263672
+ 2440 0.891357
+ 2441 0.27417
+ 2442 0.960693
+ 2443 0.220947
+ 2444 0.974121
+ 2445 0.275879
+ 2446 0.891846
+ 2447 0.220215
+ 2448 0.974121
+ 2449 0.219238
+ 2450 0.966797
+ 2451 0.218262
+ 2452 0.0456543
+ 2453 0.220459
+ 2454 0.0351562
+ 2455 0.222412
+ 2456 0.972656
+ 2457 0.260498
+ 2458 0.967285
+ 2459 0.275635
+ 2460 0.974609
+ 2461 0.207031
+ 2462 0.967529
+ 2463 0.221924
+ 2464 0.0356445
+ 2465 0.260254
+ 2466 0.9729
+ 2467 0.252441
+ 2468 0.0349121
+ 2469 0.274902
+ 2470 0.9729
+ 2471 0.272461
+ 2472 0.0351562
+ 2473 0.274414
+ 2474 0.974854
+ 2475 0.205811
+ 2476 0.974609
+ 2477 0.272705
+ 2478 0.964111
+ 2479 0.217529
+ 2480 0.964844
+ 2481 0.278076
+ 2482 0.967773
+ 2483 0.205322
+ 2484 0.968994
+ 2485 0.255859
+ 2486 0.0402832
+ 2487 0.274902
+ 2488 0.969971
+ 2489 0.20874
+ 2490 0.968262
+ 2491 0.257812
+ 2492 0.973389
+ 2493 0.255859
+ 2494 0.974854
+ 2495 0.207275
+ 2496 0.964355
+ 2497 0.272949
+ 2498 0.969482
+ 2499 0.275879
+ 2500 0.964844
+ 2501 0.277588
+ 2502 0.891846
+ 2503 0.216797
+ 2504 0.969238
+ 2505 0.251953
+ 2506 0.969238
+ 2507 0.213867
+ 2508 0.968506
+ 2509 0.215088
+ 2510 0.964355
+ 2511 0.277588
+ 2512 0.969971
+ 2513 0.216309
+ 2514 0.330811
+ 2515 0.259766
+ 2516 0.0339355
+ 2517 0.218506
+ 2518 0.893799
+ 2519 0.217529
+ 2520 0.96167
+ 2521 0.27832
+ 2522 0.966309
+ 2523 0.280273
+ 2524 0.970215
+ 2525 0.283203
+ 2526 0.969482
+ 2527 0.260498
+ 2528 0.894531
+ 2529 0.259521
+ 2530 0.0393066
+ 2531 0.278809
+ 2532 0.89502
+ 2533 0.262451
+ 2534 0.96875
+ 2535 0.216309
+ 2536 0.969727
+ 2537 0.215576
+ 2538 0.973877
+ 2539 0.212158
+ 2540 0.0334473
+ 2541 0.27002
+ 2542 0.0334473
+ 2543 0.211426
+ 2544 0.973633
+ 2545 0.212891
+ 2546 0.0390625
+ 2547 0.274902
+ 2548 0.0327148
+ 2549 0.273682
+ 2550 0.894531
+ 2551 0.276611
+ 2552 0.975342
+ 2553 0.273438
+ 2554 0.975586
+ 2555 0.279785
+ 2556 0.0388184
+ 2557 0.283203
+ 2558 0.0324707
+ 2559 0.284668
+ 2560 0.969727
+ 2561 0.305664
+ 2562 0.952393
+ 2563 0.218506
+ 2564 0.97583
+ 2565 0.283936
+ 2566 0.961426
+ 2567 0.217041
+ 2568 0.896729
+ 2569 0.284424
+ 2570 0.966797
+ 2571 0.215332
+ 2572 0.032959
+ 2573 0.208252
+ 2574 0.967285
+ 2575 0.214355
+ 2576 0.0427246
+ 2577 0.217041
+ 2578 0.963379
+ 2579 0.269775
+ 2580 0.974121
+ 2581 0.210938
+ 2582 0.970215
+ 2583 0.215088
+ 2584 0.974365
+ 2585 0.214111
+ 2586 0.963867
+ 2587 0.288818
+ 2588 0.976074
+ 2589 0.212402
+ 2590 0.0378418
+ 2591 0.289307
+ 2592 0.0314941
+ 2593 0.275879
+ 2594 0.896973
+ 2595 0.288574
+ 2596 0.915771
+ 2597 0.211182
+ 2598 0.970947
+ 2599 0.216797
+ 2600 0.964111
+ 2601 0.287598
+ 2602 0.968018
+ 2603 0.289307
+ 2604 0.0373535
+ 2605 0.271973
+ 2606 0.971191
+ 2607 0.218994
+ 2608 0.976074
+ 2609 0.257568
+ 2610 0.900391
+ 2611 0.269043
+ 2612 0.963867
+ 2613 0.29248
+ 2614 0.963867
+ 2615 0.290039
+ 2616 0.916504
+ 2617 0.206787
+ 2618 0.976074
+ 2619 0.264404
+ 2620 0.897217
+ 2621 0.216309
+ 2622 0.963623
+ 2623 0.287598
+ 2624 0.898438
+ 2625 0.26709
+ 2626 0.965332
+ 2627 0.207275
+ 2628 0.967285
+ 2629 0.264893
+ 2630 0.976318
+ 2631 0.261963
+ 2632 0.901855
+ 2633 0.208496
+ 2634 0.967041
+ 2635 0.260986
+ 2636 0.0307617
+ 2637 0.26001
+ 2638 0.89917
+ 2639 0.262695
+ 2640 0.970703
+ 2641 0.264648
+ 2642 0.91748
+ 2643 0.210693
+ 2644 0.970215
+ 2645 0.261475
+ 2646 0.975342
+ 2647 0.209961
+ 2648 0.917725
+ 2649 0.262451
+ 2650 0.90332
+ 2651 0.209229
+ 2652 0.965576
+ 2653 0.260498
+ 2654 0.97168
+ 2655 0.259521
+ 2656 0.319824
+ 2657 0.285156
+ 2658 0.971436
+ 2659 0.208984
+ 2660 0.0302734
+ 2661 0.288574
+ 2662 0.0314941
+ 2663 0.209961
+ 2664 0.967773
+ 2665 0.286377
+ 2666 0.972412
+ 2667 0.289062
+ 2668 0.96582
+ 2669 0.286865
+ 2670 0.0366211
+ 2671 0.259033
+ 2672 0.971191
+ 2673 0.25708
+ 2674 0.976807
+ 2675 0.25415
+ 2676 0.97583
+ 2677 0.213379
+ 2678 0.971191
+ 2679 0.251465
+ 2680 0.967529
+ 2681 0.21167
+ 2682 0.977295
+ 2683 0.287109
+ 2684 0.0297852
+ 2685 0.210693
+ 2686 0.971924
+ 2687 0.288818
+ 2688 0.977295
+ 2689 0.213867
+ 2690 0.919922
+ 2691 0.248535
+ 2692 0.97168
+ 2693 0.211914
+ 2694 0.976074
+ 2695 0.249756
+ 2696 0.977539
+ 2697 0.286377
+ 2698 0.972656
+ 2699 0.211182
+ 2700 0.972656
+ 2701 0.246826
+ 2702 0.971924
+ 2703 0.301514
+ 2704 0.0498047
+ 2705 0.212158
+ 2706 0.972656
+ 2707 0.211426
+ 2708 0.0361328
+ 2709 0.248535
+ 2710 0.972656
+ 2711 0.215332
+ 2712 0.972168
+ 2713 0.217285
+ 2714 0.0354004
+ 2715 0.226074
+ 2716 0.0292969
+ 2717 0.256592
+ 2718 0.0400391
+ 2719 0.255615
+ 2720 0.904785
+ 2721 0.213379
+ 2722 0.968506
+ 2723 0.254639
+ 2724 0.964111
+ 2725 0.222412
+ 2726 0.977783
+ 2727 0.221436
+ 2728 0.976318
+ 2729 0.254639
+ 2730 0.964844
+ 2731 0.220703
+ 2732 0.0300293
+ 2733 0.292969
+ 2734 0.906006
+ 2735 0.213135
+ 2736 0.9729
+ 2737 0.289551
+ 2738 0.0297852
+ 2739 0.259521
+ 2740 0.973145
+ 2741 0.286133
+ 2742 0.902832
+ 2743 0.258789
+ 2744 0.978027
+ 2745 0.255859
+ 2746 0.901855
+ 2747 0.258545
+ 2748 0.902588
+ 2749 0.209473
+ 2750 0.0351562
+ 2751 0.251465
+ 2752 0.974609
+ 2753 0.260254
+ 2754 0.973389
+ 2755 0.281494
+ 2756 0.0285645
+ 2757 0.221924
+ 2758 0.973633
+ 2759 0.281006
+ 2760 0.0285645
+ 2761 0.212646
+ 2762 0.0283203
+ 2763 0.259277
+ 2764 0.0292969
+ 2765 0.211914
+ 2766 0.978516
+ 2767 0.285645
+ 2768 0.974121
+ 2769 0.282227
+ 2770 0.976562
+ 2771 0.210693
+ 2772 0.96582
+ 2773 0.258545
+ 2774 0.978271
+ 2775 0.255371
+ 2776 0.0283203
+ 2777 0.208984
+ 2778 0.0290527
+ 2779 0.220947
+ 2780 0.0341797
+ 2781 0.229736
+ 2782 0.0290527
+ 2783 0.281738
+ 2784 0.967041
+ 2785 0.227783
+ 2786 0.922607
+ 2787 0.283447
+ 2788 0.027832
+ 2789 0.257812
+ 2790 0.027832
+ 2791 0.288086
+ 2792 0.0275879
+ 2793 0.256836
+ 2794 0.908447
+ 2795 0.255859
+ 2796 0.968506
+ 2797 0.253906
+ 2798 0.311768
+ 2799 0.288574
+ 2800 0.976807
+ 2801 0.224609
+ 2802 0.977051
+ 2803 0.284912
+ 2804 0.97876
+ 2805 0.223877
+ 2806 0.0336914
+ 2807 0.283936
+ 2808 0.979004
+ 2809 0.205811
+ 2810 0.977295
+ 2811 0.253906
+ 2812 0.974609
+ 2813 0.25293
+ 2814 0.0334473
+ 2815 0.205078
+ 2816 0.923584
+ 2817 0.230957
+ 2818 0.977539
+ 2819 0.22998
+ 2820 0.908936
+ 2821 0.27832
+ 2822 0.0273438
+ 2823 0.205811
+ 2824 0.979004
+ 2825 0.280029
+ 2826 0.904541
+ 2827 0.203857
+ 2828 0.975098
+ 2829 0.228516
+ 2830 0.906494
+ 2831 0.255615
+ 2832 0.979004
+ 2833 0.230469
+ 2834 0.977783
+ 2835 0.255615
+ 2836 0.977783
+ 2837 0.277344
+ 2838 0.969238
+ 2839 0.229736
+ 2840 0.905518
+ 2841 0.277832
+ 2842 0.974365
+ 2843 0.228027
+ 2844 0.969727
+ 2845 0.303711
+ 2846 0.885498
+ 2847 0.283691
+ 2848 0.975342
+ 2849 0.280273
+ 2850 0.974365
+ 2851 0.254639
+ 2852 0.0327148
+ 2853 0.234619
+ 2854 0.977783
+ 2855 0.256348
+ 2856 0.979492
+ 2857 0.233887
+ 2858 0.975342
+ 2859 0.280029
+ 2860 0.969482
+ 2861 0.277588
+ 2862 0.0275879
+ 2863 0.276611
+ 2864 0.97583
+ 2865 0.273193
+ 2866 0.973145
+ 2867 0.199707
+ 2868 0.0266113
+ 2869 0.258301
+ 2870 0.0327148
+ 2871 0.199219
+ 2872 0.924316
+ 2873 0.19751
+ 2874 0.978271
+ 2875 0.196777
+ 2876 0.978516
+ 2877 0.258301
+ 2878 0.976074
+ 2879 0.257324
+ 2880 0.979736
+ 2881 0.233887
+ 2882 0.0270996
+ 2883 0.23584
+ 2884 0.0319824
+ 2885 0.270752
+ 2886 0.975342
+ 2887 0.196045
+ 2888 0.0317383
+ 2889 0.273682
+ 2890 0.980225
+ 2891 0.199219
+ 2892 0.97876
+ 2893 0.251465
+ 2894 0.969727
+ 2895 0.241699
+ 2896 0.968262
+ 2897 0.273193
+ 2898 0.971191
+ 2899 0.256592
+ 2900 0.971436
+ 2901 0.239746
+ 2902 0.0258789
+ 2903 0.197754
+ 2904 0.0373535
+ 2905 0.254639
+ 2906 0.0258789
+ 2907 0.253662
+ 2908 0.0314941
+ 2909 0.283691
+ 2910 0.972412
+ 2911 0.2854
+ 2912 0.925537
+ 2913 0.28418
+ 2914 0.0268555
+ 2915 0.258301
+ 2916 0.970215
+ 2917 0.281982
+ 2918 0.980225
+ 2919 0.236084
+ 2920 0.96875
+ 2921 0.258545
+ 2922 0.909668
+ 2923 0.197754
+ 2924 0.975342
+ 2925 0.279785
+ 2926 0.970703
+ 2927 0.233154
+ 2928 0.912109
+ 2929 0.199463
+ 2930 0.979248
+ 2931 0.258301
+ 2932 0.910645
+ 2933 0.26123
+ 2934 0.973633
+ 2935 0.231445
+ 2936 0.0263672
+ 2937 0.280273
+ 2938 0.970459
+ 2939 0.278076
+ 2940 0.303467
+ 2941 0.264893
+ 2942 0.968018
+ 2943 0.22998
+ 2944 0.980225
+ 2945 0.279785
+ 2946 0.976807
+ 2947 0.261963
+ 2948 0.976807
+ 2949 0.27417
+ 2950 0.926514
+ 2951 0.273193
+ 2952 0.0263672
+ 2953 0.271973
+ 2954 0.0256348
+ 2955 0.273926
+ 2956 0.977295
+ 2957 0.227539
+ 2958 0.980225
+ 2959 0.226562
+ 2960 0.977295
+ 2961 0.225586
+ 2962 0.980469
+ 2963 0.276367
+ 2964 0.907715
+ 2965 0.27417
+ 2966 0.926758
+ 2967 0.272949
+ 2968 0.97583
+ 2969 0.223877
+ 2970 0.03125
+ 2971 0.276123
+ 2972 0.980713
+ 2973 0.22876
+ 2974 0.974609
+ 2975 0.265137
+ 2976 0.970703
+ 2977 0.228027
+ 2978 0.912109
+ 2979 0.191406
+ 2980 0.971191
+ 2981 0.22998
+ 2982 0.927246
+ 2983 0.229248
+ 2984 0.971924
+ 2985 0.279541
+ 2986 0.0251465
+ 2987 0.317383
+ 2988 0.0454102
+ 2989 0.28125
+ 2990 0.971436
+ 2991 0.230225
+ 2992 0.972168
+ 2993 0.232178
+ 2994 0.974121
+ 2995 0.231201
+ 2996 0.972168
+ 2997 0.284668
+ 2998 0.97998
+ 2999 0.193359
+ 3000 0.980713
+ 3001 0.192627
+ 3002 0.972656
+ 3003 0.28125
+ 3004 0.976074
+ 3005 0.28418
+ 3006 0.980713
+ 3007 0.195557
+ 3008 0.969727
+ 3009 0.231445
+ 3010 0.977783
+ 3011 0.283691
+ 3012 0.978271
+ 3013 0.280273
+ 3014 0.972656
+ 3015 0.256592
+ 3016 0.0305176
+ 3017 0.259521
+ 3018 0.0244141
+ 3019 0.194092
+ 3020 0.969238
+ 3021 0.283691
+ 3022 0.0302734
+ 3023 0.286621
+ 3024 0.973389
+ 3025 0.288086
+ 3026 0.913818
+ 3027 0.230957
+ 3028 0.978516
+ 3029 0.258301
+ 3030 0.980469
+ 3031 0.195801
+ 3032 0.978516
+ 3033 0.256348
+ 3034 0.914551
+ 3035 0.251953
+ 3036 0.980957
+ 3037 0.257324
+ 3038 0.0302734
+ 3039 0.235107
+ 3040 0.97876
+ 3041 0.26001
+ 3042 0.97876
+ 3043 0.259277
+ 3044 0.0256348
+ 3045 0.237305
+ 3046 0.972656
+ 3047 0.279785
+ 3048 0.0241699
+ 3049 0.26001
+ 3050 0.0239258
+ 3051 0.28418
+ 3052 0.976562
+ 3053 0.287109
+ 3054 0.0256348
+ 3055 0.260742
+ 3056 0.973145
+ 3057 0.284912
+ 3058 0.973633
+ 3059 0.286621
+ 3060 0.0239258
+ 3061 0.258789
+ 3062 0.973633
+ 3063 0.287109
+ 3064 0.0236816
+ 3065 0.261475
+ 3066 0.981201
+ 3067 0.288818
+ 3068 0.979492
+ 3069 0.2854
+ 3070 0.973389
+ 3071 0.257812
+ 3072 0.0236816
+ 3073 0.256592
+ 3074 0.0234375
+ 3075 0.255615
+ 3076 0.973877
+ 3077 0.287598
+ 3078 0.973877
+ 3079 0.285156
+ 3080 0.0234375
+ 3081 0.194824
+ 3082 0.29834
+ 3083 0.286865
+ 3084 0.909424
+ 3085 0.226807
+ 3086 0.973633
+ 3087 0.22876
+ 3088 0.029541
+ 3089 0.287598
+ 3090 0.915283
+ 3091 0.232422
+ 3092 0.928955
+ 3093 0.290283
+ 3094 0.980957
+ 3095 0.231689
+ 3096 0.929199
+ 3097 0.198975
+ 3098 0.929443
+ 3099 0.19751
+ 3100 0.0231934
+ 3101 0.196777
+ 3102 0.981445
+ 3103 0.22998
+ 3104 0.929688
+ 3105 0.195068
+ 3106 0.974365
+ 3107 0.229248
+ 3108 0.981445
+ 3109 0.250488
+ 3110 0.980225
+ 3111 0.249512
+ 3112 0.981689
+ 3113 0.29126
+ 3114 0.974854
+ 3115 0.24585
+ 3116 0.929932
+ 3117 0.228516
+ 3118 0.980225
+ 3119 0.197266
+ 3120 0.981934
+ 3121 0.241943
+ 3122 0.981934
+ 3123 0.227783
+ 3124 0.977051
+ 3125 0.229736
+ 3126 0.916992
+ 3127 0.286621
+ 3128 0.0231934
+ 3129 0.301514
+ 3130 0.956299
+ 3131 0.231689
+ 3132 0.980469
+ 3133 0.230713
+ 3134 0.0229492
+ 3135 0.24585
+ 3136 0.974365
+ 3137 0.228027
+ 3138 0.981201
+ 3139 0.297119
+ 3140 0.975098
+ 3141 0.294678
+ 3142 0.978027
+ 3143 0.195068
+ 3144 0.971436
+ 3145 0.226318
+ 3146 0.975098
+ 3147 0.244873
+ 3148 0.917725
+ 3149 0.192139
+ 3150 0.980713
+ 3151 0.248047
+ 3152 0.0290527
+ 3153 0.250732
+ 3154 0.974365
+ 3155 0.225586
+ 3156 0.978271
+ 3157 0.252686
+ 3158 0.974365
+ 3159 0.226562
+ 3160 0.974609
+ 3161 0.22583
+ 3162 0.974854
+ 3163 0.304932
+ 3164 0.980957
+ 3165 0.253662
+ 3166 0.982422
+ 3167 0.301514
+ 3168 0.0288086
+ 3169 0.250488
+ 3170 0.0222168
+ 3171 0.306885
+ 3172 0.978027
+ 3173 0.30957
+ 3174 0.974854
+ 3175 0.248535
+ 3176 0.975342
+ 3177 0.250488
+ 3178 0.0288086
+ 3179 0.311279
+ 3180 0.97876
+ 3181 0.313965
+ 3182 0.0219727
+ 3183 0.19165
+ 3184 0.97876
+ 3185 0.223633
+ 3186 0.971924
+ 3187 0.314209
+ 3188 0.0246582
+ 3189 0.251465
+ 3190 0.0244141
+ 3191 0.253418
+ 3192 0.97583
+ 3193 0.311523
+ 3194 0.971191
+ 3195 0.221191
+ 3196 0.971436
+ 3197 0.311768
+ 3198 0.0339355
+ 3199 0.251465
+ 3200 0.0285645
+ 3201 0.310547
+ 3202 0.0217285
+ 3203 0.25415
+ 3204 0.976074
+ 3205 0.310791
+ 3206 0.0217285
+ 3207 0.252197
+ 3208 0.982666
+ 3209 0.312256
+ 3210 0.975098
+ 3211 0.249268
+ 3212 0.0244141
+ 3213 0.251221
+ 3214 0.98291
+ 3215 0.248291
+ 3216 0.0332031
+ 3217 0.313721
+ 3218 0.0214844
+ 3219 0.247314
+ 3220 0.983154
+ 3221 0.315186
+ 3222 0.0214844
+ 3223 0.244385
+ 3224 0.290527
+ 3225 0.31665
+ 3226 0.981689
+ 3227 0.314209
+ 3228 0.976562
+ 3229 0.215576
+ 3230 0.983398
+ 3231 0.214844
+ 3232 0.983398
+ 3233 0.315674
+ 3234 0.919189
+ 3235 0.318359
+ 3236 0.0241699
+ 3237 0.197998
+ 3238 0.983398
+ 3239 0.317139
+ 3240 0.983398
+ 3241 0.244629
+ 3242 0.930908
+ 3243 0.315918
+ 3244 0.976807
+ 3245 0.313232
+ 3246 0.920166
+ 3247 0.315918
+ 3248 0.977051
+ 3249 0.21167
+ 3250 0.97998
+ 3251 0.195557
+ 3252 0.982422
+ 3253 0.316162
+ 3254 0.983887
+ 3255 0.213867
+ 3256 0.981689
+ 3257 0.213135
+ 3258 0.981934
+ 3259 0.212158
+ 3260 0.976562
+ 3261 0.211426
+ 3262 0.983887
+ 3263 0.320557
+ 3264 0.977051
+ 3265 0.210693
+ 3266 0.976074
+ 3267 0.212646
+ 3268 0.032959
+ 3269 0.324707
+ 3270 0.981934
+ 3271 0.287354
+ 3272 0.896484
+ 3273 0.197266
+ 3274 0.981934
+ 3275 0.196289
+ 3276 0.972412
+ 3277 0.320801
+ 3278 0.976318
+ 3279 0.322266
+ 3280 0.982422
+ 3281 0.318604
+ 3282 0.0205078
+ 3283 0.213379
+ 3284 0.97998
+ 3285 0.236328
+ 3286 0.982666
+ 3287 0.194824
+ 3288 0.973145
+ 3289 0.215576
+ 3290 0.976074
+ 3291 0.318848
+ 3292 0.976074
+ 3293 0.320312
+ 3294 0.982666
+ 3295 0.234619
+ 3296 0.984131
+ 3297 0.217041
+ 3298 0.976074
+ 3299 0.317627
+ 3300 0.976074
+ 3301 0.234863
+ 3302 0.0275879
+ 3303 0.237793
+ 3304 0.0275879
+ 3305 0.319092
+ 3306 0.984131
+ 3307 0.192627
+ 3308 0.984131
+ 3309 0.317871
+ 3310 0.97998
+ 3311 0.236084
+ 3312 0.98291
+ 3313 0.235107
+ 3314 0.984375
+ 3315 0.318115
+ 3316 0.931641
+ 3317 0.190674
+ 3318 0.978516
+ 3319 0.242676
+ 3320 0.0234375
+ 3321 0.233643
+ 3322 0.973145
+ 3323 0.218018
+ 3324 0.98291
+ 3325 0.189209
+ 3326 0.973633
+ 3327 0.232666
+ 3328 0.973633
+ 3329 0.231934
+ 3330 0.0236816
+ 3331 0.220459
+ 3332 0.0236816
+ 3333 0.222412
+ 3334 0.0234375
+ 3335 0.314453
+ 3336 0.976562
+ 3337 0.315918
+ 3338 0.0200195
+ 3339 0.222656
+ 3340 0.0197754
+ 3341 0.224854
+ 3342 0.977051
+ 3343 0.239746
+ 3344 0.0197754
+ 3345 0.23877
+ 3346 0.0195312
+ 3347 0.1875
+ 3348 0.921631
+ 3349 0.225098
+ 3350 0.0197754
+ 3351 0.326904
+ 3352 0.0268555
+ 3353 0.32959
+ 3354 0.0268555
+ 3355 0.332031
+ 3356 0.980469
+ 3357 0.334717
+ 3358 0.0195312
+ 3359 0.335938
+ 3360 0.915039
+ 3361 0.225586
+ 3362 0.0192871
+ 3363 0.231934
+ 3364 0.973877
+ 3365 0.197998
+ 3366 0.28833
+ 3367 0.240234
+ 3368 0.0266113
+ 3369 0.207275
+ 3370 0.923828
+ 3371 0.334473
+ 3372 0.984375
+ 3373 0.333252
+ 3374 0.984619
+ 3375 0.233643
+ 3376 0.983154
+ 3377 0.330811
+ 3378 0.97876
+ 3379 0.231201
+ 3380 0.977783
+ 3381 0.330811
+ 3382 0.974365
+ 3383 0.328125
+ 3384 0.983398
+ 3385 0.23877
+ 3386 0.983643
+ 3387 0.323486
+ 3388 0.984619
+ 3389 0.32251
+ 3390 0.984619
+ 3391 0.232666
+ 3392 0.983643
+ 3393 0.231689
+ 3394 0.983887
+ 3395 0.229248
+ 3396 0.976074
+ 3397 0.23291
+ 3398 0.979248
+ 3399 0.231201
+ 3400 0.0231934
+ 3401 0.194092
+ 3402 0.979492
+ 3403 0.193115
+ 3404 0.980713
+ 3405 0.315918
+ 3406 0.984131
+ 3407 0.230713
+ 3408 0.984131
+ 3409 0.22876
+ 3410 0.979492
+ 3411 0.3125
+ 3412 0.932617
+ 3413 0.284424
+ 3414 0.0397949
+ 3415 0.226074
+ 3416 0.974609
+ 3417 0.309814
+ 3418 0.983887
+ 3419 0.22583
+ 3420 0.984375
+ 3421 0.224365
+ 3422 0.026123
+ 3423 0.198242
+ 3424 0.984131
+ 3425 0.227539
+ 3426 0.026123
+ 3427 0.233154
+ 3428 0.980957
+ 3429 0.229492
+ 3430 0.984375
+ 3431 0.227783
+ 3432 0.984131
+ 3433 0.302734
+ 3434 0.981201
+ 3435 0.234131
+ 3436 0.984131
+ 3437 0.229736
+ 3438 0.978027
+ 3439 0.23291
+ 3440 0.925293
+ 3441 0.30127
+ 3442 0.978027
+ 3443 0.30249
+ 3444 0.978271
+ 3445 0.303955
+ 3446 0.984619
+ 3447 0.234863
+ 3448 0.019043
+ 3449 0.232666
+ 3450 0.984619
+ 3451 0.302246
+ 3452 0.984619
+ 3453 0.234131
+ 3454 0.980957
+ 3455 0.298828
+ 3456 0.977783
+ 3457 0.236084
+ 3458 0.0187988
+ 3459 0.235107
+ 3460 0.984619
+ 3461 0.249512
+ 3462 0.0224609
+ 3463 0.232178
+ 3464 0.0224609
+ 3465 0.234131
+ 3466 0.981445
+ 3467 0.239014
+ 3468 0.933105
+ 3469 0.237305
+ 3470 0.977051
+ 3471 0.235352
+ 3472 0.980469
+ 3473 0.236328
+ 3474 0.981445
+ 3475 0.196045
+ 3476 0.0300293
+ 3477 0.241211
+ 3478 0.981689
+ 3479 0.303467
+ 3480 0.925293
+ 3481 0.231689
+ 3482 0.985596
+ 3483 0.306885
+ 3484 0.916748
+ 3485 0.229004
+ 3486 0.934082
+ 3487 0.195312
+ 3488 0.985107
+ 3489 0.242432
+ 3490 0.978516
+ 3491 0.227295
+ 3492 0.98584
+ 3493 0.19458
+ 3494 0.984863
+ 3495 0.244385
+ 3496 0.981934
+ 3497 0.223633
+ 3498 0.981201
+ 3499 0.221924
+ 3500 0.93457
+ 3501 0.220459
+ 3502 0.0305176
+ 3503 0.249268
+ 3504 0.935059
+ 3505 0.218506
+ 3506 0.984863
+ 3507 0.303955
+ 3508 0.275879
+ 3509 0.30542
+ 3510 0.0246582
+ 3511 0.217529
+ 3512 0.0305176
+ 3513 0.253174
+ 3514 0.978271
+ 3515 0.255859
+ 3516 0.0297852
+ 3517 0.259766
+ 3518 0.986084
+ 3519 0.214844
+ 3520 0.0224609
+ 3521 0.310547
+ 3522 0.917969
+ 3523 0.30835
+ 3524 0.935547
+ 3525 0.200439
+ 3526 0.980957
+ 3527 0.199707
+ 3528 0.0241699
+ 3529 0.215576
+ 3530 0.97876
+ 3531 0.304199
+ 3532 0.927002
+ 3533 0.307129
+ 3534 0.0222168
+ 3535 0.306152
+ 3536 0.0241699
+ 3537 0.308105
+ 3538 0.927734
+ 3539 0.221436
+ 3540 0.0222168
+ 3541 0.202393
+ 3542 0.985107
+ 3543 0.222656
+ 3544 0.0180664
+ 3545 0.3125
+ 3546 0.936035
+ 3547 0.221191
+ 3548 0.928223
+ 3549 0.311279
+ 3550 0.0239258
+ 3551 0.262207
+ 3552 0.986572
+ 3553 0.261963
+ 3554 0.982178
+ 3555 0.282227
+ 3556 0.904541
+ 3557 0.313965
+ 3558 0.982422
+ 3559 0.205566
+ 3560 0.977783
+ 3561 0.263184
+ 3562 0.0234375
+ 3563 0.27417
+ 3564 0.975586
+ 3565 0.23584
+ 3566 0.985107
+ 3567 0.271973
+ 3568 0.0178223
+ 3569 0.232666
+ 3570 0.977783
+ 3571 0.31958
+ 3572 0.936768
+ 3573 0.224609
+ 3574 0.928711
+ 3575 0.200684
+ 3576 0.97583
+ 3577 0.267578
+ 3578 0.979248
+ 3579 0.203857
+ 3580 0.0217285
+ 3581 0.31958
+ 3582 0.985352
+ 3583 0.23291
+ 3584 0.928955
+ 3585 0.237305
+ 3586 0.982422
+ 3587 0.315918
+ 3588 0.982422
+ 3589 0.265869
+ 3590 0.937012
+ 3591 0.264893
+ 3592 0.982666
+ 3593 0.244873
+ 3594 0.985352
+ 3595 0.204102
+ 3596 0.0175781
+ 3597 0.23999
+ 3598 0.98291
+ 3599 0.264648
+ 3600 0.976807
+ 3601 0.318848
+ 3602 0.0175781
+ 3603 0.269287
+ 3604 0.986816
+ 3605 0.244141
+ 3606 0.985596
+ 3607 0.241699
+ 3608 0.981689
+ 3609 0.237061
+ 3610 0.925781
+ 3611 0.315918
+ 3612 0.0231934
+ 3613 0.318848
+ 3614 0.930664
+ 3615 0.321533
+ 3616 0.017334
+ 3617 0.237549
+ 3618 0.981445
+ 3619 0.234131
+ 3620 0.978271
+ 3621 0.321533
+ 3622 0.979492
+ 3623 0.322998
+ 3624 0.926514
+ 3625 0.258545
+ 3626 0.976562
+ 3627 0.230957
+ 3628 0.0170898
+ 3629 0.192139
+ 3630 0.979736
+ 3631 0.22998
+ 3632 0.0292969
+ 3633 0.198486
+ 3634 0.98584
+ 3635 0.320557
+ 3636 0.0212402
+ 3637 0.319336
+ 3638 0.978271
+ 3639 0.251953
+ 3640 0.978027
+ 3641 0.196045
+ 3642 0.0170898
+ 3643 0.254395
+ 3644 0.977295
+ 3645 0.233398
+ 3646 0.982178
+ 3647 0.252686
+ 3648 0.986084
+ 3649 0.321045
+ 3650 0.287842
+ 3651 0.230469
+ 3652 0.929932
+ 3653 0.233398
+ 3654 0.982422
+ 3655 0.250488
+ 3656 0.97998
+ 3657 0.231689
+ 3658 0.0168457
+ 3659 0.230713
+ 3660 0.986084
+ 3661 0.193848
+ 3662 0.938721
+ 3663 0.322754
+ 3664 0.921875
+ 3665 0.227783
+ 3666 0.983398
+ 3667 0.22998
+ 3668 0.978516
+ 3669 0.228027
+ 3670 0.97876
+ 3671 0.189941
+ 3672 0.97876
+ 3673 0.225098
+ 3674 0.0227051
+ 3675 0.188477
+ 3676 0.987061
+ 3677 0.320801
+ 3678 0.0168457
+ 3679 0.322266
+ 3680 0.932373
+ 3681 0.251221
+ 3682 0.979004
+ 3683 0.225586
+ 3684 0.987305
+ 3685 0.190186
+ 3686 0.979004
+ 3687 0.324951
+ 3688 0.983398
+ 3689 0.327637
+ 3690 0.939941
+ 3691 0.326416
+ 3692 0.0166016
+ 3693 0.220215
+ 3694 0.983154
+ 3695 0.187988
+ 3696 0.0166016
+ 3697 0.275879
+ 3698 0.966797
+ 3699 0.251221
+ 3700 0.983154
+ 3701 0.220703
+ 3702 0.0166016
+ 3703 0.330322
+ 3704 0.940186
+ 3705 0.329102
+ 3706 0.986328
+ 3707 0.250244
+ 3708 0.0166016
+ 3709 0.251709
+ 3710 0.98291
+ 3711 0.327881
+ 3712 0.922852
+ 3713 0.250732
+ 3714 0.979248
+ 3715 0.325439
+ 3716 0.0224609
+ 3717 0.255127
+ 3718 0.986572
+ 3719 0.253906
+ 3720 0.986572
+ 3721 0.222656
+ 3722 0.986084
+ 3723 0.188965
+ 3724 0.020752
+ 3725 0.188232
+ 3726 0.983398
+ 3727 0.252197
+ 3728 0.020752
+ 3729 0.253906
+ 3730 0.0163574
+ 3731 0.327637
+ 3732 0.987549
+ 3733 0.32666
+ 3734 0.986572
+ 3735 0.224121
+ 3736 0.986328
+ 3737 0.223145
+ 3738 0.986816
+ 3739 0.221436
+ 3740 0.94043
+ 3741 0.219482
+ 3742 0.986816
+ 3743 0.25293
+ 3744 0.935059
+ 3745 0.243408
+ 3746 0.976807
+ 3747 0.22168
+ 3748 0.0163574
+ 3749 0.320801
+ 3750 0.935303
+ 3751 0.252441
+ 3752 0.983643
+ 3753 0.322021
+ 3754 0.984131
+ 3755 0.219238
+ 3756 0.980713
+ 3757 0.249512
+ 3758 0.981201
+ 3759 0.189209
+ 3760 0.979736
+ 3761 0.1875
+ 3762 0.986816
+ 3763 0.251465
+ 3764 0.979736
+ 3765 0.186035
+ 3766 0.986328
+ 3767 0.185303
+ 3768 0.97998
+ 3769 0.222656
+ 3770 0.984131
+ 3771 0.183838
+ 3772 0.984375
+ 3773 0.187012
+ 3774 0.0275879
+ 3775 0.223877
+ 3776 0.986328
+ 3777 0.189453
+ 3778 0.986572
+ 3779 0.317383
+ 3780 0.984619
+ 3781 0.222168
+ 3782 0.027832
+ 3783 0.319824
+ 3784 0.980957
+ 3785 0.321289
+ 3786 0.0219727
+ 3787 0.221436
+ 3788 0.0219727
+ 3789 0.32373
+ 3790 0.97998
+ 3791 0.191162
+ 3792 0.280518
+ 3793 0.223633
+ 3794 0.980225
+ 3795 0.22168
+ 3796 0.0158691
+ 3797 0.189697
+ 3798 0.93042
+ 3799 0.325439
+ 3800 0.987061
+ 3801 0.219971
+ 3802 0.986816
+ 3803 0.218994
+ 3804 0.930664
+ 3805 0.248535
+ 3806 0.978516
+ 3807 0.247314
+ 3808 0.015625
+ 3809 0.218262
+ 3810 0.015625
+ 3811 0.217285
+ 3812 0.931396
+ 3813 0.216553
+ 3814 0.980225
+ 3815 0.244385
+ 3816 0.980225
+ 3817 0.328369
+ 3818 0.987061
+ 3819 0.216797
+ 3820 0.0202637
+ 3821 0.325928
+ 3822 0.984863
+ 3823 0.328613
+ 3824 0.988037
+ 3825 0.241943
+ 3826 0.0273438
+ 3827 0.220459
+ 3828 0.0197754
+ 3829 0.327148
+ 3830 0.0273438
+ 3831 0.325928
+ 3832 0.984375
+ 3833 0.221924
+ 3834 0.978516
+ 3835 0.238037
+ 3836 0.987305
+ 3837 0.237061
+ 3838 0.97876
+ 3839 0.27124
+ 3840 0.0358887
+ 3841 0.23877
+ 3842 0.935059
+ 3843 0.240234
+ 3844 0.987549
+ 3845 0.239258
+ 3846 0.988281
+ 3847 0.238281
+ 3848 0.0214844
+ 3849 0.246338
+ 3850 0.0153809
+ 3851 0.248047
+ 3852 0.987549
+ 3853 0.24707
+ 3854 0.943359
+ 3855 0.246338
+ 3856 0.985107
+ 3857 0.250244
+ 3858 0.979004
+ 3859 0.321289
+ 3860 0.988281
+ 3861 0.248535
+ 3862 0.987549
+ 3863 0.247559
+ 3864 0.980469
+ 3865 0.246826
+ 3866 0.926758
+ 3867 0.195068
+ 3868 0.943604
+ 3869 0.193604
+ 3870 0.0192871
+ 3871 0.248535
+ 3872 0.935059
+ 3873 0.193115
+ 3874 0.988281
+ 3875 0.24292
+ 3876 0.0153809
+ 3877 0.191406
+ 3878 0.984619
+ 3879 0.249268
+ 3880 0.943848
+ 3881 0.248535
+ 3882 0.981934
+ 3883 0.321533
+ 3884 0.984375
+ 3885 0.250732
+ 3886 0.988525
+ 3887 0.257324
+ 3888 0.935791
+ 3889 0.238281
+ 3890 0.020752
+ 3891 0.197266
+ 3892 0.0270996
+ 3893 0.199707
+ 3894 0.987061
+ 3895 0.320312
+ 3896 0.987793
+ 3897 0.19458
+ 3898 0.984619
+ 3899 0.239014
+ 3900 0.985596
+ 3901 0.193848
+ 3902 0.987793
+ 3903 0.248047
+ 3904 0.982178
+ 3905 0.314209
+ 3906 0.988037
+ 3907 0.3125
+ 3908 0.980957
+ 3909 0.241943
+ 3910 0.985596
+ 3911 0.244141
+ 3912 0.984863
+ 3913 0.241943
+ 3914 0.984863
+ 3915 0.239746
+ 3916 0.985596
+ 3917 0.241943
+ 3918 0.979248
+ 3919 0.247559
+ 3920 0.982422
+ 3921 0.249268
+ 3922 0.980957
+ 3923 0.314697
+ 3924 0.982666
+ 3925 0.315674
+ 3926 0.98584
+ 3927 0.318359
+ 3928 0.988037
+ 3929 0.31665
+ 3930 0.987549
+ 3931 0.246582
+ 3932 0.988281
+ 3933 0.245605
+ 3934 0.269775
+ 3935 0.314209
+ 3936 0.0146484
+ 3937 0.31665
+ 3938 0.0146484
+ 3939 0.241455
+ 3940 0.0146484
+ 3941 0.250488
+ 3942 0.0146484
+ 3943 0.240723
+ 3944 0.979248
+ 3945 0.249268
+ 3946 0.98291
+ 3947 0.253418
+ 3948 0.98291
+ 3949 0.325684
+ 3950 0.985107
+ 3951 0.239014
+ 3952 0.026123
+ 3953 0.23877
+ 3954 0.981201
+ 3955 0.236084
+ 3956 0.977783
+ 3957 0.235107
+ 3958 0.933105
+ 3959 0.234131
+ 3960 0.979248
+ 3961 0.233154
+ 3962 0.933838
+ 3963 0.232178
+ 3964 0.985107
+ 3965 0.230225
+ 3966 0.934082
+ 3967 0.229248
+ 3968 0.936035
+ 3969 0.232422
+ 3970 0.985107
+ 3971 0.249756
+ 3972 0.0258789
+ 3973 0.189453
+ 3974 0.986084
+ 3975 0.324219
+ 3976 0.987793
+ 3977 0.229736
+ 3978 0.987793
+ 3979 0.22876
+ 3980 0.0144043
+ 3981 0.278076
+ 3982 0.909668
+ 3983 0.321289
+ 3984 0.937012
+ 3985 0.191162
+ 3986 0.986084
+ 3987 0.227051
+ 3988 0.988525
+ 3989 0.243896
+ 3990 0.946533
+ 3991 0.323242
+ 3992 0.988037
+ 3993 0.228027
+ 3994 0.938721
+ 3995 0.319336
+ 3996 0.937988
+ 3997 0.192139
+ 3998 0.946777
+ 3999 0.32251
+ 4000 0.0141602
+ 4001 0.32373
+ 4002 0.947021
+ 4003 0.240479
+ 4004 0.937744
+ 4005 0.229492
+ 4006 0.988037
+ 4007 0.242188
+ 4008 0.939209
+ 4009 0.323242
+ 4010 0.98877
+ 4011 0.244141
+ 4012 0.0144043
+ 4013 0.24585
+ 4014 0.0141602
+ 4015 0.32666
+ 4016 0.98584
+ 4017 0.243896
+ 4018 0.985596
+ 4019 0.229004
+ 4020 0.988281
+ 4021 0.243164
+ 4022 0.947266
+ 4023 0.328613
+ 4024 0.94751
+ 4025 0.190674
+ 4026 0.986328
+ 4027 0.241211
+ 4028 0.0197754
+ 4029 0.253662
+ 4030 0.0136719
+ 4031 0.250732
+ 4032 0.988281
+ 4033 0.229248
+ 4034 0.983643
+ 4035 0.324463
+ 4036 0.986328
+ 4037 0.193359
+ 4038 0.981689
+ 4039 0.192139
+ 4040 0.989014
+ 4041 0.229492
+ 4042 0.0195312
+ 4043 0.232666
+ 4044 0.98584
+ 4045 0.248779
+ 4046 0.983643
+ 4047 0.230957
+ 4048 0.0195312
+ 4049 0.233887
+ 4050 0.988281
+ 4051 0.23291
+ 4052 0.989014
+ 4053 0.191406
+ 4054 0.989014
+ 4055 0.22998
+ 4056 0.983887
+ 4057 0.233154
+ 4058 0.986084
+ 4059 0.231201
+ 4060 0.986572
+ 4061 0.233398
+ 4062 0.989258
+ 4063 0.321045
+ 4064 0.013916
+ 4065 0.32251
+ 4066 0.989258
+ 4067 0.190918
+ 4068 0.988525
+ 4069 0.317627
+ 4070 0.986084
+ 4071 0.249023
+ 4072 0.989258
+ 4073 0.318848
+ 4074 0.989258
+ 4075 0.248535
+ 4076 0.267334
+ 4077 0.24707
+ 4078 0.989258
+ 4079 0.23291
+ 4080 0.986084
+ 4081 0.315674
+ 4082 0.988525
+ 4083 0.312012
+ 4084 0.013916
+ 4085 0.230957
+ 4086 0.0192871
+ 4087 0.313232
+ 4088 0.0253906
+ 4089 0.234131
+ 4090 0.941406
+ 4091 0.237061
+ 4092 0.984131
+ 4093 0.310059
+ 4094 0.0251465
+ 4095 0.23999
+ 4096 0.0136719
+ 4097 0.239258
+ 4098 0.0175781
+ 4099 0.245361
+ 4100 0.986328
+ 4101 0.310303
+ 4102 0.980225
+ 4103 0.240234
+ 4104 0.0251465
+ 4105 0.239258
+ 4106 0.0136719
+ 4107 0.197998
+ 4108 0.0136719
+ 4109 0.313232
+ 4110 0.0134277
+ 4111 0.244141
+ 4112 0.0134277
+ 4113 0.316895
+ 4114 0.984619
+ 4115 0.317871
+ 4116 0.0134277
+ 4117 0.238525
+ 4118 0.989014
+ 4119 0.317139
+ 4120 0.0249023
+ 4121 0.237549
+ 4122 0.0131836
+ 4123 0.26709
+ 4124 0.908447
+ 4125 0.318115
+ 4126 0.937256
+ 4127 0.320801
+ 4128 0.93042
+ 4129 0.197754
+ 4130 0.989502
+ 4131 0.241455
+ 4132 0.986572
+ 4133 0.318359
+ 4134 0.986572
+ 4135 0.244385
+ 4136 0.980713
+ 4137 0.244141
+ 4138 0.984619
+ 4139 0.247559
+ 4140 0.989502
+ 4141 0.325928
+ 4142 0.94873
+ 4143 0.238037
+ 4144 0.989014
+ 4145 0.195312
+ 4146 0.986816
+ 4147 0.236084
+ 4148 0.989258
+ 4149 0.24292
+ 4150 0.989502
+ 4151 0.234375
+ 4152 0.986572
+ 4153 0.32251
+ 4154 0.989502
+ 4155 0.320312
+ 4156 0.017334
+ 4157 0.24292
+ 4158 0.0129395
+ 4159 0.246094
+ 4160 0.931396
+ 4161 0.238525
+ 4162 0.989258
+ 4163 0.317627
+ 4164 0.948975
+ 4165 0.316895
+ 4166 0.949219
+ 4167 0.196777
+ 4168 0.949463
+ 4169 0.195312
+ 4170 0.949707
+ 4171 0.248535
+ 4172 0.982422
+ 4173 0.193848
+ 4174 0.986816
+ 4175 0.314941
+ 4176 0.932129
+ 4177 0.192627
+ 4178 0.987061
+ 4179 0.3125
+ 4180 0.987061
+ 4181 0.24292
+ 4182 0.987061
+ 4183 0.313965
+ 4184 0.949951
+ 4185 0.312988
+ 4186 0.987305
+ 4187 0.310547
+ 4188 0.940186
+ 4189 0.241699
+ 4190 0.984619
+ 4191 0.242676
+ 4192 0.982422
+ 4193 0.241943
+ 4194 0.985107
+ 4195 0.24292
+ 4196 0.985107
+ 4197 0.196533
+ 4198 0.982422
+ 4199 0.31665
+ 4200 0.987305
+ 4201 0.314453
+ 4202 0.989502
+ 4203 0.195557
+ 4204 0.989502
+ 4205 0.195068
+ 4206 0.0183105
+ 4207 0.251221
+ 4208 0.987549
+ 4209 0.22876
+ 4210 0.985107
+ 4211 0.309082
+ 4212 0.987549
+ 4213 0.230957
+ 4214 0.0180664
+ 4215 0.311768
+ 4216 0.986816
+ 4217 0.314209
+ 4218 0.27002
+ 4219 0.23291
+ 4220 0.938232
+ 4221 0.232178
+ 4222 0.0180664
+ 4223 0.255127
+ 4224 0.938477
+ 4225 0.253906
+ 4226 0.0168457
+ 4227 0.256348
+ 4228 0.0168457
+ 4229 0.259277
+ 4230 0.985352
+ 4231 0.262451
+ 4232 0.989746
+ 4233 0.314209
+ 4234 0.0244141
+ 4235 0.312988
+ 4236 0.0246582
+ 4237 0.24292
+ 4238 0.980957
+ 4239 0.241455
+ 4240 0.987305
+ 4241 0.310547
+ 4242 0.987061
+ 4243 0.313232
+ 4244 0.980957
+ 4245 0.241943
+ 4246 0.938721
+ 4247 0.239258
+ 4248 0.989258
+ 4249 0.236572
+ 4250 0.989746
+ 4251 0.233887
+ 4252 0.98291
+ 4253 0.232178
+ 4254 0.989746
+ 4255 0.231201
+ 4256 0.0178223
+ 4257 0.26123
+ 4258 0.938232
+ 4259 0.309082
+ 4260 0.987549
+ 4261 0.311279
+ 4262 0.0166016
+ 4263 0.236328
+ 4264 0.938965
+ 4265 0.260498
+ 4266 0.973877
+ 4267 0.257568
+ 4268 0.95166
+ 4269 0.256592
+ 4270 0.0163574
+ 4271 0.200195
+ 4272 0.951904
+ 4273 0.310791
+ 4274 0.989746
+ 4275 0.25415
+ 4276 0.981201
+ 4277 0.253662
+ 4278 0.0163574
+ 4279 0.310791
+ 4280 0.989746
+ 4281 0.251465
+ 4282 0.934082
+ 4283 0.197021
+ 4284 0.0241699
+ 4285 0.253906
+ 4286 0.012207
+ 4287 0.256348
+ 4288 0.951904
+ 4289 0.19873
+ 4290 0.012207
+ 4291 0.258545
+ 4292 0.989502
+ 4293 0.257324
+ 4294 0.928955
+ 4295 0.256104
+ 4296 0.017334
+ 4297 0.213623
+ 4298 0.952148
+ 4299 0.309326
+ 4300 0.987793
+ 4301 0.248535
+ 4302 0.989746
+ 4303 0.247314
+ 4304 0.98999
+ 4305 0.260742
+ 4306 0.0241699
+ 4307 0.263184
+ 4308 0.988037
+ 4309 0.303711
+ 4310 0.952393
+ 4311 0.264893
+ 4312 0.934326
+ 4313 0.262451
+ 4314 0.983154
+ 4315 0.246338
+ 4316 0.942383
+ 4317 0.207764
+ 4318 0.988037
+ 4319 0.203125
+ 4320 0.987305
+ 4321 0.207275
+ 4322 0.988037
+ 4323 0.246582
+ 4324 0.012207
+ 4325 0.302002
+ 4326 0.983398
+ 4327 0.204834
+ 4328 0.990234
+ 4329 0.259766
+ 4330 0.988281
+ 4331 0.258789
+ 4332 0.98584
+ 4333 0.246338
+ 4334 0.990234
+ 4335 0.260742
+ 4336 0.98999
+ 4337 0.204102
+ 4338 0.98999
+ 4339 0.248779
+ 4340 0.98999
+ 4341 0.248047
+ 4342 0.987793
+ 4343 0.25
+ 4344 0.98584
+ 4345 0.252686
+ 4346 0.0168457
+ 4347 0.203125
+ 4348 0.98999
+ 4349 0.255615
+ 4350 0.98584
+ 4351 0.28833
+ 4352 0.990723
+ 4353 0.258057
+ 4354 0.990234
+ 4355 0.202637
+ 4356 0.983398
+ 4357 0.256348
+ 4358 0.986328
+ 4359 0.258789
+ 4360 0.264404
+ 4361 0.257812
+ 4362 0.0231934
+ 4363 0.204102
+ 4364 0.0168457
+ 4365 0.283691
+ 4366 0.953125
+ 4367 0.283447
+ 4368 0.944336
+ 4369 0.255615
+ 4370 0.0119629
+ 4371 0.205566
+ 4372 0.981934
+ 4373 0.254883
+ 4374 0.988525
+ 4375 0.256592
+ 4376 0.0117188
+ 4377 0.258057
+ 4378 0.990479
+ 4379 0.291992
+ 4380 0.941162
+ 4381 0.251953
+ 4382 0.941895
+ 4383 0.251221
+ 4384 0.98877
+ 4385 0.249512
+ 4386 0.0153809
+ 4387 0.290771
+ 4388 0.98999
+ 4389 0.249512
+ 4390 0.945312
+ 4391 0.252197
+ 4392 0.983887
+ 4393 0.256592
+ 4394 0.98999
+ 4395 0.254395
+ 4396 0.990234
+ 4397 0.253662
+ 4398 0.0151367
+ 4399 0.199463
+ 4400 0.0119629
+ 4401 0.198486
+ 4402 0.946045
+ 4403 0.255127
+ 4404 0.982178
+ 4405 0.287109
+ 4406 0.0117188
+ 4407 0.259277
+ 4408 0.908691
+ 4409 0.199219
+ 4410 0.0151367
+ 4411 0.254639
+ 4412 0.990479
+ 4413 0.253662
+ 4414 0.0114746
+ 4415 0.255371
+ 4416 0.990479
+ 4417 0.253906
+ 4418 0.0112305
+ 4419 0.255371
+ 4420 0.990723
+ 4421 0.29248
+ 4422 0.987793
+ 4423 0.25293
+ 4424 0.946533
+ 4425 0.19751
+ 4426 0.945312
+ 4427 0.199707
+ 4428 0.98877
+ 4429 0.253662
+ 4430 0.989746
+ 4431 0.297363
+ 4432 0.954102
+ 4433 0.198486
+ 4434 0.989746
+ 4435 0.253174
+ 4436 0.946533
+ 4437 0.254395
+ 4438 0.990234
+ 4439 0.253418
+ 4440 0.954102
+ 4441 0.297852
+ 4442 0.98999
+ 4443 0.256348
+ 4444 0.0112305
+ 4445 0.299805
+ 4446 0.0114746
+ 4447 0.30127
+ 4448 0.990479
+ 4449 0.250977
+ 4450 0.954346
+ 4451 0.25415
+ 4452 0.990723
+ 4453 0.250244
+ 4454 0.946045
+ 4455 0.247803
+ 4456 0.990723
+ 4457 0.298096
+ 4458 0.987061
+ 4459 0.300537
+ 4460 0.989014
+ 4461 0.199219
+ 4462 0.989014
+ 4463 0.253418
+ 4464 0.0112305
+ 4465 0.25415
+ 4466 0.989014
+ 4467 0.253174
+ 4468 0.989014
+ 4469 0.198242
+ 4470 0.987549
+ 4471 0.201416
+ 4472 0.987793
+ 4473 0.20459
+ 4474 0.0109863
+ 4475 0.304443
+ 4476 0.989258
+ 4477 0.249268
+ 4478 0.987061
+ 4479 0.304199
+ 4480 0.989258
+ 4481 0.250977
+ 4482 0.989014
+ 4483 0.203857
+ 4484 0.987305
+ 4485 0.304688
+ 4486 0.987305
+ 4487 0.247314
+ 4488 0.990234
+ 4489 0.24707
+ 4490 0.987549
+ 4491 0.206787
+ 4492 0.984375
+ 4493 0.205322
+ 4494 0.991455
+ 4495 0.20459
+ 4496 0.987549
+ 4497 0.245117
+ 4498 0.0158691
+ 4499 0.20752
+ 4500 0.991455
+ 4501 0.248779
+ 4502 0.254639
+ 4503 0.301758
+ 4504 0.0109863
+ 4505 0.251709
+ 4506 0.982422
+ 4507 0.250732
+ 4508 0.943359
+ 4509 0.25
+ 4510 0.0158691
+ 4511 0.254639
+ 4512 0.989014
+ 4513 0.301514
+ 4514 0.991943
+ 4515 0.299316
+ 4516 0.948975
+ 4517 0.250732
+ 4518 0.0158691
+ 4519 0.301758
+ 4520 0.990967
+ 4521 0.253662
+ 4522 0.0109863
+ 4523 0.252686
+ 4524 0.0158691
+ 4525 0.300537
+ 4526 0.989258
+ 4527 0.298828
+ 4528 0.943848
+ 4529 0.254639
+ 4530 0.988281
+ 4531 0.297363
+ 4532 0.989746
+ 4533 0.295654
+ 4534 0.0107422
+ 4535 0.255615
+ 4536 0.991455
+ 4537 0.295898
+ 4538 0.986084
+ 4539 0.252441
+ 4540 0.989502
+ 4541 0.252686
+ 4542 0.948242
+ 4543 0.255615
+ 4544 0.982422
+ 4545 0.250732
+ 4546 0.989746
+ 4547 0.252686
+ 4548 0.0141602
+ 4549 0.255127
+ 4550 0.974854
+ 4551 0.254639
+ 4552 0.0107422
+ 4553 0.251709
+ 4554 0.938232
+ 4555 0.199463
+ 4556 0.94458
+ 4557 0.250977
+ 4558 0.984619
+ 4559 0.249756
+ 4560 0.013916
+ 4561 0.251465
+ 4562 0.937988
+ 4563 0.250244
+ 4564 0.956055
+ 4565 0.202637
+ 4566 0.956299
+ 4567 0.249756
+ 4568 0.989014
+ 4569 0.255127
+ 4570 0.990967
+ 4571 0.248779
+ 4572 0.98877
+ 4573 0.303223
+ 4574 0.0153809
+ 4575 0.256592
+ 4576 0.010498
+ 4577 0.259033
+ 4578 0.990479
+ 4579 0.305664
+ 4580 0.98999
+ 4581 0.251953
+ 4582 0.98999
+ 4583 0.250244
+ 4584 0.010498
+ 4585 0.260254
+ 4586 0.990479
+ 4587 0.259521
+ 4588 0.94873
+ 4589 0.205811
+ 4590 0.989746
+ 4591 0.261475
+ 4592 0.956299
+ 4593 0.309326
+ 4594 0.948486
+ 4595 0.202393
+ 4596 0.991455
+ 4597 0.249512
+ 4598 0.94873
+ 4599 0.310547
+ 4600 0.991699
+ 4601 0.308594
+ 4602 0.984863
+ 4603 0.307617
+ 4604 0.984863
+ 4605 0.257568
+ 4606 0.989502
+ 4607 0.256836
+ 4608 0.990479
+ 4609 0.19873
+ 4610 0.990234
+ 4611 0.255859
+ 4612 0.989502
+ 4613 0.310059
+ 4614 0.991699
+ 4615 0.198242
+ 4616 0.989746
+ 4617 0.197754
+ 4618 0.991211
+ 4619 0.255371
+ 4620 0.989502
+ 4621 0.242188
+ 4622 0.0100098
+ 4623 0.310059
+ 4624 0.988525
+ 4625 0.252197
+ 4626 0.984863
+ 4627 0.243164
+ 4628 0.990479
+ 4629 0.241455
+ 4630 0.0100098
+ 4631 0.240479
+ 4632 0.986084
+ 4633 0.249268
+ 4634 0.990967
+ 4635 0.248291
+ 4636 0.990967
+ 4637 0.196045
+ 4638 0.988281
+ 4639 0.199219
+ 4640 0.985107
+ 4641 0.246338
+ 4642 0.991211
+ 4643 0.312744
+ 4644 0.248047
+ 4645 0.246094
+ 4646 0.013916
+ 4647 0.248291
+ 4648 0.988037
+ 4649 0.313721
+ 4650 0.00976562
+ 4651 0.247803
+ 4652 0.990234
+ 4653 0.313965
+ 4654 0.98291
+ 4655 0.312012
+ 4656 0.0224609
+ 4657 0.246094
+ 4658 0.013916
+ 4659 0.310791
+ 4660 0.0136719
+ 4661 0.199951
+ 4662 0.00976562
+ 4663 0.198975
+ 4664 0.0136719
+ 4665 0.253906
+ 4666 0.0151367
+ 4667 0.25
+ 4668 0.0134277
+ 4669 0.311035
+ 4670 0.0134277
+ 4671 0.309814
+ 4672 0.949707
+ 4673 0.262451
+ 4674 0.985352
+ 4675 0.260254
+ 4676 0.983154
+ 4677 0.246094
+ 4678 0.0146484
+ 4679 0.314941
+ 4680 0.983154
+ 4681 0.259277
+ 4682 0.987549
+ 4683 0.311279
+ 4684 0.990967
+ 4685 0.26001
+ 4686 0.940918
+ 4687 0.25
+ 4688 0.98999
+ 4689 0.25708
+ 4690 0.983154
+ 4691 0.251953
+ 4692 0.975586
+ 4693 0.249023
+ 4694 0.990479
+ 4695 0.255127
+ 4696 0.983398
+ 4697 0.309326
+ 4698 0.958008
+ 4699 0.253418
+ 4700 0.990234
+ 4701 0.248779
+ 4702 0.958252
+ 4703 0.247803
+ 4704 0.991455
+ 4705 0.249512
+ 4706 0.989014
+ 4707 0.310059
+ 4708 0.990723
+ 4709 0.249512
+ 4710 0.941406
+ 4711 0.246094
+ 4712 0.941406
+ 4713 0.248535
+ 4714 0.0131836
+ 4715 0.202393
+ 4716 0.991211
+ 4717 0.244141
+ 4718 0.990723
+ 4719 0.252686
+ 4720 0.941406
+ 4721 0.200928
+ 4722 0.00952148
+ 4723 0.200195
+ 4724 0.991699
+ 4725 0.304443
+ 4726 0.990723
+ 4727 0.30249
+ 4728 0.990723
+ 4729 0.300293
+ 4730 0.0129395
+ 4731 0.246094
+ 4732 0.990967
+ 4733 0.25293
+ 4734 0.991943
+ 4735 0.295654
+ 4736 0.0129395
+ 4737 0.248047
+ 4738 0.941895
+ 4739 0.233887
+ 4740 0.991211
+ 4741 0.199951
+ 4742 0.990967
+ 4743 0.293701
+ 4744 0.99292
+ 4745 0.199463
+ 4746 0.991699
+ 4747 0.247803
+ 4748 0.988037
+ 4749 0.198486
+ 4750 0.0144043
+ 4751 0.291504
+ 4752 0.990967
+ 4753 0.20166
+ 4754 0.0144043
+ 4755 0.290283
+ 4756 0.991455
+ 4757 0.20459
+ 4758 0.991211
+ 4759 0.243408
+ 4760 0.946045
+ 4761 0.242432
+ 4762 0.959229
+ 4763 0.202148
+ 4764 0.959229
+ 4765 0.25415
+ 4766 0.942139
+ 4767 0.239746
+ 4768 0.98999
+ 4769 0.288574
+ 4770 0.991943
+ 4771 0.2854
+ 4772 0.0129395
+ 4773 0.241211
+ 4774 0.951172
+ 4775 0.251221
+ 4776 0.951172
+ 4777 0.205811
+ 4778 0.0144043
+ 4779 0.257812
+ 4780 0.991455
+ 4781 0.242432
+ 4782 0.983643
+ 4783 0.280762
+ 4784 0.991455
+ 4785 0.280029
+ 4786 0.25415
+ 4787 0.208008
+ 4788 0.99292
+ 4789 0.257324
+ 4790 0.990234
+ 4791 0.241211
+ 4792 0.990967
+ 4793 0.240234
+ 4794 0.00952148
+ 4795 0.259766
+ 4796 0.0126953
+ 4797 0.207275
+ 4798 0.00927734
+ 4799 0.26001
+ 4800 0.00927734
+ 4801 0.261475
+ 4802 0.987793
+ 4803 0.262939
+ 4804 0.991699
+ 4805 0.261475
+ 4806 0.013916
+ 4807 0.243896
+ 4808 0.98584
+ 4809 0.204346
+ 4810 0.0222168
+ 4811 0.206787
+ 4812 0.013916
+ 4813 0.242432
+ 4814 0.0212402
+ 4815 0.241211
+ 4816 0.990967
+ 4817 0.238525
+ 4818 0.00927734
+ 4819 0.237549
+ 4820 0.0136719
+ 4821 0.240479
+ 4822 0.992188
+ 4823 0.265869
+ 4824 0.959961
+ 4825 0.264893
+ 4826 0.00927734
+ 4827 0.266602
+ 4828 0.0214844
+ 4829 0.286621
+ 4830 0.992188
+ 4831 0.218262
+ 4832 0.990967
+ 4833 0.245605
+ 4834 0.976318
+ 4835 0.237549
+ 4836 0.0124512
+ 4837 0.267334
+ 4838 0.990967
+ 4839 0.23877
+ 4840 0.946777
+ 4841 0.266113
+ 4842 0.989502
+ 4843 0.236816
+ 4844 0.960693
+ 4845 0.287842
+ 4846 0.992188
+ 4847 0.235107
+ 4848 0.0209961
+ 4849 0.234131
+ 4850 0.992676
+ 4851 0.283691
+ 4852 0.0090332
+ 4853 0.2854
+ 4854 0.992188
+ 4855 0.284668
+ 4856 0.991455
+ 4857 0.22998
+ 4858 0.991455
+ 4859 0.266846
+ 4860 0.012207
+ 4861 0.222656
+ 4862 0.983887
+ 4863 0.281494
+ 4864 0.991699
+ 4865 0.280762
+ 4866 0.990234
+ 4867 0.278564
+ 4868 0.012207
+ 4869 0.234619
+ 4870 0.99292
+ 4871 0.232666
+ 4872 0.0134277
+ 4873 0.276611
+ 4874 0.947998
+ 4875 0.265869
+ 4876 0.0134277
+ 4877 0.272949
+ 4878 0.99292
+ 4879 0.234375
+ 4880 0.98584
+ 4881 0.239746
+ 4882 0.942383
+ 4883 0.273193
+ 4884 0.0131836
+ 4885 0.275635
+ 4886 0.012207
+ 4887 0.274658
+ 4888 0.992676
+ 4889 0.27124
+ 4890 0.988037
+ 4891 0.272217
+ 4892 0.992676
+ 4893 0.27124
+ 4894 0.960693
+ 4895 0.241699
+ 4896 0.961426
+ 4897 0.239746
+ 4898 0.991211
+ 4899 0.27124
+ 4900 0.960938
+ 4901 0.269775
+ 4902 0.96167
+ 4903 0.236084
+ 4904 0.012207
+ 4905 0.271484
+ 4906 0.987305
+ 4907 0.238037
+ 4908 0.943359
+ 4909 0.237061
+ 4910 0.991943
+ 4911 0.236328
+ 4912 0.943359
+ 4913 0.270996
+ 4914 0.987061
+ 4915 0.272217
+ 4916 0.991455
+ 4917 0.27124
+ 4918 0.991943
+ 4919 0.276611
+ 4920 0.954834
+ 4921 0.279053
+ 4922 0.991943
+ 4923 0.269043
+ 4924 0.961426
+ 4925 0.280029
+ 4926 0.989502
+ 4927 0.266846
+ 4928 0.241699
+ 4929 0.268799
+ 4930 0.984375
+ 4931 0.237305
+ 4932 0.984375
+ 4933 0.280029
+ 4934 0.953857
+ 4935 0.215576
+ 4936 0.989502
+ 4937 0.282715
+ 4938 0.989258
+ 4939 0.264893
+ 4940 0.991699
+ 4941 0.284424
+ 4942 0.989502
+ 4943 0.286865
+ 4944 0.989502
+ 4945 0.235596
+ 4946 0.992432
+ 4947 0.234863
+ 4948 0.953613
+ 4949 0.237793
+ 4950 0.990234
+ 4951 0.287354
+ 4952 0.987549
+ 4953 0.239746
+ 4954 0.991943
+ 4955 0.217529
+ 4956 0.992188
+ 4957 0.237061
+ 4958 0.96167
+ 4959 0.287598
+ 4960 0.989502
+ 4961 0.258301
+ 4962 0.99292
+ 4963 0.25708
+ 4964 0.992188
+ 4965 0.241211
+ 4966 0.984375
+ 4967 0.240234
+ 4968 0.992676
+ 4969 0.215576
+ 4970 0.987549
+ 4971 0.218506
+ 4972 0.0117188
+ 4973 0.217773
+ 4974 0.993896
+ 4975 0.244629
+ 4976 0.979248
+ 4977 0.239502
+ 4978 0.986328
+ 4979 0.237793
+ 4980 0.0114746
+ 4981 0.283203
+ 4982 0.986572
+ 4983 0.239014
+ 4984 0.00854492
+ 4985 0.25708
+ 4986 0.020752
+ 4987 0.284424
+ 4988 0.955078
+ 4989 0.237793
+ 4990 0.991455
+ 4991 0.236084
+ 4992 0.0114746
+ 4993 0.286377
+ 4994 0.00830078
+ 4995 0.287354
+ 4996 0.992676
+ 4997 0.252197
+ 4998 0.984619
+ 4999 0.238037
+ 5000 0.0114746
+ 5001 0.253906
+ 5002 0.0205078
+ 5003 0.286865
+ 5004 0.00830078
+ 5005 0.23999
+ 5006 0.0114746
+ 5007 0.28833
+ 5008 0.0114746
+ 5009 0.219238
+ 5010 0.00830078
+ 5011 0.250977
+ 5012 0.984619
+ 5013 0.25
+ 5014 0.00830078
+ 5015 0.244873
+ 5016 0.992432
+ 5017 0.243896
+ 5018 0.988281
+ 5019 0.291748
+ 5020 0.00830078
+ 5021 0.246826
+ 5022 0.993164
+ 5023 0.240479
+ 5024 0.992432
+ 5025 0.246338
+ 5026 0.991699
+ 5027 0.245117
+ 5028 0.00805664
+ 5029 0.247803
+ 5030 0.993408
+ 5031 0.243164
+ 5032 0.990234
+ 5033 0.242188
+ 5034 0.948242
+ 5035 0.251709
+ 5036 0.955566
+ 5037 0.254639
+ 5038 0.991699
+ 5039 0.240234
+ 5040 0.990967
+ 5041 0.254639
+ 5042 0.94458
+ 5043 0.253662
+ 5044 0.984619
+ 5045 0.293213
+ 5046 0.945068
+ 5047 0.252686
+ 5048 0.991943
+ 5049 0.24292
+ 5050 0.986816
+ 5051 0.292969
+ 5052 0.991943
+ 5053 0.242188
+ 5054 0.991943
+ 5055 0.248047
+ 5056 0.962402
+ 5057 0.294922
+ 5058 0.993408
+ 5059 0.241699
+ 5060 0.956543
+ 5061 0.210205
+ 5062 0.992188
+ 5063 0.248047
+ 5064 0.992188
+ 5065 0.24707
+ 5066 0.0109863
+ 5067 0.209717
+ 5068 0.0109863
+ 5069 0.251953
+ 5070 0.244873
+ 5071 0.241455
+ 5072 0.987061
+ 5073 0.240723
+ 5074 0.0078125
+ 5075 0.242188
+ 5076 0.992432
+ 5077 0.207764
+ 5078 0.99292
+ 5079 0.241455
+ 5080 0.991699
+ 5081 0.253906
+ 5082 0.992676
+ 5083 0.207031
+ 5084 0.992676
+ 5085 0.240967
+ 5086 0.98877
+ 5087 0.251709
+ 5088 0.962891
+ 5089 0.205566
+ 5090 0.992432
+ 5091 0.28833
+ 5092 0.98999
+ 5093 0.248047
+ 5094 0.99292
+ 5095 0.242188
+ 5096 0.0124512
+ 5097 0.20459
+ 5098 0.99292
+ 5099 0.246582
+ 5100 0.0078125
+ 5101 0.248291
+ 5102 0.992432
+ 5103 0.247803
+ 5104 0.957031
+ 5105 0.250732
+ 5106 0.99292
+ 5107 0.292725
+ 5108 0.993652
+ 5109 0.248047
+ 5110 0.0078125
+ 5111 0.203125
+ 5112 0.994141
+ 5113 0.202393
+ 5114 0.992432
+ 5115 0.291504
+ 5116 0.98999
+ 5117 0.237793
+ 5118 0.978271
+ 5119 0.20166
+ 5120 0.0124512
+ 5121 0.244141
+ 5122 0.948975
+ 5123 0.246826
+ 5124 0.99292
+ 5125 0.291748
+ 5126 0.012207
+ 5127 0.294189
+ 5128 0.945801
+ 5129 0.242188
+ 5130 0.00756836
+ 5131 0.241211
+ 5132 0.00756836
+ 5133 0.240234
+ 5134 0.987549
+ 5135 0.238281
+ 5136 0.0200195
+ 5137 0.208496
+ 5138 0.987549
+ 5139 0.297607
+ 5140 0.993896
+ 5141 0.245117
+ 5142 0.946045
+ 5143 0.244141
+ 5144 0.0200195
+ 5145 0.239502
+ 5146 0.0197754
+ 5147 0.244629
+ 5148 0.0197754
+ 5149 0.293701
+ 5150 0.993408
+ 5151 0.238525
+ 5152 0.0107422
+ 5153 0.21875
+ 5154 0.987549
+ 5155 0.239502
+ 5156 0.989014
+ 5157 0.242432
+ 5158 0.00756836
+ 5159 0.241455
+ 5160 0.0195312
+ 5161 0.242676
+ 5162 0.945801
+ 5163 0.240479
+ 5164 0.0192871
+ 5165 0.240234
+ 5166 0.994141
+ 5167 0.241699
+ 5168 0.946289
+ 5169 0.240723
+ 5170 0.991943
+ 5171 0.288086
+ 5172 0.95874
+ 5173 0.290771
+ 5174 0.946533
+ 5175 0.241699
+ 5176 0.946289
+ 5177 0.240723
+ 5178 0.946289
+ 5179 0.241943
+ 5180 0.991455
+ 5181 0.240967
+ 5182 0.98999
+ 5183 0.23877
+ 5184 0.00756836
+ 5185 0.291016
+ 5186 0.0107422
+ 5187 0.225586
+ 5188 0.963867
+ 5189 0.290039
+ 5190 0.947021
+ 5191 0.240967
+ 5192 0.991211
+ 5193 0.2854
+ 5194 0.992676
+ 5195 0.227051
+ 5196 0.992432
+ 5197 0.23999
+ 5198 0.964111
+ 5199 0.225586
+ 5200 0.947266
+ 5201 0.239502
+ 5202 0.990967
+ 5203 0.235352
+ 5204 0.990479
+ 5205 0.2854
+ 5206 0.959229
+ 5207 0.232666
+ 5208 0.947021
+ 5209 0.287109
+ 5210 0.992432
+ 5211 0.238037
+ 5212 0.247314
+ 5213 0.285889
+ 5214 0.994873
+ 5215 0.226318
+ 5216 0.987793
+ 5217 0.283691
+ 5218 0.988037
+ 5219 0.282959
+ 5220 0.959473
+ 5221 0.231201
+ 5222 0.991943
+ 5223 0.284912
+ 5224 0.99292
+ 5225 0.227783
+ 5226 0.991943
+ 5227 0.237305
+ 5228 0.993164
+ 5229 0.236084
+ 5230 0.98999
+ 5231 0.229736
+ 5232 0.992432
+ 5233 0.223145
+ 5234 0.992432
+ 5235 0.229004
+ 5236 0.00732422
+ 5237 0.281982
+ 5238 0.988037
+ 5239 0.280762
+ 5240 0.00732422
+ 5241 0.221436
+ 5242 0.988037
+ 5243 0.219727
+ 5244 0.991699
+ 5245 0.235596
+ 5246 0.98999
+ 5247 0.237305
+ 5248 0.991943
+ 5249 0.222656
+ 5250 0.019043
+ 5251 0.283936
+ 5252 0.992188
+ 5253 0.235352
+ 5254 0.985107
+ 5255 0.234375
+ 5256 0.99292
+ 5257 0.223633
+ 5258 0.992188
+ 5259 0.241211
+ 5260 0.0288086
+ 5261 0.236328
+ 5262 0.959961
+ 5263 0.238281
+ 5264 0.950195
+ 5265 0.223877
+ 5266 0.985352
+ 5267 0.237305
+ 5268 0.991943
+ 5269 0.236328
+ 5270 0.99292
+ 5271 0.285889
+ 5272 0.9646
+ 5273 0.284912
+ 5274 0.0117188
+ 5275 0.287598
+ 5276 0.010498
+ 5277 0.230957
+ 5278 0.99292
+ 5279 0.22998
+ 5280 0.010498
+ 5281 0.239502
+ 5282 0.0187988
+ 5283 0.232178
+ 5284 0.0185547
+ 5285 0.23999
+ 5286 0.988281
+ 5287 0.230225
+ 5288 0.989746
+ 5289 0.238037
+ 5290 0.985352
+ 5291 0.236816
+ 5292 0.991699
+ 5293 0.233154
+ 5294 0.00708008
+ 5295 0.289795
+ 5296 0.985352
+ 5297 0.287598
+ 5298 0.992676
+ 5299 0.235352
+ 5300 0.0117188
+ 5301 0.286133
+ 5302 0.988281
+ 5303 0.223389
+ 5304 0.992432
+ 5305 0.2854
+ 5306 0.960938
+ 5307 0.238281
+ 5308 0.0102539
+ 5309 0.288086
+ 5310 0.00708008
+ 5311 0.289795
+ 5312 0.989258
+ 5313 0.236084
+ 5314 0.992188
+ 5315 0.235352
+ 5316 0.0102539
+ 5317 0.297607
+ 5318 0.0102539
+ 5319 0.296387
+ 5320 0.0114746
+ 5321 0.239502
+ 5322 0.0102539
+ 5323 0.298828
+ 5324 0.0100098
+ 5325 0.236084
+ 5326 0.992676
+ 5327 0.221924
+ 5328 0.992676
+ 5329 0.221191
+ 5330 0.00708008
+ 5331 0.240723
+ 5332 0.960938
+ 5333 0.243652
+ 5334 0.992432
+ 5335 0.299561
+ 5336 0.965088
+ 5337 0.29834
+ 5338 0.985596
+ 5339 0.233643
+ 5340 0.965332
+ 5341 0.300049
+ 5342 0.00683594
+ 5343 0.235596
+ 5344 0.0114746
+ 5345 0.239746
+ 5346 0.96582
+ 5347 0.301514
+ 5348 0.991455
+ 5349 0.21582
+ 5350 0.96582
+ 5351 0.236084
+ 5352 0.992676
+ 5353 0.214355
+ 5354 0.239258
+ 5355 0.213623
+ 5356 0.988281
+ 5357 0.304443
+ 5358 0.991211
+ 5359 0.239014
+ 5360 0.990234
+ 5361 0.235352
+ 5362 0.990234
+ 5363 0.304443
+ 5364 0.989746
+ 5365 0.305908
+ 5366 0.0112305
+ 5367 0.238281
+ 5368 0.0100098
+ 5369 0.21167
+ 5370 0.00976562
+ 5371 0.243408
+ 5372 0.96167
+ 5373 0.30835
+ 5374 0.00683594
+ 5375 0.309814
+ 5376 0.99292
+ 5377 0.308838
+ 5378 0.991211
+ 5379 0.243408
+ 5380 0.992676
+ 5381 0.310303
+ 5382 0.994629
+ 5383 0.240723
+ 5384 0.992432
+ 5385 0.307129
+ 5386 0.994629
+ 5387 0.236572
+ 5388 0.98877
+ 5389 0.235596
+ 5390 0.0112305
+ 5391 0.244141
+ 5392 0.0112305
+ 5393 0.244629
+ 5394 0.989502
+ 5395 0.247803
+ 5396 0.961914
+ 5397 0.302734
+ 5398 0.991211
+ 5399 0.210449
+ 5400 0.0065918
+ 5401 0.234131
+ 5402 0.979736
+ 5403 0.211182
+ 5404 0.962158
+ 5405 0.251953
+ 5406 0.0065918
+ 5407 0.30957
+ 5408 0.993896
+ 5409 0.307129
+ 5410 0.991211
+ 5411 0.309814
+ 5412 0.989502
+ 5413 0.311279
+ 5414 0.00952148
+ 5415 0.249756
+ 5416 0.00952148
+ 5417 0.310059
+ 5418 0.00952148
+ 5419 0.309082
+ 5420 0.995605
+ 5421 0.25415
+ 5422 0.992676
+ 5423 0.242676
+ 5424 0.992676
+ 5425 0.250244
+ 5426 0.0065918
+ 5427 0.249268
+ 5428 0.0065918
+ 5429 0.248291
+ 5430 0.989502
+ 5431 0.312012
+ 5432 0.0109863
+ 5433 0.24585
+ 5434 0.0180664
+ 5435 0.314453
+ 5436 0.0107422
+ 5437 0.316895
+ 5438 0.00952148
+ 5439 0.259033
+ 5440 0.993896
+ 5441 0.315918
+ 5442 0.994141
+ 5443 0.245117
+ 5444 0.993408
+ 5445 0.255371
+ 5446 0.00927734
+ 5447 0.313721
+ 5448 0.96582
+ 5449 0.254395
+ 5450 0.994629
+ 5451 0.252686
+ 5452 0.993408
+ 5453 0.311523
+ 5454 0.990234
+ 5455 0.248291
+ 5456 0.993652
+ 5457 0.30835
+ 5458 0.994141
+ 5459 0.307129
+ 5460 0.994141
+ 5461 0.303711
+ 5462 0.994629
+ 5463 0.302734
+ 5464 0.995117
+ 5465 0.300293
+ 5466 0.00634766
+ 5467 0.302002
+ 5468 0.994629
+ 5469 0.29834
+ 5470 0.00634766
+ 5471 0.212402
+ 5472 0.994141
+ 5473 0.300049
+ 5474 0.00634766
+ 5475 0.21167
+ 5476 0.993896
+ 5477 0.300537
+ 5478 0.00927734
+ 5479 0.210693
+ 5480 0.994873
+ 5481 0.299316
+ 5482 0.00634766
+ 5483 0.239258
+ 5484 0.966064
+ 5485 0.301025
+ 5486 0.0107422
+ 5487 0.303467
+ 5488 0.0107422
+ 5489 0.306152
+ 5490 0.989014
+ 5491 0.304932
+ 5492 0.994141
+ 5493 0.235596
+ 5494 0.0107422
+ 5495 0.30249
+ 5496 0.224365
+ 5497 0.304932
+ 5498 0.994873
+ 5499 0.208252
+ 5500 0.993652
+ 5501 0.302002
+ 5502 0.00927734
+ 5503 0.300781
+ 5504 0.994873
+ 5505 0.243652
+ 5506 0.993408
+ 5507 0.242676
+ 5508 0.966064
+ 5509 0.206543
+ 5510 0.991943
+ 5511 0.23999
+ 5512 0.990723
+ 5513 0.302246
+ 5514 0.994385
+ 5515 0.242188
+ 5516 0.993652
+ 5517 0.240967
+ 5518 0.993652
+ 5519 0.240234
+ 5520 0.989014
+ 5521 0.23877
+ 5522 0.950439
+ 5523 0.302979
+ 5524 0.994385
+ 5525 0.238281
+ 5526 0.993652
+ 5527 0.302002
+ 5528 0.0090332
+ 5529 0.240234
+ 5530 0.994141
+ 5531 0.29834
+ 5532 0.962646
+ 5533 0.301025
+ 5534 0.994629
+ 5535 0.238281
+ 5536 0.993652
+ 5537 0.237305
+ 5538 0.986328
+ 5539 0.236328
+ 5540 0.0178223
+ 5541 0.305664
+ 5542 0.994629
+ 5543 0.231934
+ 5544 0.979736
+ 5545 0.303223
+ 5546 0.993896
+ 5547 0.244629
+ 5548 0.993164
+ 5549 0.24292
+ 5550 0.993164
+ 5551 0.300049
+ 5552 0.98877
+ 5553 0.235596
+ 5554 0.989014
+ 5555 0.24292
+ 5556 0.991211
+ 5557 0.24585
+ 5558 0.00610352
+ 5559 0.208008
+ 5560 0.0090332
+ 5561 0.300537
+ 5562 0.986328
+ 5563 0.298096
+ 5564 0.992188
+ 5565 0.230713
+ 5566 0.993652
+ 5567 0.250732
+ 5568 0.00610352
+ 5569 0.23291
+ 5570 0.991943
+ 5571 0.301025
+ 5572 0.994141
+ 5573 0.234619
+ 5574 0.994629
+ 5575 0.233643
+ 5576 0.989014
+ 5577 0.232666
+ 5578 0.990967
+ 5579 0.256592
+ 5580 0.991455
+ 5581 0.259521
+ 5582 0.986328
+ 5583 0.295166
+ 5584 0.992188
+ 5585 0.257324
+ 5586 0.010498
+ 5587 0.260254
+ 5588 0.995361
+ 5589 0.258301
+ 5590 0.994141
+ 5591 0.234619
+ 5592 0.995117
+ 5593 0.204834
+ 5594 0.00610352
+ 5595 0.203857
+ 5596 0.00854492
+ 5597 0.258301
+ 5598 0.00878906
+ 5599 0.203125
+ 5600 0.995117
+ 5601 0.26001
+ 5602 0.00634766
+ 5603 0.259033
+ 5604 0.966553
+ 5605 0.298828
+ 5606 0.994629
+ 5607 0.297852
+ 5608 0.994873
+ 5609 0.201416
+ 5610 0.952148
+ 5611 0.253174
+ 5612 0.994629
+ 5613 0.232422
+ 5614 0.994385
+ 5615 0.253174
+ 5616 0.963623
+ 5617 0.256104
+ 5618 0.986572
+ 5619 0.294434
+ 5620 0.00634766
+ 5621 0.255127
+ 5622 0.00878906
+ 5623 0.296143
+ 5624 0.00610352
+ 5625 0.25708
+ 5626 0.992676
+ 5627 0.254883
+ 5628 0.990967
+ 5629 0.19751
+ 5630 0.00634766
+ 5631 0.257812
+ 5632 0.00854492
+ 5633 0.259766
+ 5634 0.00634766
+ 5635 0.258789
+ 5636 0.010498
+ 5637 0.229736
+ 5638 0.230469
+ 5639 0.228516
+ 5640 0.995361
+ 5641 0.227783
+ 5642 0.994141
+ 5643 0.226562
+ 5644 0.992676
+ 5645 0.228271
+ 5646 0.995361
+ 5647 0.262207
+ 5648 0.994141
+ 5649 0.227783
+ 5650 0.986572
+ 5651 0.226807
+ 5652 0.966553
+ 5653 0.195312
+ 5654 0.994385
+ 5655 0.226074
+ 5656 0.993896
+ 5657 0.225098
+ 5658 0.993896
+ 5659 0.310791
+ 5660 0.00634766
+ 5661 0.258301
+ 5662 0.995361
+ 5663 0.311035
+ 5664 0.00878906
+ 5665 0.226562
+ 5666 0.995361
+ 5667 0.308594
+ 5668 0.992432
+ 5669 0.305176
+ 5670 0.995361
+ 5671 0.303955
+ 5672 0.995117
+ 5673 0.302979
+ 5674 0.995117
+ 5675 0.25415
+ 5676 0.993896
+ 5677 0.226562
+ 5678 0.0107422
+ 5679 0.302002
+ 5680 0.992432
+ 5681 0.229736
+ 5682 0.994629
+ 5683 0.253174
+ 5684 0.994385
+ 5685 0.222168
+ 5686 0.97876
+ 5687 0.194336
+ 5688 0.00634766
+ 5689 0.308838
+ 5690 0.994141
+ 5691 0.193604
+ 5692 0.995117
+ 5693 0.249023
+ 5694 0.010498
+ 5695 0.310303
+ 5696 0.99585
+ 5697 0.306641
+ 5698 0.992676
+ 5699 0.228271
+ 5700 0.989258
+ 5701 0.309326
+ 5702 0.010498
+ 5703 0.192139
+ 5704 0.995117
+ 5705 0.253906
+ 5706 0.994385
+ 5707 0.307129
+ 5708 0.963867
+ 5709 0.309814
+ 5710 0.990723
+ 5711 0.25293
+ 5712 0.994873
+ 5713 0.190674
+ 5714 0.989258
+ 5715 0.310303
+ 5716 0.99292
+ 5717 0.312988
+ 5718 0.989502
+ 5719 0.248047
+ 5720 0.994141
+ 5721 0.310547
+ 5722 0.995361
+ 5723 0.30957
+ 5724 0.995361
+ 5725 0.228027
+ 5726 0.995117
+ 5727 0.243408
+ 5728 0.991455
+ 5729 0.22583
+ 5730 0.994629
+ 5731 0.308838
+ 5732 0.992676
+ 5733 0.231689
+ 5734 0.987061
+ 5735 0.310303
+ 5736 0.99585
+ 5737 0.307861
+ 5738 0.00634766
+ 5739 0.309326
+ 5740 0.00585938
+ 5741 0.245361
+ 5742 0.994385
+ 5743 0.244385
+ 5744 0.989258
+ 5745 0.242432
+ 5746 0.952637
+ 5747 0.241455
+ 5748 0.993896
+ 5749 0.307373
+ 5750 0.995361
+ 5751 0.239746
+ 5752 0.993896
+ 5753 0.223877
+ 5754 0.994629
+ 5755 0.237793
+ 5756 0.00634766
+ 5757 0.236816
+ 5758 0.00854492
+ 5759 0.306885
+ 5760 0.995605
+ 5761 0.239014
+ 5762 0.987061
+ 5763 0.302246
+ 5764 0.00634766
+ 5765 0.238037
+ 5766 0.0178223
+ 5767 0.303711
+ 5768 0.00610352
+ 5769 0.305176
+ 5770 0.00878906
+ 5771 0.221191
+ 5772 0.989502
+ 5773 0.239014
+ 5774 0.993652
+ 5775 0.237305
+ 5776 0.993896
+ 5777 0.220703
+ 5778 0.967773
+ 5779 0.305664
+ 5780 0.226318
+ 5781 0.219727
+ 5782 0.991455
+ 5783 0.22168
+ 5784 0.993652
+ 5785 0.223145
+ 5786 0.992188
+ 5787 0.186279
+ 5788 0.991943
+ 5789 0.304443
+ 5790 0.995361
+ 5791 0.223877
+ 5792 0.968018
+ 5793 0.304932
+ 5794 0.995605
+ 5795 0.223633
+ 5796 0.968018
+ 5797 0.187988
+ 5798 0.951904
+ 5799 0.2229
+ 5800 0.992432
+ 5801 0.19043
+ 5802 0.995117
+ 5803 0.224854
+ 5804 0.994629
+ 5805 0.304199
+ 5806 0.968018
+ 5807 0.303223
+ 5808 0.995605
+ 5809 0.232666
+ 5810 0.994141
+ 5811 0.227295
+ 5812 0.995117
+ 5813 0.30127
+ 5814 0.968262
+ 5815 0.300049
+ 5816 0.968262
+ 5817 0.1875
+ 5818 0.995117
+ 5819 0.229248
+ 5820 0.992432
+ 5821 0.225586
+ 5822 0.00927734
+ 5823 0.227783
+ 5824 0.994141
+ 5825 0.226562
+ 5826 0.994629
+ 5827 0.222656
+ 5828 0.977539
+ 5829 0.296875
+ 5830 0.0102539
+ 5831 0.236328
+ 5832 0.992188
+ 5833 0.226562
+ 5834 0.995605
+ 5835 0.238281
+ 5836 0.994629
+ 5837 0.186768
+ 5838 0.994629
+ 5839 0.236328
+ 5840 0.00634766
+ 5841 0.186035
+ 5842 0.995361
+ 5843 0.225342
+ 5844 0.995117
+ 5845 0.299561
+ 5846 0.993164
+ 5847 0.185303
+ 5848 0.992676
+ 5849 0.222412
+ 5850 0.995361
+ 5851 0.233643
+ 5852 0.994629
+ 5853 0.231934
+ 5854 0.993896
+ 5855 0.302734
+ 5856 0.995605
+ 5857 0.23291
+ 5858 0.993896
+ 5859 0.235107
+ 5860 0.992676
+ 5861 0.218994
+ 5862 0.995605
+ 5863 0.301758
+ 5864 0.993408
+ 5865 0.304443
+ 5866 0.993408
+ 5867 0.235107
+ 5868 0.995361
+ 5869 0.216309
+ 5870 0.993652
+ 5871 0.218262
+ 5872 0.993652
+ 5873 0.188477
+ 5874 0.993652
+ 5875 0.234375
+ 5876 0.0100098
+ 5877 0.239258
+ 5878 0.00976562
+ 5879 0.305664
+ 5880 0.00585938
+ 5881 0.242188
+ 5882 0.00561523
+ 5883 0.310059
+ 5884 0.995361
+ 5885 0.240234
+ 5886 0.017334
+ 5887 0.307617
+ 5888 0.00561523
+ 5889 0.239258
+ 5890 0.989502
+ 5891 0.237549
+ 5892 0.017334
+ 5893 0.236572
+ 5894 0.987793
+ 5895 0.235596
+ 5896 0.017334
+ 5897 0.234619
+ 5898 0.987793
+ 5899 0.306641
+ 5900 0.0090332
+ 5901 0.236816
+ 5902 0.00830078
+ 5903 0.305664
+ 5904 0.996094
+ 5905 0.237793
+ 5906 0.987793
+ 5907 0.302002
+ 5908 0.993408
+ 5909 0.304688
+ 5910 0.0170898
+ 5911 0.236084
+ 5912 0.00952148
+ 5913 0.220459
+ 5914 0.0170898
+ 5915 0.204346
+ 5916 0.00585938
+ 5917 0.239014
+ 5918 0.00537109
+ 5919 0.238037
+ 5920 0.00537109
+ 5921 0.237061
+ 5922 0.225586
+ 5923 0.203613
+ 5924 0.99585
+ 5925 0.216309
+ 5926 0.0170898
+ 5927 0.236084
+ 5928 0.992676
+ 5929 0.213379
+ 5930 0.994873
+ 5931 0.238281
+ 5932 0.969727
+ 5933 0.236328
+ 5934 0.994873
+ 5935 0.233643
+ 5936 0.995605
+ 5937 0.212891
+ 5938 0.0102539
+ 5939 0.235596
+ 5940 0.995605
+ 5941 0.313232
+ 5942 0.996094
+ 5943 0.310791
+ 5944 0.996094
+ 5945 0.230957
+ 5946 0.964355
+ 5947 0.234131
+ 5948 0.00561523
+ 5949 0.311035
+ 5950 0.99585
+ 5951 0.308838
+ 5952 0.995605
+ 5953 0.204102
+ 5954 0.995605
+ 5955 0.306396
+ 5956 0.995605
+ 5957 0.217285
+ 5958 0.00634766
+ 5959 0.218994
+ 5960 0.00878906
+ 5961 0.310547
+ 5962 0.99585
+ 5963 0.230713
+ 5964 0.993896
+ 5965 0.203369
+ 5966 0.010498
+ 5967 0.206543
+ 5968 0.995361
+ 5969 0.218018
+ 5970 0.980713
+ 5971 0.231934
+ 5972 0.969971
+ 5973 0.305664
+ 5974 0.99585
+ 5975 0.230225
+ 5976 0.9646
+ 5977 0.233154
+ 5978 0.995117
+ 5979 0.299805
+ 5980 0.0090332
+ 5981 0.298584
+ 5982 0.00610352
+ 5983 0.235352
+ 5984 0.953369
+ 5985 0.234375
+ 5986 0.988037
+ 5987 0.233398
+ 5988 0.988281
+ 5989 0.297852
+ 5990 0.988281
+ 5991 0.216797
+ 5992 0.988281
+ 5993 0.21582
+ 5994 0.00634766
+ 5995 0.217773
+ 5996 0.00585938
+ 5997 0.219727
+ 5998 0.995361
+ 5999 0.218994
+ 6000 0.995117
+ 6001 0.230713
+ 6002 0.99292
+ 6003 0.307861
+ 6004 0.953613
+ 6005 0.306641
+ 6006 0.00439453
+ 6007 0.233643
+ 6008 0.995117
+ 6009 0.307129
+ 6010 0.0168457
+ 6011 0.231934
+ 6012 0.9646
+ 6013 0.234863
+ 6014 0.00952148
+ 6015 0.305664
+ 6016 0.996338
+ 6017 0.236084
+ 6018 0.00585938
+ 6019 0.237793
+ 6020 0.995117
+ 6021 0.23584
+ 6022 0.0065918
+ 6023 0.307617
+ 6024 0.988525
+ 6025 0.305176
+ 6026 0.0090332
+ 6027 0.238037
+ 6028 0.995605
+ 6029 0.214355
+ 6030 0.994873
+ 6031 0.213623
+ 6032 0.989746
+ 6033 0.212402
+ 6034 0.995605
+ 6035 0.21167
+ 6036 0.970459
+ 6037 0.197754
+ 6038 0.994873
+ 6039 0.210938
+ 6040 0.995117
+ 6041 0.309814
+ 6042 0.0100098
+ 6043 0.3125
+ 6044 0.994141
+ 6045 0.314941
+ 6046 0.964844
+ 6047 0.317871
+ 6048 0.995605
+ 6049 0.210449
+ 6050 0.954102
+ 6051 0.209473
+ 6052 0.994629
+ 6053 0.211426
+ 6054 0.994873
+ 6055 0.210693
+ 6056 0.993164
+ 6057 0.239258
+ 6058 0.00854492
+ 6059 0.198486
+ 6060 0.00830078
+ 6061 0.197754
+ 6062 0.995605
+ 6063 0.197021
+ 6064 0.22168
+ 6065 0.200195
+ 6066 0.99585
+ 6067 0.242432
+ 6068 0.994141
+ 6069 0.245361
+ 6070 0.99292
+ 6071 0.314209
+ 6072 0.990234
+ 6073 0.198486
+ 6074 0.994873
+ 6075 0.245361
+ 6076 0.0166016
+ 6077 0.244385
+ 6078 0.996338
+ 6079 0.208984
+ 6080 0.993164
+ 6081 0.310547
+ 6082 0.995605
+ 6083 0.200928
+ 6084 0.988525
+ 6085 0.30835
+ 6086 0.995605
+ 6087 0.305908
+ 6088 0.995605
+ 6089 0.242676
+ 6090 0.99585
+ 6091 0.302246
+ 6092 0.99585
+ 6093 0.240723
+ 6094 0.996094
+ 6095 0.199219
+ 6096 0.994629
+ 6097 0.297607
+ 6098 0.995117
+ 6099 0.236084
+ 6100 0.995117
+ 6101 0.202393
+ 6102 0.988525
+ 6103 0.29541
+ 6104 0.994385
+ 6105 0.298096
+ 6106 0.990234
+ 6107 0.210693
+ 6108 0.00952148
+ 6109 0.199951
+ 6110 0.990234
+ 6111 0.220215
+ 6112 0.0263672
+ 6113 0.237549
+ 6114 0.0166016
+ 6115 0.296875
+ 6116 0.00561523
+ 6117 0.236572
+ 6118 0.00927734
+ 6119 0.298584
+ 6120 0.00830078
+ 6121 0.297363
+ 6122 0.996338
+ 6123 0.241455
+ 6124 0.993164
+ 6125 0.244385
+ 6126 0.990234
+ 6127 0.200684
+ 6128 0.988525
+ 6129 0.292725
+ 6130 0.00976562
+ 6131 0.29541
+ 6132 0.0090332
+ 6133 0.298096
+ 6134 0.0090332
+ 6135 0.300781
+ 6136 0.00512695
+ 6137 0.242676
+ 6138 0.955078
+ 6139 0.212402
+ 6140 0.00952148
+ 6141 0.302246
+ 6142 0.00878906
+ 6143 0.223145
+ 6144 0.965332
+ 6145 0.241455
+ 6146 0.988525
+ 6147 0.240479
+ 6148 0.00952148
+ 6149 0.303711
+ 6150 0.00854492
+ 6151 0.306396
+ 6152 0.996826
+ 6153 0.304443
+ 6154 0.993164
+ 6155 0.305664
+ 6156 0.97168
+ 6157 0.304932
+ 6158 0.00585938
+ 6159 0.246338
+ 6160 0.955078
+ 6161 0.305908
+ 6162 0.996094
+ 6163 0.30249
+ 6164 0.995361
+ 6165 0.302002
+ 6166 0.995605
+ 6167 0.299561
+ 6168 0.97168
+ 6169 0.238037
+ 6170 0.98877
+ 6171 0.229248
+ 6172 0.971924
+ 6173 0.195557
+ 6174 0.971924
+ 6175 0.194092
+ 6176 0.995117
+ 6177 0.234131
+ 6178 0.0163574
+ 6179 0.196289
+ 6180 0.995361
+ 6181 0.299316
+ 6182 0.993164
+ 6183 0.300537
+ 6184 0.972168
+ 6185 0.226807
+ 6186 0.954346
+ 6187 0.197998
+ 6188 0.994873
+ 6189 0.226074
+ 6190 0.99585
+ 6191 0.232666
+ 6192 0.995117
+ 6193 0.296387
+ 6194 0.993408
+ 6195 0.224121
+ 6196 0.994873
+ 6197 0.229004
+ 6198 0.995605
+ 6199 0.299561
+ 6200 0.995605
+ 6201 0.223633
+ 6202 0.956055
+ 6203 0.230225
+ 6204 0.95459
+ 6205 0.2229
+ 6206 0.228271
+ 6207 0.297119
+ 6208 0.996826
+ 6209 0.293945
+ 6210 0.993408
+ 6211 0.295166
+ 6212 0.994629
+ 6213 0.228516
+ 6214 0.994873
+ 6215 0.226807
+ 6216 0.99585
+ 6217 0.198975
+ 6218 0.99585
+ 6219 0.22583
+ 6220 0.993652
+ 6221 0.29126
+ 6222 0.994629
+ 6223 0.293945
+ 6224 0.00952148
+ 6225 0.197998
+ 6226 0.00585938
+ 6227 0.223633
+ 6228 0.996338
+ 6229 0.197266
+ 6230 0.990479
+ 6231 0.195801
+ 6232 0.993896
+ 6233 0.226074
+ 6234 0.996094
+ 6235 0.198975
+ 6236 0.994385
+ 6237 0.224365
+ 6238 0.996338
+ 6239 0.221191
+ 6240 0.990479
+ 6241 0.201172
+ 6242 0.996094
+ 6243 0.292725
+ 6244 0.995361
+ 6245 0.290527
+ 6246 0.0090332
+ 6247 0.226807
+ 6248 0.989014
+ 6249 0.226074
+ 6250 0.993896
+ 6251 0.229004
+ 6252 0.994873
+ 6253 0.227539
+ 6254 0.976074
+ 6255 0.230225
+ 6256 0.989014
+ 6257 0.218018
+ 6258 0.994873
+ 6259 0.290039
+ 6260 0.954834
+ 6261 0.227539
+ 6262 0.995361
+ 6263 0.224854
+ 6264 0.996338
+ 6265 0.223145
+ 6266 0.989014
+ 6267 0.222168
+ 6268 0.00927734
+ 6269 0.285889
+ 6270 0.99707
+ 6271 0.283691
+ 6272 0.989014
+ 6273 0.281494
+ 6274 0.0065918
+ 6275 0.283203
+ 6276 0.996094
+ 6277 0.281006
+ 6278 0.0065918
+ 6279 0.219238
+ 6280 0.995605
+ 6281 0.221924
+ 6282 0.0161133
+ 6283 0.221191
+ 6284 0.00610352
+ 6285 0.28418
+ 6286 0.00561523
+ 6287 0.220947
+ 6288 0.956299
+ 6289 0.285889
+ 6290 0.00927734
+ 6291 0.28833
+ 6292 0.994629
+ 6293 0.291016
+ 6294 0.00927734
+ 6295 0.293701
+ 6296 0.996094
+ 6297 0.291504
+ 6298 0.956543
+ 6299 0.290527
+ 6300 0.00585938
+ 6301 0.222412
+ 6302 0.989258
+ 6303 0.218262
+ 6304 0.973389
+ 6305 0.29126
+ 6306 0.99707
+ 6307 0.221191
+ 6308 0.973389
+ 6309 0.21875
+ 6310 0.0090332
+ 6311 0.220947
+ 6312 0.00561523
+ 6313 0.220215
+ 6314 0.955566
+ 6315 0.219238
+ 6316 0.973389
+ 6317 0.290771
+ 6318 0.993652
+ 6319 0.291992
+ 6320 0.0158691
+ 6321 0.221436
+ 6322 0.00585938
+ 6323 0.293701
+ 6324 0.99707
+ 6325 0.219482
+ 6326 0.955811
+ 6327 0.290283
+ 6328 0.965088
+ 6329 0.220459
+ 6330 0.956055
+ 6331 0.193604
+ 6332 0.957275
+ 6333 0.217773
+ 6334 0.0090332
+ 6335 0.222656
+ 6336 0.956299
+ 6337 0.194336
+ 6338 0.00927734
+ 6339 0.290527
+ 6340 0.994873
+ 6341 0.293213
+ 6342 0.00585938
+ 6343 0.220215
+ 6344 0.00561523
+ 6345 0.222168
+ 6346 0.956543
+ 6347 0.221436
+ 6348 0.220459
+ 6349 0.200684
+ 6350 0.99707
+ 6351 0.219971
+ 6352 0.00610352
+ 6353 0.199951
+ 6354 0.989502
+ 6355 0.219727
+ 6356 0.994385
+ 6357 0.299072
+ 6358 0.99585
+ 6359 0.198242
+ 6360 0.989502
+ 6361 0.295898
+ 6362 0.994141
+ 6363 0.297363
+ 6364 0.99585
+ 6365 0.196777
+ 6366 0.995117
+ 6367 0.216553
+ 6368 0.994385
+ 6369 0.219727
+ 6370 0.00878906
+ 6371 0.199951
+ 6372 0.015625
+ 6373 0.224121
+ 6374 0.996094
+ 6375 0.222656
+ 6376 0.996582
+ 6377 0.223389
+ 6378 0.994629
+ 6379 0.289062
+ 6380 0.994141
+ 6381 0.290527
+ 6382 0.995117
+ 6383 0.202148
+ 6384 0.995361
+ 6385 0.222412
+ 6386 0.989502
+ 6387 0.292236
+ 6388 0.00878906
+ 6389 0.294922
+ 6390 0.994873
+ 6391 0.297607
+ 6392 0.989502
+ 6393 0.29541
+ 6394 0.995117
+ 6395 0.216553
+ 6396 0.026123
+ 6397 0.297852
+ 6398 0.994873
+ 6399 0.223389
+ 6400 0.995361
+ 6401 0.296875
+ 6402 0.99707
+ 6403 0.294678
+ 6404 0.00878906
+ 6405 0.226318
+ 6406 0.995361
+ 6407 0.223877
+ 6408 0.996338
+ 6409 0.2229
+ 6410 0.995605
+ 6411 0.220459
+ 6412 0.996826
+ 6413 0.292969
+ 6414 0.99707
+ 6415 0.22583
+ 6416 0.00927734
+ 6417 0.234375
+ 6418 0.958252
+ 6419 0.290527
+ 6420 0.00854492
+ 6421 0.293213
+ 6422 0.990967
+ 6423 0.220703
+ 6424 0.989502
+ 6425 0.219971
+ 6426 0.989746
+ 6427 0.218994
+ 6428 0.989746
+ 6429 0.23584
+ 6430 0.965576
+ 6431 0.218262
+ 6432 0.995117
+ 6433 0.29248
+ 6434 0.96582
+ 6435 0.220459
+ 6436 0.99707
+ 6437 0.294189
+ 6438 0.00830078
+ 6439 0.241699
+ 6440 0.0153809
+ 6441 0.218506
+ 6442 0.990967
+ 6443 0.239746
+ 6444 0.95752
+ 6445 0.23999
+ 6446 0.957764
+ 6447 0.239014
+ 6448 0.00854492
+ 6449 0.206055
+ 6450 0.996582
+ 6451 0.236816
+ 6452 0.0090332
+ 6453 0.23877
+ 6454 0.996338
+ 6455 0.237793
+ 6456 0.00610352
+ 6457 0.2229
+ 6458 0.995361
+ 6459 0.23584
+ 6460 0.990967
+ 6461 0.30127
+ 6462 0.995361
+ 6463 0.234131
+ 6464 0.00610352
+ 6465 0.231201
+ 6466 0.00512695
+ 6467 0.204346
+ 6468 0.00805664
+ 6469 0.203613
+ 6470 0.973877
+ 6471 0.201904
+ 6472 0.00805664
+ 6473 0.309326
+ 6474 0.00488281
+ 6475 0.235352
+ 6476 0.00488281
+ 6477 0.313477
+ 6478 0.0078125
+ 6479 0.315674
+ 6480 0.995117
+ 6481 0.209473
+ 6482 0.995361
+ 6483 0.229736
+ 6484 0.00854492
+ 6485 0.232178
+ 6486 0.99585
+ 6487 0.231201
+ 6488 0.995605
+ 6489 0.317627
+ 6490 0.20874
+ 6491 0.248779
+ 6492 0.994385
+ 6493 0.219238
+ 6494 0.996338
+ 6495 0.232178
+ 6496 0.994629
+ 6497 0.316406
+ 6498 0.996094
+ 6499 0.234619
+ 6500 0.996338
+ 6501 0.233643
+ 6502 0.995605
+ 6503 0.253906
+ 6504 0.996094
+ 6505 0.23584
+ 6506 0.00610352
+ 6507 0.217529
+ 6508 0.0151367
+ 6509 0.237793
+ 6510 0.996094
+ 6511 0.256836
+ 6512 0.996338
+ 6513 0.318115
+ 6514 0.997314
+ 6515 0.219727
+ 6516 0.974121
+ 6517 0.245361
+ 6518 0.974121
+ 6519 0.241455
+ 6520 0.0151367
+ 6521 0.243408
+ 6522 0.00756836
+ 6523 0.212891
+ 6524 0.996582
+ 6525 0.316162
+ 6526 0.0078125
+ 6527 0.242676
+ 6528 0.00756836
+ 6529 0.31543
+ 6530 0.00463867
+ 6531 0.245117
+ 6532 0.00805664
+ 6533 0.316162
+ 6534 0.00732422
+ 6535 0.25293
+ 6536 0.00756836
+ 6537 0.206543
+ 6538 0.938232
+ 6539 0.234619
+ 6540 0.00537109
+ 6541 0.317627
+ 6542 0.00708008
+ 6543 0.316406
+ 6544 0.0078125
+ 6545 0.239014
+ 6546 0.996826
+ 6547 0.318604
+ 6548 0.994629
+ 6549 0.237305
+ 6550 0.996338
+ 6551 0.227295
+ 6552 0.966797
+ 6553 0.235596
+ 6554 0.997559
+ 6555 0.234619
+ 6556 0.99707
+ 6557 0.233643
+ 6558 0.997559
+ 6559 0.32251
+ 6560 0.966553
+ 6561 0.324951
+ 6562 0.00708008
+ 6563 0.235107
+ 6564 0.996826
+ 6565 0.26416
+ 6566 0.00561523
+ 6567 0.237061
+ 6568 0.00830078
+ 6569 0.244385
+ 6570 0.996826
+ 6571 0.24292
+ 6572 0.974609
+ 6573 0.328857
+ 6574 0.996826
+ 6575 0.26123
+ 6576 0.996338
+ 6577 0.241211
+ 6578 0.996338
+ 6579 0.258057
+ 6580 0.99707
+ 6581 0.324219
+ 6582 0.974609
+ 6583 0.251709
+ 6584 0.00488281
+ 6585 0.262695
+ 6586 0.997559
+ 6587 0.225098
+ 6588 0.974854
+ 6589 0.246582
+ 6590 0.996582
+ 6591 0.325195
+ 6592 0.966553
+ 6593 0.237549
+ 6594 0.99707
+ 6595 0.325195
+ 6596 0.997559
+ 6597 0.236084
+ 6598 0.996582
+ 6599 0.220703
+ 6600 0.996338
+ 6601 0.234863
+ 6602 0.0148926
+ 6603 0.224609
+ 6604 0.991699
+ 6605 0.233643
+ 6606 0.00830078
+ 6607 0.227295
+ 6608 0.996826
+ 6609 0.319824
+ 6610 0.997559
+ 6611 0.317627
+ 6612 0.99585
+ 6613 0.222656
+ 6614 0.958984
+ 6615 0.237549
+ 6616 0.996826
+ 6617 0.220215
+ 6618 0.996826
+ 6619 0.315674
+ 6620 0.959229
+ 6621 0.314453
+ 6622 0.967041
+ 6623 0.317139
+ 6624 0.997314
+ 6625 0.234619
+ 6626 0.00830078
+ 6627 0.244629
+ 6628 0.997314
+ 6629 0.249268
+ 6630 0.00805664
+ 6631 0.312744
+ 6632 0.221924
+ 6633 0.254883
+ 6634 0.00732422
+ 6635 0.252686
+ 6636 0.00756836
+ 6637 0.311035
+ 6638 0.00463867
+ 6639 0.260254
+ 6640 0.0146484
+ 6641 0.260498
+ 6642 0.98999
+ 6643 0.261963
+ 6644 0.00756836
+ 6645 0.311279
+ 6646 0.00732422
+ 6647 0.264648
+ 6648 0.00732422
+ 6649 0.267334
+ 6650 0.00732422
+ 6651 0.272705
+ 6652 0.00439453
+ 6653 0.270508
+ 6654 0.00708008
+ 6655 0.277588
+ 6656 0.991943
+ 6657 0.315186
+ 6658 0.00512695
+ 6659 0.274658
+ 6660 0.991943
+ 6661 0.272705
+ 6662 0.00732422
+ 6663 0.277832
+ 6664 0.98999
+ 6665 0.2771
+ 6666 0.00512695
+ 6667 0.245605
+ 6668 0.00488281
+ 6669 0.324707
+ 6670 0.00439453
+ 6671 0.2771
+ 6672 0.99707
+ 6673 0.275391
+ 6674 0.00463867
+ 6675 0.273926
+ 6676 0.997314
+ 6677 0.271729
+ 6678 0.967773
+ 6679 0.20752
+ 6680 0.940674
+ 6681 0.32373
+ 6682 0.997314
+ 6683 0.272949
+ 6684 0.996826
+ 6685 0.275146
+ 6686 0.990234
+ 6687 0.271484
+ 6688 0.996338
+ 6689 0.271484
+ 6690 0.996338
+ 6691 0.320801
+ 6692 0.997314
+ 6693 0.316895
+ 6694 0.997559
+ 6695 0.314941
+ 6696 0.997314
+ 6697 0.268799
+ 6698 0.996094
+ 6699 0.314941
+ 6700 0.996826
+ 6701 0.270508
+ 6702 0.996094
+ 6703 0.31665
+ 6704 0.0078125
+ 6705 0.222412
+ 6706 0.959717
+ 6707 0.31543
+ 6708 0.00488281
+ 6709 0.317139
+ 6710 0.997803
+ 6711 0.26709
+ 6712 0.99707
+ 6713 0.266113
+ 6714 0.996094
+ 6715 0.268311
+ 6716 0.995117
+ 6717 0.270508
+ 6718 0.995117
+ 6719 0.272705
+ 6720 0.99707
+ 6721 0.271484
+ 6722 0.996094
+ 6723 0.321777
+ 6724 0.995117
+ 6725 0.272949
+ 6726 0.975098
+ 6727 0.276855
+ 6728 0.0146484
+ 6729 0.327148
+ 6730 0.968018
+ 6731 0.236084
+ 6732 0.00708008
+ 6733 0.276123
+ 6734 0.00683594
+ 6735 0.242432
+ 6736 0.996582
+ 6737 0.273926
+ 6738 0.991943
+ 6739 0.277344
+ 6740 0.990234
+ 6741 0.328369
+ 6742 0.996582
+ 6743 0.234863
+ 6744 0.991943
+ 6745 0.234375
+ 6746 0.991943
+ 6747 0.327393
+ 6748 0.996094
+ 6749 0.228516
+ 6750 0.996338
+ 6751 0.270264
+ 6752 0.992188
+ 6753 0.225342
+ 6754 0.997314
+ 6755 0.218994
+ 6756 0.996338
+ 6757 0.268311
+ 6758 0.996094
+ 6759 0.32959
+ 6760 0.97583
+ 6761 0.25708
+ 6762 0.996582
+ 6763 0.208496
+ 6764 0.0078125
+ 6765 0.256348
+ 6766 0.0144043
+ 6767 0.328125
+ 6768 0.996094
+ 6769 0.255615
+ 6770 0.997314
+ 6771 0.252441
+ 6772 0.976074
+ 6773 0.247559
+ 6774 0.215088
+ 6775 0.248535
+ 6776 0.0144043
+ 6777 0.269287
+ 6778 0.992188
+ 6779 0.328369
+ 6780 0.0078125
+ 6781 0.331055
+ 6782 0.992432
+ 6783 0.32959
+ 6784 0.995117
+ 6785 0.246094
+ 6786 0.996826
+ 6787 0.241455
+ 6788 0.992432
+ 6789 0.269043
+ 6790 0.996338
+ 6791 0.270752
+ 6792 0.976318
+ 6793 0.330078
+ 6794 0.996338
+ 6795 0.247314
+ 6796 0.959473
+ 6797 0.331543
+ 6798 0.997559
+ 6799 0.268066
+ 6800 0.0078125
+ 6801 0.246826
+ 6802 0.99707
+ 6803 0.265869
+ 6804 0.00732422
+ 6805 0.33374
+ 6806 0.00708008
+ 6807 0.248779
+ 6808 0.00708008
+ 6809 0.216553
+ 6810 0.995117
+ 6811 0.271484
+ 6812 0.990479
+ 6813 0.337158
+ 6814 0.00488281
+ 6815 0.250732
+ 6816 0.997803
+ 6817 0.248535
+ 6818 0.00708008
+ 6819 0.252686
+ 6820 0.976318
+ 6821 0.209717
+ 6822 0.0256348
+ 6823 0.273926
+ 6824 0.00708008
+ 6825 0.283203
+ 6826 0.0065918
+ 6827 0.33667
+ 6828 0.959717
+ 6829 0.334229
+ 6830 0.00439453
+ 6831 0.290771
+ 6832 0.997559
+ 6833 0.333984
+ 6834 0.997314
+ 6835 0.289307
+ 6836 0.996826
+ 6837 0.226562
+ 6838 0.959717
+ 6839 0.220459
+ 6840 0.997314
+ 6841 0.287842
+ 6842 0.976562
+ 6843 0.216064
+ 6844 0.997314
+ 6845 0.286377
+ 6846 0.976807
+ 6847 0.335938
+ 6848 0.00415039
+ 6849 0.288086
+ 6850 0.997314
+ 6851 0.24585
+ 6852 0.997314
+ 6853 0.212646
+ 6854 0.997314
+ 6855 0.330811
+ 6856 0.996826
+ 6857 0.239746
+ 6858 0.00488281
+ 6859 0.289062
+ 6860 0.996338
+ 6861 0.28833
+ 6862 0.00512695
+ 6863 0.333496
+ 6864 0.960205
+ 6865 0.331055
+ 6866 0.997559
+ 6867 0.285645
+ 6868 0.99707
+ 6869 0.256836
+ 6870 0.996338
+ 6871 0.283691
+ 6872 0.0144043
+ 6873 0.330811
+ 6874 0.996338
+ 6875 0.2146
+ 6876 0.996582
+ 6877 0.240723
+ 6878 0.0141602
+ 6879 0.240723
+ 6880 0.968506
+ 6881 0.24292
+ 6882 0.996338
+ 6883 0.333496
+ 6884 0.996582
+ 6885 0.276367
+ 6886 0.997314
+ 6887 0.248291
+ 6888 0.996582
+ 6889 0.27417
+ 6890 0.996826
+ 6891 0.214844
+ 6892 0.995361
+ 6893 0.219727
+ 6894 0.997314
+ 6895 0.328369
+ 6896 0.00683594
+ 6897 0.277832
+ 6898 0.997314
+ 6899 0.254395
+ 6900 0.96875
+ 6901 0.275635
+ 6902 0.992432
+ 6903 0.327881
+ 6904 0.997803
+ 6905 0.254639
+ 6906 0.996338
+ 6907 0.324463
+ 6908 0.976807
+ 6909 0.255127
+ 6910 0.997803
+ 6911 0.320801
+ 6912 0.99707
+ 6913 0.252441
+ 6914 0.997803
+ 6915 0.248047
+ 6916 0.208984
+ 6917 0.247314
+ 6918 0.995605
+ 6919 0.270996
+ 6920 0.990967
+ 6921 0.270508
+ 6922 0.996826
+ 6923 0.32251
+ 6924 0.00488281
+ 6925 0.323975
+ 6926 0.00463867
+ 6927 0.249512
+ 6928 0.997559
+ 6929 0.247559
+ 6930 0.00488281
+ 6931 0.269775
+ 6932 0.00463867
+ 6933 0.327881
+ 6934 0.00537109
+ 6935 0.250732
+ 6936 0.00463867
+ 6937 0.25
+ 6938 0.990967
+ 6939 0.249268
+ 6940 0.00708008
+ 6941 0.327881
+ 6942 0.995605
+ 6943 0.266846
+ 6944 0.990967
+ 6945 0.265869
+ 6946 0.968994
+ 6947 0.268066
+ 6948 0.992432
+ 6949 0.219727
+ 6950 0.990967
+ 6951 0.253174
+ 6952 0.991211
+ 6953 0.251465
+ 6954 0.99707
+ 6955 0.247314
+ 6956 0.960938
+ 6957 0.332031
+ 6958 0.00415039
+ 6959 0.246338
+ 6960 0.991211
+ 6961 0.264893
+ 6962 0.00439453
+ 6963 0.204834
+ 6964 0.980957
+ 6965 0.262939
+ 6966 0.977295
+ 6967 0.261963
+ 6968 0.960938
+ 6969 0.339844
+ 6970 0.00390625
+ 6971 0.34082
+ 6972 0.998047
+ 6973 0.338379
+ 6974 0.997803
+ 6975 0.204834
+ 6976 0.992432
+ 6977 0.334717
+ 6978 0.997803
+ 6979 0.240234
+ 6980 0.961182
+ 6981 0.202393
+ 6982 0.00439453
+ 6983 0.330566
+ 6984 0.961426
+ 6985 0.238525
+ 6986 0.997803
+ 6987 0.237305
+ 6988 0.997314
+ 6989 0.256836
+ 6990 0.991211
+ 6991 0.236572
+ 6992 0.997803
+ 6993 0.234131
+ 6994 0.00463867
+ 6995 0.258789
+ 6996 0.996582
+ 6997 0.23291
+ 6998 0.997559
+ 6999 0.260742
+ 7000 0.99707
+ 7001 0.259521
+ 7002 0.99707
+ 7003 0.22998
+ 7004 0.00732422
+ 7005 0.199951
+ 7006 0.00463867
+ 7007 0.232422
+ 7008 0.996826
+ 7009 0.229248
+ 7010 0.00756836
+ 7011 0.236572
+ 7012 0.997314
+ 7013 0.256836
+ 7014 0.996582
+ 7015 0.259033
+ 7016 0.99585
+ 7017 0.32959
+ 7018 0.996582
+ 7019 0.327148
+ 7020 0.998291
+ 7021 0.260742
+ 7022 0.998047
+ 7023 0.259766
+ 7024 0.997314
+ 7025 0.258301
+ 7026 0.997559
+ 7027 0.257568
+ 7028 0.99707
+ 7029 0.326416
+ 7030 0.997559
+ 7031 0.255859
+ 7032 0.992432
+ 7033 0.328125
+ 7034 0.00488281
+ 7035 0.258545
+ 7036 0.997803
+ 7037 0.257568
+ 7038 0.00463867
+ 7039 0.333984
+ 7040 0.998047
+ 7041 0.32959
+ 7042 0.00463867
+ 7043 0.238525
+ 7044 0.998047
+ 7045 0.236328
+ 7046 0.997559
+ 7047 0.234131
+ 7048 0.997803
+ 7049 0.253662
+ 7050 0.00756836
+ 7051 0.198486
+ 7052 0.996826
+ 7053 0.328613
+ 7054 0.996582
+ 7055 0.233643
+ 7056 0.998047
+ 7057 0.32959
+ 7058 0.202393
+ 7059 0.231201
+ 7060 0.998291
+ 7061 0.229004
+ 7062 0.998047
+ 7063 0.324463
+ 7064 0.997803
+ 7065 0.22583
+ 7066 0.991455
+ 7067 0.320068
+ 7068 0.996826
+ 7069 0.247803
+ 7070 0.996826
+ 7071 0.227295
+ 7072 0.00732422
+ 7073 0.197021
+ 7074 0.997803
+ 7075 0.196045
+ 7076 0.00512695
+ 7077 0.195312
+ 7078 0.99585
+ 7079 0.230713
+ 7080 0.991455
+ 7081 0.321533
+ 7082 0.99585
+ 7083 0.322754
+ 7084 0.997314
+ 7085 0.249023
+ 7086 0.992676
+ 7087 0.321533
+ 7088 0.996826
+ 7089 0.197021
+ 7090 0.996094
+ 7091 0.322998
+ 7092 0.998047
+ 7093 0.22876
+ 7094 0.998047
+ 7095 0.24585
+ 7096 0.997314
+ 7097 0.244873
+ 7098 0.997314
+ 7099 0.320068
+ 7100 0.998291
+ 7101 0.227783
+ 7102 0.991699
+ 7103 0.226807
+ 7104 0.99707
+ 7105 0.211182
+ 7106 0.942383
+ 7107 0.223633
+ 7108 0.00415039
+ 7109 0.2229
+ 7110 0.997559
+ 7111 0.315918
+ 7112 0.998291
+ 7113 0.240967
+ 7114 0.970215
+ 7115 0.224121
+ 7116 0.997559
+ 7117 0.312256
+ 7118 0.996094
+ 7119 0.222168
+ 7120 0.00756836
+ 7121 0.245605
+ 7122 0.992676
+ 7123 0.314453
+ 7124 0.998291
+ 7125 0.222412
+ 7126 0.00756836
+ 7127 0.311523
+ 7128 0.996094
+ 7129 0.313232
+ 7130 0.996094
+ 7131 0.314697
+ 7132 0.998291
+ 7133 0.310547
+ 7134 0.00488281
+ 7135 0.224854
+ 7136 0.00439453
+ 7137 0.224121
+ 7138 0.013916
+ 7139 0.243652
+ 7140 0.00439453
+ 7141 0.223633
+ 7142 0.996094
+ 7143 0.200195
+ 7144 0.970459
+ 7145 0.317627
+ 7146 0.970459
+ 7147 0.227051
+ 7148 0.00366211
+ 7149 0.226318
+ 7150 0.00390625
+ 7151 0.326172
+ 7152 0.998535
+ 7153 0.227783
+ 7154 0.997803
+ 7155 0.237305
+ 7156 0.998047
+ 7157 0.236572
+ 7158 0.997314
+ 7159 0.235596
+ 7160 0.998047
+ 7161 0.234863
+ 7162 0.978271
+ 7163 0.325928
+ 7164 0.997559
+ 7165 0.200928
+ 7166 0.997803
+ 7167 0.226318
+ 7168 0.997314
+ 7169 0.223633
+ 7170 0.998047
+ 7171 0.222412
+ 7172 0.998291
+ 7173 0.232178
+ 7174 0.978516
+ 7175 0.220459
+ 7176 0.997803
+ 7177 0.218506
+ 7178 0.978516
+ 7179 0.216553
+ 7180 0.991699
+ 7181 0.316162
+ 7182 0.997559
+ 7183 0.230225
+ 7184 0.998047
+ 7185 0.229492
+ 7186 0.997803
+ 7187 0.197754
+ 7188 0.996826
+ 7189 0.220215
+ 7190 0.997559
+ 7191 0.200684
+ 7192 0.99707
+ 7193 0.227295
+ 7194 0.00488281
+ 7195 0.230225
+ 7196 0.998291
+ 7197 0.229248
+ 7198 0.998047
+ 7199 0.310547
+ 7200 0.195801
+ 7201 0.2229
+ 7202 0.00390625
+ 7203 0.221924
+ 7204 0.996826
+ 7205 0.224365
+ 7206 0.996338
+ 7207 0.227539
+ 7208 0.998535
+ 7209 0.199951
+ 7210 0.99707
+ 7211 0.310059
+ 7212 0.978271
+ 7213 0.307861
+ 7214 0.998535
+ 7215 0.224121
+ 7216 0.00732422
+ 7217 0.224121
+ 7218 0.996338
+ 7219 0.308105
+ 7220 0.970947
+ 7221 0.310791
+ 7222 0.970459
+ 7223 0.200684
+ 7224 0.00415039
+ 7225 0.231445
+ 7226 0.996338
+ 7227 0.234375
+ 7228 0.998291
+ 7229 0.199951
+ 7230 0.00488281
+ 7231 0.236572
+ 7232 0.998535
+ 7233 0.199219
+ 7234 0.99707
+ 7235 0.31958
+ 7236 0.99707
+ 7237 0.223389
+ 7238 0.99707
+ 7239 0.322998
+ 7240 0.99707
+ 7241 0.233154
+ 7242 0.996338
+ 7243 0.23584
+ 7244 0.997803
+ 7245 0.228027
+ 7246 0.996338
+ 7247 0.207275
+ 7248 0.981689
+ 7249 0.231201
+ 7250 0.00708008
+ 7251 0.240479
+ 7252 0.99292
+ 7253 0.233887
+ 7254 0.991943
+ 7255 0.232666
+ 7256 0.997803
+ 7257 0.322021
+ 7258 0.00415039
+ 7259 0.230469
+ 7260 0.00634766
+ 7261 0.240967
+ 7262 0.998535
+ 7263 0.232666
+ 7264 0.998047
+ 7265 0.31958
+ 7266 0.00439453
+ 7267 0.230713
+ 7268 0.00634766
+ 7269 0.321045
+ 7270 0.00366211
+ 7271 0.241211
+ 7272 0.0065918
+ 7273 0.322998
+ 7274 0.998291
+ 7275 0.235107
+ 7276 0.962158
+ 7277 0.233887
+ 7278 0.970703
+ 7279 0.237061
+ 7280 0.961914
+ 7281 0.236084
+ 7282 0.997559
+ 7283 0.318359
+ 7284 0.998047
+ 7285 0.231934
+ 7286 0.998291
+ 7287 0.312744
+ 7288 0.99292
+ 7289 0.230225
+ 7290 0.962402
+ 7291 0.228516
+ 7292 0.00366211
+ 7293 0.192139
+ 7294 0.997803
+ 7295 0.220947
+ 7296 0.962646
+ 7297 0.310547
+ 7298 0.979004
+ 7299 0.189941
+ 7300 0.998535
+ 7301 0.234619
+ 7302 0.00708008
+ 7303 0.229004
+ 7304 0.998535
+ 7305 0.240234
+ 7306 0.991943
+ 7307 0.23999
+ 7308 0.00708008
+ 7309 0.241943
+ 7310 0.00634766
+ 7311 0.231934
+ 7312 0.99707
+ 7313 0.314697
+ 7314 0.997803
+ 7315 0.246826
+ 7316 0.962646
+ 7317 0.314209
+ 7318 0.998779
+ 7319 0.187744
+ 7320 0.00463867
+ 7321 0.314453
+ 7322 0.996338
+ 7323 0.244141
+ 7324 0.996338
+ 7325 0.319336
+ 7326 0.996338
+ 7327 0.246094
+ 7328 0.992188
+ 7329 0.244873
+ 7330 0.993164
+ 7331 0.244141
+ 7332 0.998291
+ 7333 0.326172
+ 7334 0.997314
+ 7335 0.242676
+ 7336 0.998291
+ 7337 0.241943
+ 7338 0.998535
+ 7339 0.236816
+ 7340 0.998291
+ 7341 0.240723
+ 7342 0.195801
+ 7343 0.325195
+ 7344 0.00585938
+ 7345 0.23877
+ 7346 0.998047
+ 7347 0.322266
+ 7348 0.997803
+ 7349 0.234619
+ 7350 0.00683594
+ 7351 0.185547
+ 7352 0.992188
+ 7353 0.238037
+ 7354 0.999023
+ 7355 0.240479
+ 7356 0.99707
+ 7357 0.24292
+ 7358 0.997803
+ 7359 0.317383
+ 7360 0.996582
+ 7361 0.319092
+ 7362 0.00366211
+ 7363 0.242188
+ 7364 0.99707
+ 7365 0.320801
+ 7366 0.996582
+ 7367 0.244385
+ 7368 0.997803
+ 7369 0.321777
+ 7370 0.997314
+ 7371 0.237549
+ 7372 0.962891
+ 7373 0.323242
+ 7374 0.998291
+ 7375 0.320557
+ 7376 0.999023
+ 7377 0.242188
+ 7378 0.998047
+ 7379 0.23999
+ 7380 0.997314
+ 7381 0.242188
+ 7382 0.998047
+ 7383 0.23999
+ 7384 0.998291
+ 7385 0.234375
+ 7386 0.00390625
+ 7387 0.237061
+ 7388 0.993164
+ 7389 0.192871
+ 7390 0.982422
+ 7391 0.237305
+ 7392 0.962158
+ 7393 0.318848
+ 7394 0.00317383
+ 7395 0.236084
+ 7396 0.00341797
+ 7397 0.235352
+ 7398 0.992432
+ 7399 0.234375
+ 7400 0.979248
+ 7401 0.321045
+ 7402 0.00634766
+ 7403 0.232666
+ 7404 0.992432
+ 7405 0.322998
+ 7406 0.00366211
+ 7407 0.324463
+ 7408 0.00317383
+ 7409 0.231689
+ 7410 0.00317383
+ 7411 0.230713
+ 7412 0.992432
+ 7413 0.327148
+ 7414 0.0065918
+ 7415 0.330322
+ 7416 0.00610352
+ 7417 0.233154
+ 7418 0.0136719
+ 7419 0.237793
+ 7420 0.997803
+ 7421 0.230225
+ 7422 0.992432
+ 7423 0.327637
+ 7424 0.998779
+ 7425 0.323486
+ 7426 0.00341797
+ 7427 0.229248
+ 7428 0.997314
+ 7429 0.325195
+ 7430 0.962402
+ 7431 0.234375
+ 7432 0.00317383
+ 7433 0.237305
+ 7434 0.999023
+ 7435 0.236084
+ 7436 0.00366211
+ 7437 0.226562
+ 7438 0.00537109
+ 7439 0.18335
+ 7440 0.998535
+ 7441 0.234619
+ 7442 0.998779
+ 7443 0.328369
+ 7444 0.998047
+ 7445 0.234863
+ 7446 0.979736
+ 7447 0.326416
+ 7448 0.998535
+ 7449 0.231689
+ 7450 0.97168
+ 7451 0.232178
+ 7452 0.979736
+ 7453 0.233887
+ 7454 0.979736
+ 7455 0.32373
+ 7456 0.998779
+ 7457 0.31958
+ 7458 0.998047
+ 7459 0.230713
+ 7460 0.963379
+ 7461 0.316895
+ 7462 0.963623
+ 7463 0.182129
+ 7464 0.00610352
+ 7465 0.314453
+ 7466 0.999023
+ 7467 0.228516
+ 7468 0.992432
+ 7469 0.228271
+ 7470 0.997803
+ 7471 0.226807
+ 7472 0.97998
+ 7473 0.317383
+ 7474 0.963867
+ 7475 0.314697
+ 7476 0.996582
+ 7477 0.225098
+ 7478 0.998535
+ 7479 0.224365
+ 7480 0.998535
+ 7481 0.223389
+ 7482 0.997803
+ 7483 0.236084
+ 7484 0.19458
+ 7485 0.323242
+ 7486 0.00585938
+ 7487 0.179443
+ 7488 0.992676
+ 7489 0.177979
+ 7490 0.992676
+ 7491 0.224854
+ 7492 0.998047
+ 7493 0.176514
+ 7494 0.992676
+ 7495 0.234131
+ 7496 0.00610352
+ 7497 0.237305
+ 7498 0.997314
+ 7499 0.324951
+ 7500 0.993164
+ 7501 0.238525
+ 7502 0.997559
+ 7503 0.241455
+ 7504 0.00317383
+ 7505 0.240479
+ 7506 0.996826
+ 7507 0.32373
+ 7508 0.997559
+ 7509 0.174561
+ 7510 0.997314
+ 7511 0.241699
+ 7512 0.998047
+ 7513 0.324951
+ 7514 0.998535
+ 7515 0.220703
+ 7516 0.00292969
+ 7517 0.177734
+ 7518 0.997559
+ 7519 0.239014
+ 7520 0.998047
+ 7521 0.236816
+ 7522 0.998047
+ 7523 0.324951
+ 7524 0.997559
+ 7525 0.327881
+ 7526 0.998291
+ 7527 0.217041
+ 7528 0.998047
+ 7529 0.327637
+ 7530 0.999023
+ 7531 0.198486
+ 7532 0.0224609
+ 7533 0.325684
+ 7534 0.00537109
+ 7535 0.218994
+ 7536 0.998047
+ 7537 0.218018
+ 7538 0.00610352
+ 7539 0.237793
+ 7540 0.992676
+ 7541 0.236816
+ 7542 0.00292969
+ 7543 0.23584
+ 7544 0.97168
+ 7545 0.23877
+ 7546 0.963379
+ 7547 0.237793
+ 7548 0.992676
+ 7549 0.236816
+ 7550 0.0131836
+ 7551 0.23584
+ 7552 0.00561523
+ 7553 0.237793
+ 7554 0.998291
+ 7555 0.325684
+ 7556 0.980469
+ 7557 0.219482
+ 7558 0.99292
+ 7559 0.322998
+ 7560 0.00585938
+ 7561 0.321533
+ 7562 0.971924
+ 7563 0.324463
+ 7564 0.00244141
+ 7565 0.238037
+ 7566 0.9646
+ 7567 0.237061
+ 7568 0.998779
+ 7569 0.235107
+ 7570 0.00634766
+ 7571 0.322998
+ 7572 0.993408
+ 7573 0.321777
+ 7574 0.00317383
+ 7575 0.236084
+ 7576 0.998047
+ 7577 0.180908
+ 7578 0.996826
+ 7579 0.22168
+ 7580 0.999023
+ 7581 0.213379
+ 7582 0.998047
+ 7583 0.212402
+ 7584 0.972412
+ 7585 0.324707
+ 7586 0.00488281
+ 7587 0.23584
+ 7588 0.00244141
+ 7589 0.330322
+ 7590 0.00244141
+ 7591 0.331543
+ 7592 0.972168
+ 7593 0.215332
+ 7594 0.998047
+ 7595 0.186523
+ 7596 0.998779
+ 7597 0.23291
+ 7598 0.997559
+ 7599 0.213623
+ 7600 0.980713
+ 7601 0.185059
+ 7602 0.998535
+ 7603 0.212646
+ 7604 0.980713
+ 7605 0.211914
+ 7606 0.998779
+ 7607 0.211182
+ 7608 0.964844
+ 7609 0.331787
+ 7610 0.964844
+ 7611 0.328857
+ 7612 0.998291
+ 7613 0.327393
+ 7614 0.998291
+ 7615 0.209717
+ 7616 0.998047
+ 7617 0.208984
+ 7618 0.996826
+ 7619 0.242432
+ 7620 0.998291
+ 7621 0.32373
+ 7622 0.999023
+ 7623 0.239258
+ 7624 0.00561523
+ 7625 0.186035
+ 7626 0.190186
+ 7627 0.185303
+ 7628 0.999023
+ 7629 0.209961
+ 7630 0.996826
+ 7631 0.212646
+ 7632 0.999023
+ 7633 0.18457
+ 7634 0.963623
+ 7635 0.182373
+ 7636 0.998535
+ 7637 0.239258
+ 7638 0.997559
+ 7639 0.241455
+ 7640 0.996826
+ 7641 0.320068
+ 7642 0.997803
+ 7643 0.243408
+ 7644 0.997559
+ 7645 0.245605
+ 7646 0.996826
+ 7647 0.207764
+ 7648 0.00292969
+ 7649 0.328369
+ 7650 0.998779
+ 7651 0.181641
+ 7652 0.993164
+ 7653 0.324219
+ 7654 0.997803
+ 7655 0.246582
+ 7656 0.998779
+ 7657 0.205078
+ 7658 0.999023
+ 7659 0.204346
+ 7660 0.00268555
+ 7661 0.245605
+ 7662 0.997803
+ 7663 0.33252
+ 7664 0.997803
+ 7665 0.20166
+ 7666 0.99707
+ 7667 0.204346
+ 7668 0.993164
+ 7669 0.33667
+ 7670 0.97168
+ 7671 0.178955
+ 7672 0.998779
+ 7673 0.187012
+ 7674 0.983154
+ 7675 0.202393
+ 7676 0.998291
+ 7677 0.252686
+ 7678 0.998535
+ 7679 0.334961
+ 7680 0.997803
+ 7681 0.337646
+ 7682 0.993408
+ 7683 0.247559
+ 7684 0.965332
+ 7685 0.246582
+ 7686 0.998535
+ 7687 0.200195
+ 7688 0.999023
+ 7689 0.335938
+ 7690 0.980957
+ 7691 0.334473
+ 7692 0.965576
+ 7693 0.242432
+ 7694 0.00537109
+ 7695 0.331787
+ 7696 0.00219727
+ 7697 0.244385
+ 7698 0.00219727
+ 7699 0.200928
+ 7700 0.00195312
+ 7701 0.243652
+ 7702 0.998779
+ 7703 0.337158
+ 7704 0.965576
+ 7705 0.241455
+ 7706 0.9646
+ 7707 0.240479
+ 7708 0.0012207
+ 7709 0.202637
+ 7710 0.999023
+ 7711 0.23877
+ 7712 0.998779
+ 7713 0.333008
+ 7714 0.00268555
+ 7715 0.334229
+ 7716 0.00219727
+ 7717 0.237793
+ 7718 0.998779
+ 7719 0.236816
+ 7720 0.00244141
+ 7721 0.218018
+ 7722 0.997803
+ 7723 0.199463
+ 7724 0.964355
+ 7725 0.335693
+ 7726 0.999268
+ 7727 0.333008
+ 7728 0.00195312
+ 7729 0.171875
+ 7730 0.00537109
+ 7731 0.171387
+ 7732 0.998535
+ 7733 0.196777
+ 7734 0.998779
+ 7735 0.196045
+ 7736 0.980957
+ 7737 0.339355
+ 7738 0.998535
+ 7739 0.236084
+ 7740 0.998779
+ 7741 0.195068
+ 7742 0.998291
+ 7743 0.339355
+ 7744 0.998535
+ 7745 0.231445
+ 7746 0.999023
+ 7747 0.194092
+ 7748 0.9646
+ 7749 0.336426
+ 7750 0.999023
+ 7751 0.193115
+ 7752 0.998779
+ 7753 0.336182
+ 7754 0.999023
+ 7755 0.333496
+ 7756 0.998779
+ 7757 0.332031
+ 7758 0.998779
+ 7759 0.330566
+ 7760 0.999268
+ 7761 0.22583
+ 7762 0.998779
+ 7763 0.19165
+ 7764 0.999023
+ 7765 0.191162
+ 7766 0.981201
+ 7767 0.327881
+ 7768 0.182861
+ 7769 0.167969
+ 7770 0.998535
+ 7771 0.326416
+ 7772 0.998047
+ 7773 0.224365
+ 7774 0.999023
+ 7775 0.223389
+ 7776 0.00610352
+ 7777 0.167236
+ 7778 0.997559
+ 7779 0.17041
+ 7780 0.997559
+ 7781 0.173828
+ 7782 0.999023
+ 7783 0.324219
+ 7784 0.973633
+ 7785 0.189941
+ 7786 0.99707
+ 7787 0.225098
+ 7788 0.998535
+ 7789 0.192139
+ 7790 0.993652
+ 7791 0.191895
+ 7792 0.999023
+ 7793 0.325928
+ 7794 0.999268
+ 7795 0.323242
+ 7796 0.973633
+ 7797 0.225342
+ 7798 0.999023
+ 7799 0.223389
+ 7800 0.99707
+ 7801 0.226562
+ 7802 0.00585938
+ 7803 0.196045
+ 7804 0.998047
+ 7805 0.229004
+ 7806 0.998779
+ 7807 0.174805
+ 7808 0.993652
+ 7809 0.226074
+ 7810 0.00292969
+ 7811 0.225342
+ 7812 0.999023
+ 7813 0.223389
+ 7814 0.99707
+ 7815 0.197998
+ 7816 0.0214844
+ 7817 0.226562
+ 7818 0.00219727
+ 7819 0.225586
+ 7820 0.999023
+ 7821 0.195068
+ 7822 0.993164
+ 7823 0.326416
+ 7824 0.99707
+ 7825 0.193848
+ 7826 0.997559
+ 7827 0.196533
+ 7828 0.998779
+ 7829 0.330566
+ 7830 0.00268555
+ 7831 0.226318
+ 7832 0.998535
+ 7833 0.194824
+ 7834 0.00561523
+ 7835 0.172852
+ 7836 0.00244141
+ 7837 0.231445
+ 7838 0.00463867
+ 7839 0.233643
+ 7840 0.999023
+ 7841 0.231689
+ 7842 0.999023
+ 7843 0.22998
+ 7844 0.999268
+ 7845 0.228027
+ 7846 0.96582
+ 7847 0.227051
+ 7848 0.965088
+ 7849 0.226074
+ 7850 0.00537109
+ 7851 0.228271
+ 7852 0.00219727
+ 7853 0.227295
+ 7854 0.999268
+ 7855 0.226318
+ 7856 0.99707
+ 7857 0.32666
+ 7858 0.999268
+ 7859 0.323975
+ 7860 0.00585938
+ 7861 0.322754
+ 7862 0.999268
+ 7863 0.217285
+ 7864 0.00244141
+ 7865 0.324219
+ 7866 0.999023
+ 7867 0.1875
+ 7868 0.999268
+ 7869 0.232666
+ 7870 0.998779
+ 7871 0.229736
+ 7872 0.00634766
+ 7873 0.320312
+ 7874 0.00244141
+ 7875 0.321777
+ 7876 0.998779
+ 7877 0.320312
+ 7878 0.999268
+ 7879 0.170166
+ 7880 0.981689
+ 7881 0.229004
+ 7882 0.999023
+ 7883 0.227295
+ 7884 0.99707
+ 7885 0.1875
+ 7886 0.999268
+ 7887 0.186768
+ 7888 0.993896
+ 7889 0.186279
+ 7890 0.964844
+ 7891 0.320557
+ 7892 0.999268
+ 7893 0.185303
+ 7894 0.999023
+ 7895 0.232422
+ 7896 0.999268
+ 7897 0.18457
+ 7898 0.998779
+ 7899 0.183838
+ 7900 0.997314
+ 7901 0.317139
+ 7902 0.999268
+ 7903 0.186523
+ 7904 0.998535
+ 7905 0.185791
+ 7906 0.999268
+ 7907 0.185059
+ 7908 0.999023
+ 7909 0.184326
+ 7910 0.19043
+ 7911 0.241211
+ 7912 0.00561523
+ 7913 0.319336
+ 7914 0.997314
+ 7915 0.244141
+ 7916 0.999023
+ 7917 0.320557
+ 7918 0.00268555
+ 7919 0.166748
+ 7920 0.999023
+ 7921 0.321777
+ 7922 0.997803
+ 7923 0.238281
+ 7924 0.997314
+ 7925 0.187744
+ 7926 0.999512
+ 7927 0.16626
+ 7928 0.993896
+ 7929 0.239502
+ 7930 0.997314
+ 7931 0.324707
+ 7932 0.00268555
+ 7933 0.242432
+ 7934 0.998047
+ 7935 0.184814
+ 7936 0.993408
+ 7937 0.248535
+ 7938 0.981689
+ 7939 0.183838
+ 7940 0.00512695
+ 7941 0.249512
+ 7942 0.0126953
+ 7943 0.186035
+ 7944 0.998291
+ 7945 0.247803
+ 7946 0.99707
+ 7947 0.250732
+ 7948 0.999023
+ 7949 0.247559
+ 7950 0.999268
+ 7951 0.1875
+ 7952 0.997803
+ 7953 0.170654
+ 7954 0.00537109
+ 7955 0.193359
+ 7956 0.0126953
+ 7957 0.198242
+ 7958 0.983643
+ 7959 0.192139
+ 7960 0.997314
+ 7961 0.19458
+ 7962 0.999023
+ 7963 0.252686
+ 7964 0.994141
+ 7965 0.193848
+ 7966 0.981934
+ 7967 0.253662
+ 7968 0.981934
+ 7969 0.193115
+ 7970 0.996338
+ 7971 0.250732
+ 7972 0.999268
+ 7973 0.324219
+ 7974 0.00244141
+ 7975 0.19873
+ 7976 0.00244141
+ 7977 0.201172
+ 7978 0.999268
+ 7979 0.327148
+ 7980 0.974365
+ 7981 0.329834
+ 7982 0.966309
+ 7983 0.247803
+ 7984 0.965576
+ 7985 0.172363
+ 7986 0.994141
+ 7987 0.171143
+ 7988 0.0126953
+ 7989 0.202637
+ 7990 0.999268
+ 7991 0.243896
+ 7992 0.999268
+ 7993 0.242676
+ 7994 0.999023
+ 7995 0.240723
+ 7996 0.982178
+ 7997 0.23877
+ 7998 0.999023
+ 7999 0.201172
+ 8000 0.993408
+ 8001 0.200439
+ 8002 0.999023
+ 8003 0.199707
+ 8004 0.997314
+ 8005 0.225586
+ 8006 0.00512695
+ 8007 0.172363
+ 8008 0.999512
+ 8009 0.204834
+ 8010 0.00244141
+ 8011 0.171631
+ 8012 0.982178
+ 8013 0.203125
+ 8014 0.00463867
+ 8015 0.244385
+ 8016 0.999023
+ 8017 0.241455
+ 8018 0.999268
+ 8019 0.201416
+ 8020 0.999268
+ 8021 0.174072
+ 8022 0.999268
+ 8023 0.327148
+ 8024 0.999268
+ 8025 0.200684
+ 8026 0.997559
+ 8027 0.327393
+ 8028 0.00537109
+ 8029 0.209473
+ 8030 0.999512
+ 8031 0.237549
+ 8032 0.982422
+ 8033 0.172852
+ 8034 0.00463867
+ 8035 0.23877
+ 8036 0.00439453
+ 8037 0.240723
+ 8038 0.0124512
+ 8039 0.23999
+ 8040 0.00439453
+ 8041 0.328613
+ 8042 0.999512
+ 8043 0.240967
+ 8044 0.974365
+ 8045 0.174805
+ 8046 0.997559
+ 8047 0.203857
+ 8048 0.997803
+ 8049 0.177979
+ 8050 0.994141
+ 8051 0.242188
+ 8052 0.191406
+ 8053 0.328857
+ 8054 0.982422
+ 8055 0.206055
+ 8056 0.999512
+ 8057 0.205078
+ 8058 0.00244141
+ 8059 0.20752
+ 8060 0.966553
+ 8061 0.206787
+ 8062 0.993652
+ 8063 0.243164
+ 8064 0.999023
+ 8065 0.206055
+ 8066 0.999268
+ 8067 0.244141
+ 8068 0.982666
+ 8069 0.205078
+ 8070 0.994385
+ 8071 0.241211
+ 8072 0.982422
+ 8073 0.204102
+ 8074 0.999023
+ 8075 0.203369
+ 8076 0.966797
+ 8077 0.241455
+ 8078 0.999268
+ 8079 0.240479
+ 8080 0.999023
+ 8081 0.202393
+ 8082 0.999023
+ 8083 0.20166
+ 8084 0.997559
+ 8085 0.204102
+ 8086 0.999268
+ 8087 0.203369
+ 8088 0.999023
+ 8089 0.241699
+ 8090 0.999268
+ 8091 0.325195
+ 8092 0.00415039
+ 8093 0.205811
+ 8094 0.999512
+ 8095 0.204834
+ 8096 0.999023
+ 8097 0.204102
+ 8098 0.999268
+ 8099 0.18457
+ 8100 0.983887
+ 8101 0.243896
+ 8102 0.999512
+ 8103 0.323975
+ 8104 0.998535
+ 8105 0.185791
+ 8106 0.999512
+ 8107 0.185059
+ 8108 0.999023
+ 8109 0.325439
+ 8110 0.997559
+ 8111 0.200928
+ 8112 0.993652
+ 8113 0.23999
+ 8114 0.999512
+ 8115 0.32666
+ 8116 0.999512
+ 8117 0.238037
+ 8118 0.997559
+ 8119 0.240967
+ 8120 0.997559
+ 8121 0.198486
+ 8122 0.997314
+ 8123 0.324463
+ 8124 0.999512
+ 8125 0.243896
+ 8126 0.998291
+ 8127 0.320557
+ 8128 0.997803
+ 8129 0.199219
+ 8130 0.999512
+ 8131 0.248047
+ 8132 0.993652
+ 8133 0.24707
+ 8134 0.993652
+ 8135 0.319336
+ 8136 0.998291
+ 8137 0.245117
+ 8138 0.999268
+ 8139 0.242188
+ 8140 0.999268
+ 8141 0.240234
+ 8142 0.00219727
+ 8143 0.323242
+ 8144 0.999756
+ 8145 0.238281
+ 8146 0.00219727
+ 8147 0.225098
+ 8148 0.00390625
+ 8149 0.323242
+ 8150 0.00415039
+ 8151 0.198975
+ 8152 0.999512
+ 8153 0.242432
+ 8154 0.999268
+ 8155 0.320801
+ 8156 0.999512
+ 8157 0.197998
+ 8158 0.0119629
+ 8159 0.322266
+ 8160 0.999512
+ 8161 0.236572
+ 8162 0.999512
+ 8163 0.196533
+ 8164 0.997559
+ 8165 0.32251
+ 8166 0.00561523
+ 8167 0.325195
+ 8168 0.00170898
+ 8169 0.234863
+ 8170 0.00390625
+ 8171 0.326416
+ 8172 0.98291
+ 8173 0.325195
+ 8174 0.00195312
+ 8175 0.188477
+ 8176 0.00390625
+ 8177 0.326416
+ 8178 0.999756
+ 8179 0.322754
+ 8180 0.00439453
+ 8181 0.241943
+ 8182 0.999512
+ 8183 0.320068
+ 8184 0.00439453
+ 8185 0.318848
+ 8186 0.998535
+ 8187 0.321777
+ 8188 0.00439453
+ 8189 0.199219
+ 8190 0.999756
+ 8191 0.319092
+ 8192 0.997559
+ 8193 0.244141
+ 8194 0.19165
+ 8195 0.187744
+ 8196 0.999268
+ 8197 0.19751
+ 8198 0.983398
+ 8199 0.244141
+ 8200 0.999268
+ 8201 0.186279
+ 8202 0.997314
+ 8203 0.196045
+ 8204 0.999268
+ 8205 0.322998
+ 8206 0.00537109
+ 8207 0.325928
+ 8208 0.0012207
+ 8209 0.200684
+ 8210 0.00195312
+ 8211 0.189453
+ 8212 0.967041
+ 8213 0.239502
+ 8214 0.00415039
+ 8215 0.187256
+ 8216 0.999268
+ 8217 0.239502
+ 8218 0.00415039
+ 8219 0.20166
+ 8220 0.999756
+ 8221 0.200928
+ 8222 0.997559
+ 8223 0.203369
+ 8224 0.999268
+ 8225 0.245605
+ 8226 0.00219727
+ 8227 0.205566
+ 8228 0.996338
+ 8229 0.243896
+ 8230 0.999512
+ 8231 0.208008
+ 8232 0.997314
+ 8233 0.330322
+ 8234 0.997803
+ 8235 0.210693
+ 8236 0.999756
+ 8237 0.186523
+ 8238 0.999512
+ 8239 0.208984
+ 8240 0.999512
+ 8241 0.18335
+ 8242 0.984131
+ 8243 0.243896
+ 8244 0.997803
+ 8245 0.185791
+ 8246 0.999268
+ 8247 0.207031
+ 8248 0.997559
+ 8249 0.210205
+ 8250 0.999512
+ 8251 0.209717
+ 8252 0.999756
+ 8253 0.339355
+ 8254 0.975342
+ 8255 0.243164
+ 8256 0.00170898
+ 8257 0.211182
+ 8258 0.997803
+ 8259 0.215332
+ 8260 0.997559
+ 8261 0.344727
+ 8262 0.999756
+ 8263 0.242188
+ 8264 0.00512695
+ 8265 0.191406
+ 8266 0.999756
+ 8267 0.3396
+ 8268 0.998291
+ 8269 0.219727
+ 8270 0.00512695
+ 8271 0.194092
+ 8272 0.997559
+ 8273 0.226807
+ 8274 0.999756
+ 8275 0.226807
+ 8276 0.994629
+ 8277 0.22583
+ 8278 0.999756
+ 8279 0.25293
+ 8280 0.997559
+ 8281 0.342041
+ 8282 0.998291
+ 8283 0.344482
+ 8284 0.999512
+ 8285 0.222656
+ 8286 0.00512695
+ 8287 0.202148
+ 8288 0.999756
+ 8289 0.250732
+ 8290 0.999512
+ 8291 0.255615
+ 8292 0.976074
+ 8293 0.258789
+ 8294 0.998535
+ 8295 0.340576
+ 8296 0.00366211
+ 8297 0.263184
+ 8298 0.993896
+ 8299 0.338135
+ 8300 0.998047
+ 8301 0.262207
+ 8302 0.994629
+ 8303 0.3396
+ 8304 0.999756
+ 8305 0.189941
+ 8306 0.999756
+ 8307 0.334961
+ 8308 0.0119629
+ 8309 0.33374
+ 8310 0.993896
+ 8311 0.25708
+ 8312 0.999512
+ 8313 0.25293
+ 8314 0.00488281
+ 8315 0.227295
+ 8316 0.00463867
+ 8317 0.330322
+ 8318 0.999512
+ 8319 0.328125
+ 8320 0.00488281
+ 8321 0.330322
+ 8322 0.00146484
+ 8323 0.332031
+ 8324 0.00146484
+ 8325 0.333252
+ 8326 0.00146484
+ 8327 0.25708
+ 8328 0.00463867
+ 8329 0.33374
+ 8330 0.00146484
+ 8331 0.241699
+ 8332 0.00366211
+ 8333 0.245605
+ 8334 0.993896
+ 8335 0.333008
+ 8336 0.173828
+ 8337 0.243896
+ 8338 0.993896
+ 8339 0.243408
+ 8340 0.999756
+ 8341 0.241943
+ 8342 0.999756
+ 8343 0.241455
+ 8344 0.994629
+ 8345 0.240723
+ 8346 0.996094
+ 8347 0.244385
+ 8348 0.00195312
+ 8349 0.336426
+ 8350 0.999756
+ 8351 0.273926
+ 8352 0.999756
+ 8353 0.27124
+ 8354 0.999756
+ 8355 0.240234
+ 8356 0.0117188
+ 8357 0.243652
+ 8358 0.999756
+ 8359 0.242676
+ 8360 0.999512
+ 8361 0.241943
+ 8362 0.00195312
+ 8363 0.245117
+ 8364 0.999756
+ 8365 0.244385
+ 8366 0.967285
+ 8367 0.205811
+ 8368 0.00366211
+ 8369 0.208496
+ 8370 0.983154
+ 8371 0.27417
+ 8372 0.983398
+ 8373 0.200684
+ 8374 0.983398
+ 8375 0.239502
+ 8376 0.983398
+ 8377 0.198975
+ 8378 0.999512
+ 8379 0.238037
+ 8380 0.999756
+ 8381 0.237061
+ 8382 0.00366211
+ 8383 0.184082
+ 8384 0.984131
+ 8385 0.236328
+ 8386 0.99707
+ 8387 0.337646
+ 8388 0.997803
+ 8389 0.340332
+ 8390 0.998047
+ 8391 0.275635
+ 8392 0.997559
+ 8393 0.278809
+ 8394 0.993896
+ 8395 0.236328
+ 8396 0.994873
+ 8397 0.235352
+ 8398 0.994873
+ 8399 0.344238
+ 8400 0.00317383
+ 8401 0.198486
+ 8402 0.994141
+ 8403 0.341797
+ 8404 0.994873
+ 8405 0.193604
+ 8406 0.999756
+ 8407 0.188965
+ 8408 0.996338
+ 8409 0.186279
+ 8410 0.999756
+ 8411 0.272705
+ 8412 0.00341797
+ 8413 0.273926
+ 8414 0.999756
+ 8415 0.181885
+ 8416 0.00195312
+ 8417 0.181641
+ 8418 0.999756
+ 8419 0.336914
+ 8420 0.997559
+ 8421 0.339111
+ 8422 0.983887
+ 8423 0.174805
+ 8424 0.999756
+ 8425 0.174561
+ 8426 0.997314
+ 8427 0.335693
+ 8428 0.997559
+ 8429 0.221924
+ 8430 0.999512
+ 8431 0.238525
+ 8432 0.999512
+ 8433 0.338623
+ 8434 0.967773
+ 8435 0.266602
+ 8436 0.0117188
+ 8437 0.336182
+ 8438 0.968262
+ 8439 0.265869
+ 8440 0.994873
+ 8441 0.217285
+ 8442 0.0117188
+ 8443 0.268066
+ 8444 0.968262
+ 8445 0.334961
+ 8446 0.0012207
+ 8447 0.218506
+ 8448 0.00317383
+ 8449 0.336182
+ 8450 0.0012207
+ 8451 0.179688
+ 8452 0.976562
+ 8453 0.337158
+ 8454 0.00292969
+ 8455 0.182129
+ 8456 0.994141
+ 8457 0.273926
+ 8458 0.976807
+ 8459 0.276367
+ 8460 0.0012207
+ 8461 0.274658
+ 8462 0.994385
+ 8463 0.213867
+ 8464 0.996582
+ 8465 0.337891
+ 8466 0.999512
+ 8467 0.335938
+ 8468 0.00317383
+ 8469 0.275146
+ 8470 0.999512
+ 8471 0.334717
+ 8472 0.999512
+ 8473 0.27002
+ 8474 0.976807
+ 8475 0.272949
+ 8476 0.995117
+ 8477 0.270508
+ 8478 0.176514
+ 8479 0.212891
+ 8480 0.99707
+ 8481 0.270752
+ 8482 0.999512
+ 8483 0.266846
+ 8484 0.999512
+ 8485 0.215088
+ 8486 0.00170898
+ 8487 0.332275
+ 8488 0.00292969
+ 8489 0.330811
+ 8490 0.997559
+ 8491 0.271973
+ 8492 0.968262
+ 8493 0.269287
+ 8494 0.999756
+ 8495 0.267822
+ 8496 0.999512
+ 8497 0.329834
+ 8498 0.997559
+ 8499 0.331055
+ 8500 0.997559
+ 8501 0.333496
+ 8502 0.999756
+ 8503 0.210205
+ 8504 0.999512
+ 8505 0.33252
+ 8506 0.999756
+ 8507 0.209229
+ 8508 0.999512
+ 8509 0.208496
+ 8510 0.984375
+ 8511 0.177246
+ 8512 0.00146484
+ 8513 0.210693
+ 8514 0.999512
+ 8515 0.209961
+ 8516 0.00488281
+ 8517 0.219482
+ 8518 0.984375
+ 8519 0.338867
+ 8520 0.976807
+ 8521 0.341309
+ 8522 0.96875
+ 8523 0.340088
+ 8524 0.968506
+ 8525 0.192627
+ 8526 0.985352
+ 8527 0.26123
+ 8528 0.999512
+ 8529 0.217529
+ 8530 0.999756
+ 8531 0.172852
+ 8532 0.999756
+ 8533 0.331055
+ 8534 0.999512
+ 8535 0.216797
+ 8536 0.00463867
+ 8537 0.171875
+ 8538 0.994385
+ 8539 0.328369
+ 8540 0.996826
+ 8541 0.32959
+ 8542 0.999756
+ 8543 0.327148
+ 8544 0.968506
+ 8545 0.221191
+ 8546 0.995117
+ 8547 0.324707
+ 8548 0.997314
+ 8549 0.325928
+ 8550 0.999756
+ 8551 0.174072
+ 8552 0.999756
+ 8553 0.173584
+ 8554 0.999756
+ 8555 0.254883
+ 8556 0.997559
+ 8557 0.172852
+ 8558 0.999512
+ 8559 0.172607
+ 8560 0.994629
+ 8561 0.319824
+ 8562 0.999756
+ 8563 0.252197
+ 8564 0.999756
+ 8565 0.314941
+ 8566 0.00146484
+ 8567 0.171875
+ 8568 0.996826
+ 8569 0.216797
+ 8570 0.999756
+ 8571 0.174561
+ 8572 0.999756
+ 8573 0.221436
+ 8574 0.00439453
+ 8575 0.255127
+ 8576 0.0012207
+ 8577 0.221191
+ 8578 0.999756
+ 8579 0.220215
+ 8580 0.996338
+ 8581 0.312744
+ 8582 0.984619
+ 8583 0.311523
+ 8584 0.999756
+ 8585 0.309082
+ 8586 0.00317383
+ 8587 0.257568
+ 8588 0.0114746
+ 8589 0.257324
+ 8590 0.0114746
+ 8591 0.307861
+ 8592 0.994629
+ 8593 0.30542
+ 8594 0.969238
+ 8595 0.177734
+ 8596 0.00317383
+ 8597 0.304443
+ 8598 0.00415039
+ 8599 0.306885
+ 8600 0.0012207
+ 8601 0.259277
+ 8602 0.0012207
+ 8603 0.223389
+ 8604 0.00292969
+ 8605 0.311035
+ 8606 0.969482
+ 8607 0.261475
+ 8608 0.999756
+ 8609 0.22168
+ 8610 0.999756
+ 8611 0.310303
+ 8612 0.999756
+ 8613 0.306641
+ 8614 0.00146484
+ 8615 0.308105
+ 8616 0.00390625
+ 8617 0.310791
+ 8618 0.999756
+ 8619 0.30835
+ 8620 0.175781
+ 8621 0.257568
+ 8622 0.999756
+ 8623 0.254639
+ 8624 0.999756
+ 8625 0.303711
+ 8626 0.999756
+ 8627 0.30127
+ 8628 0.977051
+ 8629 0.304199
+ 8630 0.999756
+ 8631 0.221191
+ 8632 0.00341797
+ 8633 0.305664
+ 8634 0.999756
+ 8635 0.219482
+ 8636 0.00341797
+ 8637 0.175537
+ 8638 0.999756
+ 8639 0.217773
+ 8640 0.00341797
+ 8641 0.174561
+ 8642 0.999756
+ 8643 0.216064
+ 8644 0.969482
+ 8645 0.172363
+ 8646 0.984863
+ 8647 0.310059
+ 8648 0.999756
+ 8649 0.215088
+ 8650 0.00146484
+ 8651 0.312988
+ 8652 0.999756
+ 8653 0.310547
+ 8654 0.999756
+ 8655 0.213379
+ 8656 0.00317383
+ 8657 0.21582
+ 8658 0.969482
+ 8659 0.310791
+ 8660 0.984863
+ 8661 0.309814
+ 8662 0.999756
+ 8663 0.307373
+ 8664 0.00463867
+ 8665 0.169678
+ 8666 0.969482
+ 8667 0.180664
+ 8668 0.986084
+ 8669 0.307617
+ 8670 0.977783
+ 8671 0.256592
+ 8672 0.999756
+ 8673 0.307861
+ 8674 0.999756
+ 8675 0.252686
+ 8676 0.00341797
+ 8677 0.168701
+ 8678 0.00317383
+ 8679 0.257812
+ 8680 0.996338
+ 8681 0.261475
+ 8682 0.999756
+ 8683 0.257324
+ 8684 0.999756
+ 8685 0.253906
+ 8686 0.99707
+ 8687 0.257324
+ 8688 0.00463867
+ 8689 0.16748
+ 8690 0.0012207
+ 8691 0.218018
+ 8692 0.00415039
+ 8693 0.227295
+ 8694 0.999756
+ 8695 0.262451
+ 8696 0.999756
+ 8697 0.226318
+ 8698 0.999756
+ 8699 0.263916
+ 8700 0.994873
+ 8701 0.299805
+ 8702 0.999756
+ 8703 0.298584
+ 8704 0.997314
+ 8705 0.165771
+ 8706 0.994873
+ 8707 0.300293
+ 8708 0.99707
+ 8709 0.258301
+ 8710 0.997559
+ 8711 0.260254
+ 8712 0.998047
+ 8713 0.164551
+ 8714 0.00463867
+ 8715 0.228027
+ 8716 0.999756
+ 8717 0.26123
+ 8718 0.00317383
+ 8719 0.301758
+ 8720 0.969727
+ 8721 0.300537
+ 8722 0.0012207
+ 8723 0.262939
+ 8724 0.999756
+ 8725 0.223145
+ 8726 0.00146484
+ 8727 0.225342
+ 8728 0.999756
+ 8729 0.302246
+ 8730 0.999756
+ 8731 0.224609
+ 8732 0.00146484
+ 8733 0.267334
+ 8734 0.995117
+ 8735 0.301514
+ 8736 0.00439453
+ 8737 0.304199
+ 8738 0.0012207
+ 8739 0.165283
+ 8740 0.999756
+ 8741 0.224121
+ 8742 0.00317383
+ 8743 0.226074
+ 8744 0.996338
+ 8745 0.27417
+ 8746 0.999756
+ 8747 0.302002
+ 8748 0.999756
+ 8749 0.299805
+ 8750 0.995117
+ 8751 0.269775
+ 8752 0.00439453
+ 8753 0.297363
+ 8754 0.00415039
+ 8755 0.300049
+ 8756 0.999756
+ 8757 0.270752
+ 8758 0.992676
+ 8759 0.297852
+ 8760 0.00317383
+ 8761 0.163086
+ 8762 0.179443
+ 8763 0.231689
+ 8764 0.00268555
+ 8765 0.233643
+ 8766 0.999756
+ 8767 0.23291
+ 8768 0.00317383
+ 8769 0.161865
+ 8770 0.00415039
+ 8771 0.298096
+ 8772 0.985352
+ 8773 0.164551
+ 8774 0.0112305
+ 8775 0.296875
+ 8776 0.999756
+ 8777 0.232178
+ 8778 0.999756
+ 8779 0.231201
+ 8780 0.996338
+ 8781 0.283936
+ 8782 0.999756
+ 8783 0.166992
+ 8784 0.998779
+ 8785 0.233398
+ 8786 0.999756
+ 8787 0.279297
+ 8788 0.969971
+ 8789 0.16626
+ 8790 0.969971
+ 8791 0.276611
+ 8792 0.999756
+ 8793 0.274902
+ 8794 0.985596
+ 8795 0.271729
+ 8796 0.999756
+ 8797 0.23291
+ 8798 0.996094
+ 8799 0.164551
+ 8800 0.999756
+ 8801 0.271484
+ 8802 0.999756
+ 8803 0.234863
+ 8804 0.985596
+ 8805 0.164062
+ 8806 0.985596
+ 8807 0.162842
+ 8808 0.999756
+ 8809 0.177002
+ 8810 0.0202637
+ 8811 0.290039
+ 8812 0.999756
+ 8813 0.266357
+ 8814 0.999756
+ 8815 0.262451
+ 8816 0.997314
+ 8817 0.289062
+ 8818 0.997803
+ 8819 0.291748
+ 8820 0.999756
+ 8821 0.263184
+ 8822 0.996582
+ 8823 0.259766
+ 8824 0.999756
+ 8825 0.257324
+ 8826 0.999756
+ 8827 0.231689
+ 8828 0.999756
+ 8829 0.230713
+ 8830 0.995361
+ 8831 0.286621
+ 8832 0.997803
+ 8833 0.258789
+ 8834 0.0012207
+ 8835 0.25708
+ 8836 0.99707
+ 8837 0.161865
+ 8838 0.995605
+ 8839 0.259766
+ 8840 0.999756
+ 8841 0.290039
+ 8842 0.997559
+ 8843 0.160645
+ 8844 0.999756
+ 8845 0.290527
+ 8846 0.97876
+ 8847 0.255859
+ 8848 0.997314
+ 8849 0.159424
+ 8850 0.995605
+ 8851 0.256836
+ 8852 0.999756
+ 8853 0.292236
+ 8854 0.999756
+ 8855 0.224609
+ 8856 0.00366211
+ 8857 0.227295
+ 8858 0.000976562
+ 8859 0.158447
+ 8860 0.995361
+ 8861 0.258057
+ 8862 0.970947
+ 8863 0.256348
+ 8864 0.00366211
+ 8865 0.291504
+ 8866 0.998047
+ 8867 0.294189
+ 8868 0.997803
+ 8869 0.295654
+ 8870 0.999756
+ 8871 0.256348
+ 8872 0.995605
+ 8873 0.294678
+ 8874 0.999756
+ 8875 0.252686
+ 8876 0.00292969
+ 8877 0.23291
+ 8878 0.00268555
+ 8879 0.29248
+ 8880 0.995605
+ 8881 0.257812
+ 8882 0.986084
+ 8883 0.29126
+ 8884 0.000976562
+ 8885 0.292969
+ 8886 0.999756
+ 8887 0.291748
+ 8888 0.999756
+ 8889 0.289551
+ 8890 0.997314
+ 8891 0.154297
+ 8892 0.996338
+ 8893 0.291016
+ 8894 0.00415039
+ 8895 0.251465
+ 8896 0.999756
+ 8897 0.293945
+ 8898 0.995361
+ 8899 0.230469
+ 8900 0.978516
+ 8901 0.248291
+ 8902 0.995361
+ 8903 0.294189
+ 8904 0.17334
+ 8905 0.232666
+ 8906 0.986084
+ 8907 0.231689
+ 8908 0.996582
+ 8909 0.233643
+ 8910 0.999756
+ 8911 0.295898
+ 8912 0.997314
+ 8913 0.231689
+ 8914 0.999756
+ 8915 0.230957
+ 8916 0.986328
+ 8917 0.302979
+ 8918 0.998047
+ 8919 0.305664
+ 8920 0.00292969
+ 8921 0.304443
+ 8922 0.00268555
+ 8923 0.230957
+ 8924 0.999756
+ 8925 0.302002
+ 8926 0.970703
+ 8927 0.299805
+ 8928 0.986084
+ 8929 0.230225
+ 8930 0.00268555
+ 8931 0.250732
+ 8932 0.998535
+ 8933 0.29834
+ 8934 0.997559
+ 8935 0.226562
+ 8936 0.996582
+ 8937 0.159424
+ 8938 0.999756
+ 8939 0.228516
+ 8940 0.999756
+ 8941 0.300049
+ 8942 0.999756
+ 8943 0.227783
+ 8944 0.00292969
+ 8945 0.229736
+ 8946 0.986328
+ 8947 0.22876
+ 8948 0.996826
+ 8949 0.259033
+ 8950 0.999756
+ 8951 0.172607
+ 8952 0.985596
+ 8953 0.162109
+ 8954 0.995605
+ 8955 0.230957
+ 8956 0.999756
+ 8957 0.161133
+ 8958 0.996826
+ 8959 0.296875
+ 8960 0.99585
+ 8961 0.254883
+ 8962 0.00390625
+ 8963 0.295654
+ 8964 0.000732422
+ 8965 0.297119
+ 8966 0.999756
+ 8967 0.293701
+ 8968 0.997803
+ 8969 0.257324
+ 8970 0.999756
+ 8971 0.294189
+ 8972 0.995361
+ 8973 0.255127
+ 8974 0.97876
+ 8975 0.258301
+ 8976 0.999756
+ 8977 0.163574
+ 8978 0.999756
+ 8979 0.253662
+ 8980 0.00292969
+ 8981 0.255615
+ 8982 0.999756
+ 8983 0.288574
+ 8984 0.999756
+ 8985 0.16333
+ 8986 0.999756
+ 8987 0.163086
+ 8988 0.996826
+ 8989 0.28418
+ 8990 0.997314
+ 8991 0.226074
+ 8992 0.999756
+ 8993 0.225098
+ 8994 0.999756
+ 8995 0.250244
+ 8996 0.99707
+ 8997 0.253906
+ 8998 0.000976562
+ 8999 0.22998
+ 9000 0.971436
+ 9001 0.251953
+ 9002 0.000732422
+ 9003 0.226318
+ 9004 0.995605
+ 9005 0.251953
+ 9006 0.000976562
+ 9007 0.250488
+ 9008 0.97168
+ 9009 0.249512
+ 9010 0.986328
+ 9011 0.295166
+ 9012 0.00268555
+ 9013 0.227539
+ 9014 0.0109863
+ 9015 0.250977
+ 9016 0.995605
+ 9017 0.25
+ 9018 0.971436
+ 9019 0.248291
+ 9020 0.00341797
+ 9021 0.292725
+ 9022 0.000732422
+ 9023 0.251709
+ 9024 0.00244141
+ 9025 0.294434
+ 9026 0.999756
+ 9027 0.291992
+ 9028 0.997314
+ 9029 0.25293
+ 9030 0.996582
+ 9031 0.224365
+ 9032 0.00244141
+ 9033 0.226562
+ 9034 0.999756
+ 9035 0.262207
+ 9036 0.999756
+ 9037 0.225586
+ 9038 0.995605
+ 9039 0.26123
+ 9040 0.999756
+ 9041 0.257568
+ 9042 0.999756
+ 9043 0.290771
+ 9044 0.999756
+ 9045 0.254883
+ 9046 0.17334
+ 9047 0.287354
+ 9048 0.999756
+ 9049 0.224854
+ 9050 0.999756
+ 9051 0.286133
+ 9052 0.997803
+ 9053 0.223145
+ 9054 0.999756
+ 9055 0.287842
+ 9056 0.999756
+ 9057 0.222412
+ 9058 0.00268555
+ 9059 0.289551
+ 9060 0.999756
+ 9061 0.220459
+ 9062 0.997314
+ 9063 0.26001
+ 9064 0.986328
+ 9065 0.222656
+ 9066 0.999756
+ 9067 0.286133
+ 9068 0.971191
+ 9069 0.284912
+ 9070 0.999756
+ 9071 0.221924
+ 9072 0.979004
+ 9073 0.223877
+ 9074 0.986572
+ 9075 0.223145
+ 9076 0.999756
+ 9077 0.2854
+ 9078 0.999756
+ 9079 0.222168
+ 9080 0.999756
+ 9081 0.221191
+ 9082 0.986816
+ 9083 0.171387
+ 9084 0.999756
+ 9085 0.220459
+ 9086 0.999756
+ 9087 0.219482
+ 9088 0.999756
+ 9089 0.218506
+ 9090 0.986816
+ 9091 0.290527
+ 9092 0.999756
+ 9093 0.172607
+ 9094 0.986816
+ 9095 0.169189
+ 9096 0.999756
+ 9097 0.291016
+ 9098 0.997803
+ 9099 0.217041
+ 9100 0.999756
+ 9101 0.250732
+ 9102 0.999756
+ 9103 0.29541
+ 9104 0.998047
+ 9105 0.246826
+ 9106 0.000732422
+ 9107 0.301025
+ 9108 0.999756
+ 9109 0.169189
+ 9110 0.000488281
+ 9111 0.217529
+ 9112 0.997559
+ 9113 0.243408
+ 9114 0.99707
+ 9115 0.30127
+ 9116 0.997314
+ 9117 0.302734
+ 9118 0.000732422
+ 9119 0.246094
+ 9120 0.999756
+ 9121 0.304199
+ 9122 0.987061
+ 9123 0.241455
+ 9124 0.00219727
+ 9125 0.303223
+ 9126 0.99585
+ 9127 0.216309
+ 9128 0.996826
+ 9129 0.218262
+ 9130 0.999756
+ 9131 0.243408
+ 9132 0.00268555
+ 9133 0.220459
+ 9134 0.99707
+ 9135 0.222656
+ 9136 0.000732422
+ 9137 0.246094
+ 9138 0.995361
+ 9139 0.166016
+ 9140 0.999756
+ 9141 0.230713
+ 9142 0.000488281
+ 9143 0.243896
+ 9144 0.97168
+ 9145 0.242676
+ 9146 0.996582
+ 9147 0.311768
+ 9148 0.00366211
+ 9149 0.225098
+ 9150 0.999756
+ 9151 0.224365
+ 9152 0.999756
+ 9153 0.312012
+ 9154 0.000488281
+ 9155 0.247314
+ 9156 0.0107422
+ 9157 0.246582
+ 9158 0.999756
+ 9159 0.312256
+ 9160 0.971436
+ 9161 0.243896
+ 9162 0.00341797
+ 9163 0.227783
+ 9164 0.00244141
+ 9165 0.309814
+ 9166 0.999756
+ 9167 0.250488
+ 9168 0.999756
+ 9169 0.248291
+ 9170 0.999756
+ 9171 0.245605
+ 9172 0.00195312
+ 9173 0.247314
+ 9174 0.000488281
+ 9175 0.246338
+ 9176 0.987305
+ 9177 0.307861
+ 9178 0.971924
+ 9179 0.306641
+ 9180 0.971924
+ 9181 0.30542
+ 9182 0.994629
+ 9183 0.242676
+ 9184 0.999756
+ 9185 0.302979
+ 9186 0.00219727
+ 9187 0.227539
+ 9188 0.181152
+ 9189 0.301758
+ 9190 0.000488281
+ 9191 0.303223
+ 9192 0.999756
+ 9193 0.242676
+ 9194 0.999756
+ 9195 0.225586
+ 9196 0.999756
+ 9197 0.224854
+ 9198 0.979248
+ 9199 0.244141
+ 9200 0.999756
+ 9201 0.226807
+ 9202 0.000488281
+ 9203 0.305664
+ 9204 0.00341797
+ 9205 0.162842
+ 9206 0.00244141
+ 9207 0.22998
+ 9208 0.999756
+ 9209 0.245605
+ 9210 0.999756
+ 9211 0.229248
+ 9212 0.996826
+ 9213 0.231201
+ 9214 0.987061
+ 9215 0.161621
+ 9216 0.999756
+ 9217 0.310059
+ 9218 0.979248
+ 9219 0.242676
+ 9220 0.987061
+ 9221 0.159912
+ 9222 0.0107422
+ 9223 0.232422
+ 9224 0.987305
+ 9225 0.312744
+ 9226 0.999756
+ 9227 0.23877
+ 9228 0.999756
+ 9229 0.231689
+ 9230 0.999756
+ 9231 0.236816
+ 9232 0.999756
+ 9233 0.230713
+ 9234 0.999756
+ 9235 0.168457
+ 9236 0.986328
+ 9237 0.161621
+ 9238 0.999756
+ 9239 0.22998
+ 9240 0.999756
+ 9241 0.240967
+ 9242 0.999756
+ 9243 0.237793
+ 9244 0.999756
+ 9245 0.161865
+ 9246 0.000488281
+ 9247 0.236572
+ 9248 0.999756
+ 9249 0.228271
+ 9250 0.999756
+ 9251 0.227295
+ 9252 0.996582
+ 9253 0.310303
+ 9254 0.999756
+ 9255 0.234863
+ 9256 0.999756
+ 9257 0.161133
+ 9258 0.99585
+ 9259 0.30542
+ 9260 0.997803
+ 9261 0.232178
+ 9262 0.00341797
+ 9263 0.235352
+ 9264 0.999756
+ 9265 0.159912
+ 9266 0.999756
+ 9267 0.230713
+ 9268 0.999756
+ 9269 0.30835
+ 9270 0.998047
+ 9271 0.15918
+ 9272 0.996094
+ 9273 0.22876
+ 9274 0.999756
+ 9275 0.227783
+ 9276 0.00341797
+ 9277 0.157471
+ 9278 0.999756
+ 9279 0.23291
+ 9280 0.99707
+ 9281 0.234863
+ 9282 0.999756
+ 9283 0.228516
+ 9284 0.00219727
+ 9285 0.310059
+ 9286 0.00317383
+ 9287 0.239014
+ 9288 0.00219727
+ 9289 0.312744
+ 9290 0.00195312
+ 9291 0.311523
+ 9292 0.000244141
+ 9293 0.312988
+ 9294 0.000244141
+ 9295 0.249512
+ 9296 0.998047
+ 9297 0.313232
+ 9298 0.999756
+ 9299 0.251709
+ 9300 0.997559
+ 9301 0.310791
+ 9302 0.987549
+ 9303 0.252441
+ 9304 0.999756
+ 9305 0.30835
+ 9306 0.999756
+ 9307 0.248047
+ 9308 0.000244141
+ 9309 0.235596
+ 9310 0.999756
+ 9311 0.234619
+ 9312 0.972656
+ 9313 0.309814
+ 9314 0.999756
+ 9315 0.233887
+ 9316 0.999756
+ 9317 0.247314
+ 9318 0.997314
+ 9319 0.231934
+ 9320 0.999756
+ 9321 0.154541
+ 9322 0.999756
+ 9323 0.247314
+ 9324 0.999756
+ 9325 0.244141
+ 9326 0.997803
+ 9327 0.247314
+ 9328 0.999756
+ 9329 0.308105
+ 9330 0.16333
+ 9331 0.306885
+ 9332 0.999023
+ 9333 0.30957
+ 9334 0.998535
+ 9335 0.244141
+ 9336 0.999756
+ 9337 0.240967
+ 9338 0.997803
+ 9339 0.244141
+ 9340 0.997803
+ 9341 0.24707
+ 9342 0.999756
+ 9343 0.245117
+ 9344 0.999756
+ 9345 0.226807
+ 9346 0.999756
+ 9347 0.308838
+ 9348 0.998535
+ 9349 0.154541
+ 9350 0.00341797
+ 9351 0.157471
+ 9352 0.999756
+ 9353 0.310303
+ 9354 0.00341797
+ 9355 0.312988
+ 9356 0.999756
+ 9357 0.241211
+ 9358 0.000244141
+ 9359 0.312012
+ 9360 0.999756
+ 9361 0.228271
+ 9362 0.999756
+ 9363 0.242432
+ 9364 0.999756
+ 9365 0.240234
+ 9366 0.00341797
+ 9367 0.233398
+ 9368 0.999756
+ 9369 0.157227
+ 9370 0.000244141
+ 9371 0.235352
+ 9372 0.996094
+ 9373 0.234375
+ 9374 0.996094
+ 9375 0.244873
+ 9376 0.999756
+ 9377 0.167725
+ 9378 0.0197754
+ 9379 0.311279
+ 9380 0.972656
+ 9381 0.24292
+ 9382 0.997314
+ 9383 0.308838
+ 9384 0.000244141
+ 9385 0.245605
+ 9386 0.000244141
+ 9387 0.244873
+ 9388 0.9729
+ 9389 0.313232
+ 9390 0.000244141
+ 9391 0.243652
+ 9392 0.979492
+ 9393 0.314697
+ 9394 0.000244141
+ 9395 0.316162
+ 9396 0.00195312
+ 9397 0.314697
+ 9398 0.999756
+ 9399 0.248779
+ 9400 0.999756
+ 9401 0.246582
+ 9402 0.00219727
+ 9403 0.229248
+ 9404 0.0107422
+ 9405 0.311035
+ 9406 0.999756
+ 9407 0.247803
+ 9408 0.9729
+ 9409 0.308594
+ 9410 0.000244141
+ 9411 0.246826
+ 9412 0.000244141
+ 9413 0.24585
+ 9414 0.000244141
+ 9415 0.244873
+ 9416 0.996094
+ 9417 0.314209
+ 9418 0.00146484
+ 9419 0.246826
+ 9420 0.999756
+ 9421 0.224121
+ 9422 0.99707
+ 9423 0.311768
+ 9424 0.999756
+ 9425 0.229492
+ 9426 0.988037
+ 9427 0.310547
+ 9428 0.988037
+ 9429 0.244629
+ 9430 0.999756
+ 9431 0.30835
+ 9432 0.000244141
+ 9433 0.309814
+ 9434 0.999756
+ 9435 0.225342
+ 9436 0.988037
+ 9437 0.310059
+ 9438 0.000244141
+ 9439 0.227539
+ 9440 0.972656
+ 9441 0.310303
+ 9442 0.00292969
+ 9443 0.312988
+ 9444 0.972656
+ 9445 0.22876
+ 9446 0.988037
+ 9447 0.310547
+ 9448 0.999756
+ 9449 0.240723
+ 9450 0.999756
+ 9451 0.227783
+ 9452 0.00195312
+ 9453 0.154053
+ 9454 0.999756
+ 9455 0.153564
+ 9456 0.988281
+ 9457 0.244873
+ 9458 0.9729
+ 9459 0.226074
+ 9460 0.999756
+ 9461 0.24292
+ 9462 0.00170898
+ 9463 0.228027
+ 9464 0.973145
+ 9465 0.155273
+ 9466 0.00195312
+ 9467 0.154541
+ 9468 0.999756
+ 9469 0.226318
+ 9470 0.999756
+ 9471 0.225586
+ 9472 0.166016
+ 9473 0.30249
+ 9474 0.996338
+ 9475 0.247803
+ 9476 0.999756
+ 9477 0.300049
+ 9478 0.996582
+ 9479 0.301758
+ 9480 0.999756
+ 9481 0.153564
+ 9482 0.999756
+ 9483 0.243652
+ 9484 0.00195312
+ 9485 0.153076
+ 9486 0.973389
+ 9487 0.151367
+ 9488 0.999756
+ 9489 0.223145
+ 9490 0.999756
+ 9491 0.222168
+ 9492 0.996338
+ 9493 0.224121
+ 9494 0.00317383
+ 9495 0.233154
+ 9496 0.996582
+ 9497 0.246338
+ 9498 0.00317383
+ 9499 0.240967
+ 9500 0.996094
+ 9501 0.249512
+ 9502 0.99707
+ 9503 0.239014
+ 9504 0.999756
+ 9505 0.303223
+ 9506 0.998047
+ 9507 0.305908
+ 9508 0.00170898
+ 9509 0.253418
+ 9510 0.00292969
+ 9511 0.148682
+ 9512 0.996338
+ 9513 0.303467
+ 9514 0.996338
+ 9515 0.147217
+ 9516 0.996338
+ 9517 0.238281
+ 9518 0.996826
+ 9519 0.16626
+ 9520 0.984619
+ 9521 0.240234
+ 9522 0.99707
+ 9523 0.304932
+ 9524 0.973877
+ 9525 0.303711
+ 9526 0.998047
+ 9527 0.260498
+ 9528 0.99707
+ 9529 0.305176
+ 9530 0.000244141
+ 9531 0.261963
+ 9532 0.999756
+ 9533 0.306885
+ 9534 0.999756
+ 9535 0.256836
+ 9536 0.996338
+ 9537 0.254883
+ 9538 0.999756
+ 9539 0.304443
+ 9540 0.980469
+ 9541 0.25293
+ 9542 0.999756
+ 9543 0.307129
+ 9544 0.00170898
+ 9545 0.241943
+ 9546 0.974365
+ 9547 0.252686
+ 9548 0.010498
+ 9549 0.251709
+ 9550 0.010498
+ 9551 0.305908
+ 9552 0.000244141
+ 9553 0.241943
+ 9554 0.000244141
+ 9555 0.243896
+ 9556 0.000244141
+ 9557 0.250977
+ 9558 0.999756
+ 9559 0.249023
+ 9560 0.000244141
+ 9561 0.247803
+ 9562 0.00170898
+ 9563 0.25
+ 9564 0.996338
+ 9565 0.249268
+ 9566 0.999756
+ 9567 0.22998
+ 9568 0.980225
+ 9569 0.313232
+ 9570 0.000244141
+ 9571 0.242188
+ 9572 0.973633
+ 9573 0.241211
+ 9574 0.988281
+ 9575 0.150879
+ 9576 0.00170898
+ 9577 0.249023
+ 9578 0.973877
+ 9579 0.239502
+ 9580 0.999756
+ 9581 0.238525
+ 9582 0.996338
+ 9583 0.312256
+ 9584 0.00170898
+ 9585 0.152832
+ 9586 0.988281
+ 9587 0.151855
+ 9588 0.999756
+ 9589 0.249023
+ 9590 0.999756
+ 9591 0.236816
+ 9592 0.00170898
+ 9593 0.309814
+ 9594 0.00268555
+ 9595 0.240234
+ 9596 0.000244141
+ 9597 0.151123
+ 9598 0.988281
+ 9599 0.149902
+ 9600 0.988525
+ 9601 0.31543
+ 9602 0.998291
+ 9603 0.317871
+ 9604 0.988525
+ 9605 0.237793
+ 9606 0.999756
+ 9607 0.237061
+ 9608 0.997314
+ 9609 0.31543
+ 9610 0.999756
+ 9611 0.249023
+ 9612 0.999756
+ 9613 0.239258
+ 9614 0.167236
+ 9615 0.240967
+ 9616 0.997314
+ 9617 0.24292
+ 9618 0.999756
+ 9619 0.1521
+ 9620 0.999756
+ 9621 0.246338
+ 9622 0.997559
+ 9623 0.315186
+ 9624 0.999756
+ 9625 0.241943
+ 9626 0.998779
+ 9627 0.251221
+ 9628 0.00292969
+ 9629 0.151123
+ 9630 0.996338
+ 9631 0.310791
+ 9632 0.999756
+ 9633 0.250977
+ 9634 0.999756
+ 9635 0.243652
+ 9636 0.99707
+ 9637 0.150146
+ 9638 0.997559
+ 9639 0.15332
+ 9640 0.999756
+ 9641 0.244141
+ 9642 0.996338
+ 9643 0.30835
+ 9644 0.998779
+ 9645 0.241455
+ 9646 0.996338
+ 9647 0.151611
+ 9648 0.996338
+ 9649 0.150146
+ 9650 0.974609
+ 9651 0.240723
+ 9652 0.997314
+ 9653 0.242188
+ 9654 0.999756
+ 9655 0.152832
+ 9656 0.997314
+ 9657 0.155762
+ 9658 0.999756
+ 9659 0.250977
+ 9660 0.993896
+ 9661 0.161133
+ 9662 0.986328
+ 9663 0.307617
+ 9664 0.999756
+ 9665 0.248047
+ 9666 0.000244141
+ 9667 0.24707
+ 9668 0.999756
+ 9669 0.306641
+ 9670 0.973877
+ 9671 0.245117
+ 9672 0.00268555
+ 9673 0.304199
+ 9674 0.00244141
+ 9675 0.307129
+ 9676 0.996338
+ 9677 0.304688
+ 9678 0.00268555
+ 9679 0.307373
+ 9680 0.999756
+ 9681 0.304932
+ 9682 0.00268555
+ 9683 0.307617
+ 9684 0.000244141
+ 9685 0.309326
+ 9686 0.000244141
+ 9687 0.310791
+ 9688 0.999756
+ 9689 0.307129
+ 9690 0.00268555
+ 9691 0.250732
+ 9692 0.0100098
+ 9693 0.24707
+ 9694 0.00146484
+ 9695 0.309814
+ 9696 0.996338
+ 9697 0.250732
+ 9698 0.974854
+ 9699 0.307373
+ 9700 0.000244141
+ 9701 0.155273
+ 9702 0.999756
+ 9703 0.24707
+ 9704 0.000244141
+ 9705 0.24585
+ 9706 0.0100098
+ 9707 0.245117
+ 9708 0.999756
+ 9709 0.237793
+ 9710 0.000244141
+ 9711 0.248291
+ 9712 0.999756
+ 9713 0.311768
+ 9714 0.000244141
+ 9715 0.250732
+ 9716 0.999756
+ 9717 0.249268
+ 9718 0.999756
+ 9719 0.242188
+ 9720 0.974365
+ 9721 0.240967
+ 9722 0.999756
+ 9723 0.310547
+ 9724 0.989014
+ 9725 0.156982
+ 9726 0.000244141
+ 9727 0.3125
+ 9728 0.999756
+ 9729 0.235352
+ 9730 0.999756
+ 9731 0.233398
+ 9732 0.999756
+ 9733 0.306885
+ 9734 0.999756
+ 9735 0.250488
+ 9736 0.989014
+ 9737 0.155762
+ 9738 0.999756
+ 9739 0.25
+ 9740 0.999756
+ 9741 0.305908
+ 9742 0.000244141
+ 9743 0.307129
+ 9744 0.989014
+ 9745 0.231689
+ 9746 0.00244141
+ 9747 0.154541
+ 9748 0.974609
+ 9749 0.234619
+ 9750 0.999756
+ 9751 0.23291
+ 9752 0.999756
+ 9753 0.250732
+ 9754 0.99707
+ 9755 0.302734
+ 9756 0.160645
+ 9757 0.251709
+ 9758 0.996582
+ 9759 0.300293
+ 9760 0.992188
+ 9761 0.297607
+ 9762 0.000244141
+ 9763 0.255859
+ 9764 0.999756
+ 9765 0.255371
+ 9766 0.995361
+ 9767 0.254395
+ 9768 0.999756
+ 9769 0.231445
+ 9770 0.99707
+ 9771 0.234619
+ 9772 0.999756
+ 9773 0.15332
+ 9774 0.999756
+ 9775 0.300049
+ 9776 0.998047
+ 9777 0.302979
+ 9778 0.998047
+ 9779 0.152588
+ 9780 0.996582
+ 9781 0.250244
+ 9782 0.99707
+ 9783 0.151367
+ 9784 0.999756
+ 9785 0.302979
+ 9786 0.998047
+ 9787 0.230225
+ 9788 0.997559
+ 9789 0.306152
+ 9790 0.997803
+ 9791 0.150879
+ 9792 0.997803
+ 9793 0.306396
+ 9794 0.999756
+ 9795 0.248291
+ 9796 0.997559
+ 9797 0.154053
+ 9798 0.996582
+ 9799 0.235352
+ 9800 0.000244141
+ 9801 0.304199
+ 9802 0.980713
+ 9803 0.179199
+ 9804 0.988281
+ 9805 0.305908
+ 9806 0.000244141
+ 9807 0.234375
+ 9808 0.00170898
+ 9809 0.250244
+ 9810 0.997559
+ 9811 0.306641
+ 9812 0.999756
+ 9813 0.237549
+ 9814 0.999756
+ 9815 0.302734
+ 9816 0.000244141
+ 9817 0.304199
+ 9818 0.000244141
+ 9819 0.234619
+ 9820 0.975586
+ 9821 0.233887
+ 9822 0.996582
+ 9823 0.305908
+ 9824 0.999756
+ 9825 0.231689
+ 9826 0.991455
+ 9827 0.22998
+ 9828 0.999756
+ 9829 0.251709
+ 9830 0.00268555
+ 9831 0.302002
+ 9832 0.999756
+ 9833 0.154297
+ 9834 0.999756
+ 9835 0.297119
+ 9836 0.996338
+ 9837 0.294922
+ 9838 0.999756
+ 9839 0.293457
+ 9840 0.999756
+ 9841 0.290039
+ 9842 0.000244141
+ 9843 0.15332
+ 9844 0.996582
+ 9845 0.290527
+ 9846 0.990967
+ 9847 0.227295
+ 9848 0.999512
+ 9849 0.256348
+ 9850 0.999512
+ 9851 0.228516
+ 9852 0.999268
+ 9853 0.226318
+ 9854 0.999756
+ 9855 0.255615
+ 9856 0.998047
+ 9857 0.227783
+ 9858 0.999756
+ 9859 0.283936
+ 9860 0.975098
+ 9861 0.22583
+ 9862 0.00146484
+ 9863 0.151611
+ 9864 0.00146484
+ 9865 0.230957
+ 9866 0.000244141
+ 9867 0.258301
+ 9868 0.998535
+ 9869 0.25708
+ 9870 0.000976562
+ 9871 0.258789
+ 9872 0.981201
+ 9873 0.286621
+ 9874 0.00146484
+ 9875 0.236328
+ 9876 0.975342
+ 9877 0.28418
+ 9878 0.999756
+ 9879 0.259521
+ 9880 0.998291
+ 9881 0.260742
+ 9882 0.999756
+ 9883 0.149658
+ 9884 0.0012207
+ 9885 0.282715
+ 9886 0.999756
+ 9887 0.259033
+ 9888 0.999512
+ 9889 0.27832
+ 9890 0.999756
+ 9891 0.242432
+ 9892 0.999756
+ 9893 0.240479
+ 9894 0.999756
+ 9895 0.258545
+ 9896 0.989502
+ 9897 0.148682
+ 9898 0.159668
+ 9899 0.147949
+ 9900 0.996826
+ 9901 0.146729
+ 9902 0.997314
+ 9903 0.277588
+ 9904 0.998779
+ 9905 0.150146
+ 9906 0.000244141
+ 9907 0.283203
+ 9908 0.997803
+ 9909 0.149414
+ 9910 0.999756
+ 9911 0.148926
+ 9912 0.999756
+ 9913 0.253906
+ 9914 0.999512
+ 9915 0.148438
+ 9916 0.997559
+ 9917 0.283447
+ 9918 0.997559
+ 9919 0.151611
+ 9920 0.997559
+ 9921 0.285156
+ 9922 0.997803
+ 9923 0.248047
+ 9924 0.999023
+ 9925 0.286865
+ 9926 0.997803
+ 9927 0.235107
+ 9928 0.99707
+ 9929 0.289795
+ 9930 0.000244141
+ 9931 0.291504
+ 9932 0.997803
+ 9933 0.293213
+ 9934 0.997803
+ 9935 0.294678
+ 9936 0.999756
+ 9937 0.236328
+ 9938 0.975586
+ 9939 0.245361
+ 9940 0.000244141
+ 9941 0.235352
+ 9942 0.999756
+ 9943 0.294189
+ 9944 0.999756
+ 9945 0.158203
+ 9946 0.952393
+ 9947 0.243408
+ 9948 0.997803
+ 9949 0.291748
+ 9950 0.0012207
+ 9951 0.233643
+ 9952 0.999756
+ 9953 0.289307
+ 9954 0.00268555
+ 9955 0.249756
+ 9956 0.97583
+ 9957 0.231934
+ 9958 0.999756
+ 9959 0.288574
+ 9960 0.000244141
+ 9961 0.230957
+ 9962 0.997559
+ 9963 0.234131
+ 9964 0.999756
+ 9965 0.232178
+ 9966 0.0012207
+ 9967 0.287842
+ 9968 0.000244141
+ 9969 0.234375
+ 9970 0.00244141
+ 9971 0.289795
+ 9972 0.981201
+ 9973 0.237305
+ 9974 0.996582
+ 9975 0.245117
+ 9976 0.000244141
+ 9977 0.236328
+ 9978 0.00976562
+ 9979 0.29834
+ 9980 0.996582
+ 9981 0.235596
+ 9982 0.996826
+ 9983 0.295898
+ 9984 0.000244141
+ 9985 0.297363
+ 9986 0.00219727
+ 9987 0.300293
+ 9988 0.0012207
+ 9989 0.299072
+ 9990 0.000244141
+ 9991 0.236816
+ 9992 0.999756
+ 9993 0.230957
+ 9994 0.0012207
+ 9995 0.161621
+ 9996 0.989746
+ 9997 0.241211
+ 9998 0.989746
+ 9999 0.163574
+ 10000 0.999756
+ 10001 0.162842
+ 10002 0.999756
+ 10003 0.234131
+ 10004 0.999756
+ 10005 0.296875
+ 10006 0.98999
+ 10007 0.240967
+ 10008 0.976074
+ 10009 0.231201
+ 10010 0.999756
+ 10011 0.229248
+ 10012 0.999756
+ 10013 0.291016
+ 10014 0.0012207
+ 10015 0.243164
+ 10016 0.999756
+ 10017 0.242188
+ 10018 0.998779
+ 10019 0.240967
+ 10020 0.999756
+ 10021 0.239746
+ 10022 0.981445
+ 10023 0.164307
+ 10024 0.999756
+ 10025 0.240479
+ 10026 0.999756
+ 10027 0.241699
+ 10028 0.98999
+ 10029 0.286865
+ 10030 0.000244141
+ 10031 0.288818
+ 10032 0.000244141
+ 10033 0.241943
+ 10034 0.991455
+ 10035 0.289307
+ 10036 0.000244141
+ 10037 0.236816
+ 10038 0.000244141
+ 10039 0.243896
+ 10040 0.157471
+ 10041 0.162842
+ 10042 0.999756
+ 10043 0.234863
+ 10044 0.998047
+ 10045 0.238037
+ 10046 0.997314
+ 10047 0.290527
+ 10048 0.998535
+ 10049 0.23999
+ 10050 0.997803
+ 10051 0.292236
+ 10052 0.981689
+ 10053 0.237793
+ 10054 0.999268
+ 10055 0.293945
+ 10056 0.000244141
+ 10057 0.243164
+ 10058 0.997314
+ 10059 0.165527
+ 10060 0.976074
+ 10061 0.246094
+ 10062 0.00952148
+ 10063 0.16748
+ 10064 0.999756
+ 10065 0.291992
+ 10066 0.998047
+ 10067 0.166748
+ 10068 0.998535
+ 10069 0.241211
+ 10070 0.999756
+ 10071 0.239258
+ 10072 0.999756
+ 10073 0.236328
+ 10074 0.998535
+ 10075 0.293457
+ 10076 0.998047
+ 10077 0.237549
+ 10078 0.999756
+ 10079 0.296143
+ 10080 0.998291
+ 10081 0.233643
+ 10082 0.990723
+ 10083 0.232666
+ 10084 0.991211
+ 10085 0.23584
+ 10086 0.000244141
+ 10087 0.155273
+ 10088 0.0195312
+ 10089 0.234863
+ 10090 0.0012207
+ 10091 0.237061
+ 10092 0.00952148
+ 10093 0.231934
+ 10094 0.997803
+ 10095 0.233643
+ 10096 0.991455
+ 10097 0.237305
+ 10098 0.999756
+ 10099 0.303223
+ 10100 0.000976562
+ 10101 0.236084
+ 10102 0.976074
+ 10103 0.234619
+ 10104 0.000244141
+ 10105 0.236572
+ 10106 0.00927734
+ 10107 0.237549
+ 10108 0.990234
+ 10109 0.304932
+ 10110 0.999756
+ 10111 0.234863
+ 10112 0.990479
+ 10113 0.23291
+ 10114 0.00219727
+ 10115 0.173828
+ 10116 0.999756
+ 10117 0.173096
+ 10118 0.999756
+ 10119 0.237305
+ 10120 0.999756
+ 10121 0.231201
+ 10122 0.999756
+ 10123 0.236572
+ 10124 0.000244141
+ 10125 0.238037
+ 10126 0.000244141
+ 10127 0.23999
+ 10128 0.990234
+ 10129 0.232422
+ 10130 0.00927734
+ 10131 0.241699
+ 10132 0.999756
+ 10133 0.30957
+ 10134 0.999756
+ 10135 0.235596
+ 10136 0.000976562
+ 10137 0.231934
+ 10138 0.999756
+ 10139 0.240234
+ 10140 0.991943
+ 10141 0.175049
+ 10142 0.998535
+ 10143 0.230225
+ 10144 0.996826
+ 10145 0.228516
+ 10146 0.990723
+ 10147 0.173096
+ 10148 0.990479
+ 10149 0.240234
+ 10150 0.998779
+ 10151 0.224854
+ 10152 0.999756
+ 10153 0.304443
+ 10154 0.00244141
+ 10155 0.244873
+ 10156 0.000976562
+ 10157 0.307373
+ 10158 0.999756
+ 10159 0.304932
+ 10160 0.999756
+ 10161 0.303711
+ 10162 0.998291
+ 10163 0.305176
+ 10164 0.999756
+ 10165 0.222656
+ 10166 0.990723
+ 10167 0.302734
+ 10168 0.982178
+ 10169 0.174316
+ 10170 0.999756
+ 10171 0.241699
+ 10172 0.997559
+ 10173 0.243164
+ 10174 0.999756
+ 10175 0.2229
+ 10176 0.00244141
+ 10177 0.226074
+ 10178 0.999756
+ 10179 0.305908
+ 10180 0.998047
+ 10181 0.308594
+ 10182 0.161133
+ 10183 0.311523
+ 10184 0.998779
+ 10185 0.241943
+ 10186 0.99707
+ 10187 0.316895
+ 10188 0.000244141
+ 10189 0.22168
+ 10190 0.999756
+ 10191 0.220703
+ 10192 0.000976562
+ 10193 0.243164
+ 10194 0.999756
+ 10195 0.221191
+ 10196 0.999756
+ 10197 0.172852
+ 10198 0.999756
+ 10199 0.310791
+ 10200 0.99707
+ 10201 0.219482
+ 10202 0.00219727
+ 10203 0.171387
+ 10204 0.999756
+ 10205 0.307129
+ 10206 0.999756
+ 10207 0.303467
+ 10208 0.996826
+ 10209 0.170166
+ 10210 0.000732422
+ 10211 0.224609
+ 10212 0.999756
+ 10213 0.301025
+ 10214 0.999756
+ 10215 0.297363
+ 10216 0.996826
+ 10217 0.2229
+ 10218 0.999756
+ 10219 0.220947
+ 10220 0.00927734
+ 10221 0.247559
+ 10222 0.000244141
+ 10223 0.220215
+ 10224 0.999756
+ 10225 0.217529
+ 10226 0.999756
+ 10227 0.216797
+ 10228 0.999756
+ 10229 0.155762
+ 10230 0.988037
+ 10231 0.292969
+ 10232 0.990723
+ 10233 0.246094
+ 10234 0.0090332
+ 10235 0.247803
+ 10236 0.999756
+ 10237 0.246582
+ 10238 0.999756
+ 10239 0.291992
+ 10240 0.990723
+ 10241 0.177979
+ 10242 0.999756
+ 10243 0.245117
+ 10244 0.992676
+ 10245 0.244873
+ 10246 0.999756
+ 10247 0.243896
+ 10248 0.996826
+ 10249 0.216064
+ 10250 0.000976562
+ 10251 0.24585
+ 10252 0.999756
+ 10253 0.216553
+ 10254 0.990967
+ 10255 0.291748
+ 10256 0.990723
+ 10257 0.290527
+ 10258 0.999756
+ 10259 0.245117
+ 10260 0.99707
+ 10261 0.291016
+ 10262 0.999756
+ 10263 0.213135
+ 10264 0.99707
+ 10265 0.287598
+ 10266 0.99707
+ 10267 0.210693
+ 10268 0.997314
+ 10269 0.173096
+ 10270 0.999756
+ 10271 0.286377
+ 10272 0.000732422
+ 10273 0.214355
+ 10274 0.996826
+ 10275 0.242676
+ 10276 0.999756
+ 10277 0.217285
+ 10278 0.997559
+ 10279 0.286865
+ 10280 0.999756
+ 10281 0.240723
+ 10282 0.999756
+ 10283 0.210205
+ 10284 0.000732422
+ 10285 0.288574
+ 10286 0.976562
+ 10287 0.239014
+ 10288 0.999756
+ 10289 0.175049
+ 10290 0.990967
+ 10291 0.238037
+ 10292 0.997314
+ 10293 0.21167
+ 10294 0.976807
+ 10295 0.210693
+ 10296 0.997803
+ 10297 0.177002
+ 10298 0.999756
+ 10299 0.280762
+ 10300 0.997314
+ 10301 0.282471
+ 10302 0.000732422
+ 10303 0.240967
+ 10304 0.000732422
+ 10305 0.24292
+ 10306 0.999756
+ 10307 0.280273
+ 10308 0.976807
+ 10309 0.241943
+ 10310 0.000732422
+ 10311 0.278076
+ 10312 0.999756
+ 10313 0.274902
+ 10314 0.998047
+ 10315 0.276611
+ 10316 0.991699
+ 10317 0.239014
+ 10318 0.999756
+ 10319 0.238037
+ 10320 0.999756
+ 10321 0.273438
+ 10322 0.00219727
+ 10323 0.276123
+ 10324 0.154297
+ 10325 0.179443
+ 10326 0.999756
+ 10327 0.223145
+ 10328 0.999756
+ 10329 0.221436
+ 10330 0.999756
+ 10331 0.271729
+ 10332 0.000244141
+ 10333 0.178711
+ 10334 0.997559
+ 10335 0.181885
+ 10336 0.999756
+ 10337 0.21875
+ 10338 0.999756
+ 10339 0.271484
+ 10340 0.999756
+ 10341 0.217041
+ 10342 0.999756
+ 10343 0.215332
+ 10344 0.998779
+ 10345 0.217529
+ 10346 0.999756
+ 10347 0.21582
+ 10348 0.976562
+ 10349 0.214844
+ 10350 0.000244141
+ 10351 0.214111
+ 10352 0.999756
+ 10353 0.266846
+ 10354 0.999756
+ 10355 0.212402
+ 10356 0.99707
+ 10357 0.263672
+ 10358 0.999756
+ 10359 0.209717
+ 10360 0.999756
+ 10361 0.260498
+ 10362 0.999756
+ 10363 0.237061
+ 10364 0.999756
+ 10365 0.258301
+ 10366 0.999756
+ 10367 0.20874
+ 10368 0.999756
+ 10369 0.207031
+ 10370 0.999756
+ 10371 0.150391
+ 10372 0.953125
+ 10373 0.236572
+ 10374 0.999756
+ 10375 0.205322
+ 10376 0.997559
+ 10377 0.208496
+ 10378 0.999756
+ 10379 0.249268
+ 10380 0.992676
+ 10381 0.206787
+ 10382 0.99707
+ 10383 0.234863
+ 10384 0.997314
+ 10385 0.246338
+ 10386 0.976318
+ 10387 0.209229
+ 10388 0.997559
+ 10389 0.211426
+ 10390 0.976318
+ 10391 0.210693
+ 10392 0.997314
+ 10393 0.244385
+ 10394 0.996826
+ 10395 0.234863
+ 10396 0.996826
+ 10397 0.245361
+ 10398 0.991211
+ 10399 0.212891
+ 10400 0.997314
+ 10401 0.244385
+ 10402 0.999756
+ 10403 0.234131
+ 10404 0.997314
+ 10405 0.209473
+ 10406 0.998047
+ 10407 0.21167
+ 10408 0.999756
+ 10409 0.209961
+ 10410 0.999756
+ 10411 0.232422
+ 10412 0.999756
+ 10413 0.244385
+ 10414 0.999756
+ 10415 0.242432
+ 10416 0.991455
+ 10417 0.241455
+ 10418 0.000732422
+ 10419 0.203125
+ 10420 0.999756
+ 10421 0.23877
+ 10422 0.999756
+ 10423 0.23584
+ 10424 0.999512
+ 10425 0.211182
+ 10426 0.000488281
+ 10427 0.213623
+ 10428 0.997803
+ 10429 0.239014
+ 10430 0.999756
+ 10431 0.229004
+ 10432 0.999756
+ 10433 0.236084
+ 10434 0.999756
+ 10435 0.175537
+ 10436 0.997559
+ 10437 0.234131
+ 10438 0.999756
+ 10439 0.178711
+ 10440 0.991699
+ 10441 0.213623
+ 10442 0.999756
+ 10443 0.230469
+ 10444 0.999756
+ 10445 0.20459
+ 10446 0.991943
+ 10447 0.199951
+ 10448 0.999756
+ 10449 0.218994
+ 10450 0.999756
+ 10451 0.22168
+ 10452 0.999756
+ 10453 0.228027
+ 10454 0.999756
+ 10455 0.227051
+ 10456 0.997559
+ 10457 0.22998
+ 10458 0.999756
+ 10459 0.174316
+ 10460 0.997803
+ 10461 0.206055
+ 10462 0.998535
+ 10463 0.226807
+ 10464 0.998047
+ 10465 0.195068
+ 10466 0.157715
+ 10467 0.224854
+ 10468 0.999756
+ 10469 0.17627
+ 10470 0.999756
+ 10471 0.197998
+ 10472 0.997803
+ 10473 0.176025
+ 10474 0.999756
+ 10475 0.17041
+ 10476 0.999756
+ 10477 0.200684
+ 10478 0.999756
+ 10479 0.192627
+ 10480 0.999756
+ 10481 0.19043
+ 10482 0.997314
+ 10483 0.201416
+ 10484 0.997803
+ 10485 0.185059
+ 10486 0.999756
+ 10487 0.181885
+ 10488 0.999756
+ 10489 0.180908
+ 10490 0.999756
+ 10491 0.212402
+ 10492 0.999756
+ 10493 0.209717
+ 10494 0.999756
+ 10495 0.161133
+ 10496 0.997314
+ 10497 0.161621
+ 10498 0.999756
+ 10499 0.154297
+ 10500 0.976318
+ 10501 0.211426
+ 10502 0.997803
+ 10503 0.172607
+ 10504 0.999023
+ 10505 0.159424
+ 10506 0.999756
+ 10507 0.177979
+ 10508 0.999756
+ 10509 0.15918
+ 10510 0.000244141
+ 10511 0.175293
+ 10512 0.999756
+ 10513 0.148926
+ 10514 0.988525
+ 10515 0.212891
+ 10516 0.999756
+ 10517 0.2146
+ 10518 0.999756
+ 10519 0.171387
+ 10520 0.999756
+ 10521 0.166504
+ 10522 0.999756
+ 10523 0.153809
+ 10524 0.999756
+ 10525 0.209473
+ 10526 0.992188
+ 10527 0.164795
+ 10528 0.000244141
+ 10529 0.185303
+ 10530 0.000488281
+ 10531 0.169189
+ 10532 0.999756
+ 10533 0.167236
+ 10534 0.992188
+ 10535 0.163086
+ 10536 0.999756
+ 10537 0.161133
+ 10538 0.999756
+ 10539 0.147705
+ 10540 0.00219727
+ 10541 0.221436
+ 10542 0.000488281
+ 10543 0.206543
+ 10544 0.000488281
+ 10545 0.175781
+ 10546 0.00878906
+ 10547 0.22876
+ 10548 0.999756
+ 10549 0.227539
+ 10550 0.99707
+ 10551 0.226318
+ 10552 0.98291
+ 10553 0.177734
+ 10554 0.000488281
+ 10555 0.214844
+ 10556 0.000244141
+ 10557 0.220947
+ 10558 0.999756
+ 10559 0.218262
+ 10560 0.999756
+ 10561 0.199219
+ 10562 0.997314
+ 10563 0.217285
+ 10564 0.000244141
+ 10565 0.193604
+ 10566 0.98291
+ 10567 0.175537
+ 10568 0.000244141
+ 10569 0.227539
+ 10570 0.997314
+ 10571 0.199951
+ 10572 0.999756
+ 10573 0.196045
+ 10574 0.999756
+ 10575 0.195801
+ 10576 0.00219727
+ 10577 0.199951
+ 10578 0.00219727
+ 10579 0.203857
+ 10580 0.998047
+ 10581 0.206543
+ 10582 0.999756
+ 10583 0.22168
+ 10584 0.00219727
+ 10585 0.234863
+ 10586 0.999756
+ 10587 0.225586
+ 10588 0.997803
+ 10589 0.229492
+ 10590 0.992188
+ 10591 0.17334
+ 10592 0.999756
+ 10593 0.227783
+ 10594 0.997803
+ 10595 0.19873
+ 10596 0.999756
+ 10597 0.229492
+ 10598 0.000244141
+ 10599 0.196777
+ 10600 0.000244141
+ 10601 0.235107
+ 10602 0.998047
+ 10603 0.197021
+ 10604 0.997559
+ 10605 0.237305
+ 10606 0.999756
+ 10607 0.234375
+ 10608 0.14917
+ 10609 0.234131
+ 10610 0.991455
+ 10611 0.230469
+ 10612 0.999756
+ 10613 0.227539
+ 10614 0.00219727
+ 10615 0.19873
+ 10616 0.999756
+ 10617 0.229004
+ 10618 0.999756
+ 10619 0.226318
+ 10620 0.999756
+ 10621 0.196777
+ 10622 0.981934
+ 10623 0.230225
+ 10624 0.00219727
+ 10625 0.238525
+ 10626 0.998291
+ 10627 0.225098
+ 10628 0.000488281
+ 10629 0.175781
+ 10630 0.977295
+ 10631 0.204834
+ 10632 0.00195312
+ 10633 0.244873
+ 10634 0.98291
+ 10635 0.172852
+ 10636 0.000244141
+ 10637 0.208984
+ 10638 0.98291
+ 10639 0.244385
+ 10640 0.000488281
+ 10641 0.246338
+ 10642 0.998535
+ 10643 0.247803
+ 10644 0.00195312
+ 10645 0.175293
+ 10646 0.999756
+ 10647 0.252441
+ 10648 0.999756
+ 10649 0.219482
+ 10650 0.000488281
+ 10651 0.25415
+ 10652 0.000244141
+ 10653 0.235352
+ 10654 0.00854492
+ 10655 0.148193
+ 10656 0.988281
+ 10657 0.222656
+ 10658 0.999756
+ 10659 0.251221
+ 10660 0.998291
+ 10661 0.177734
+ 10662 0.999756
+ 10663 0.222656
+ 10664 0.998047
+ 10665 0.225098
+ 10666 0.998291
+ 10667 0.250977
+ 10668 0.99707
+ 10669 0.231689
+ 10670 0.983154
+ 10671 0.248779
+ 10672 0.992188
+ 10673 0.178955
+ 10674 0.000244141
+ 10675 0.236816
+ 10676 0.999756
+ 10677 0.24707
+ 10678 0.999756
+ 10679 0.23291
+ 10680 0.000244141
+ 10681 0.236816
+ 10682 0.999756
+ 10683 0.234863
+ 10684 0.992188
+ 10685 0.245117
+ 10686 0.992188
+ 10687 0.244141
+ 10688 0.99707
+ 10689 0.235352
+ 10690 0.992188
+ 10691 0.232422
+ 10692 0.999756
+ 10693 0.243408
+ 10694 0.999756
+ 10695 0.231689
+ 10696 0.999756
+ 10697 0.228516
+ 10698 0.999756
+ 10699 0.24292
+ 10700 0.994629
+ 10701 0.225586
+ 10702 0.000244141
+ 10703 0.219727
+ 10704 0.000244141
+ 10705 0.231689
+ 10706 0.000244141
+ 10707 0.231689
+ 10708 0.99707
+ 10709 0.229004
+ 10710 0.999756
+ 10711 0.23999
+ 10712 0.999756
+ 10713 0.226807
+ 10714 0.999756
+ 10715 0.224854
+ 10716 0.999023
+ 10717 0.234375
+ 10718 0.991211
+ 10719 0.22168
+ 10720 0.977539
+ 10721 0.230469
+ 10722 0.999756
+ 10723 0.178223
+ 10724 0.000244141
+ 10725 0.231445
+ 10726 0.999756
+ 10727 0.21875
+ 10728 0.00195312
+ 10729 0.222412
+ 10730 0.999756
+ 10731 0.17749
+ 10732 0.99707
+ 10733 0.22876
+ 10734 0.999756
+ 10735 0.240967
+ 10736 0.999756
+ 10737 0.216553
+ 10738 0.999756
+ 10739 0.23999
+ 10740 0.977783
+ 10741 0.213867
+ 10742 0.992432
+ 10743 0.174561
+ 10744 0.999756
+ 10745 0.212402
+ 10746 0.99292
+ 10747 0.210693
+ 10748 0.999756
+ 10749 0.227051
+ 10750 0.146973
+ 10751 0.209717
+ 10752 0.999756
+ 10753 0.174072
+ 10754 0.00830078
+ 10755 0.225342
+ 10756 0.000244141
+ 10757 0.207764
+ 10758 0.000244141
+ 10759 0.227539
+ 10760 0.999756
+ 10761 0.226318
+ 10762 0.999756
+ 10763 0.176514
+ 10764 0.999756
+ 10765 0.223389
+ 10766 0.999756
+ 10767 0.221191
+ 10768 0.997559
+ 10769 0.205322
+ 10770 0.999756
+ 10771 0.175293
+ 10772 0.000244141
+ 10773 0.240234
+ 10774 0.978516
+ 10775 0.206543
+ 10776 0.999756
+ 10777 0.217529
+ 10778 0.992432
+ 10779 0.215576
+ 10780 0.999023
+ 10781 0.173096
+ 10782 0.992676
+ 10783 0.217773
+ 10784 0.000244141
+ 10785 0.171875
+ 10786 0.00170898
+ 10787 0.243164
+ 10788 0.998291
+ 10789 0.204346
+ 10790 0.000244141
+ 10791 0.247803
+ 10792 0.999756
+ 10793 0.219727
+ 10794 0.999023
+ 10795 0.221924
+ 10796 0.999756
+ 10797 0.150391
+ 10798 0.988525
+ 10799 0.175049
+ 10800 0.999756
+ 10801 0.202637
+ 10802 0.997803
+ 10803 0.244873
+ 10804 0.978271
+ 10805 0.244141
+ 10806 0.999756
+ 10807 0.217285
+ 10808 0.978271
+ 10809 0.216309
+ 10810 0.978027
+ 10811 0.215332
+ 10812 0.000244141
+ 10813 0.217773
+ 10814 0.998047
+ 10815 0.207031
+ 10816 0.998047
+ 10817 0.175537
+ 10818 0.998047
+ 10819 0.210449
+ 10820 0.999756
+ 10821 0.207764
+ 10822 0.999756
+ 10823 0.239258
+ 10824 0.997559
+ 10825 0.220459
+ 10826 0.00195312
+ 10827 0.207275
+ 10828 0.00195312
+ 10829 0.224365
+ 10830 0.000244141
+ 10831 0.210693
+ 10832 0.999756
+ 10833 0.226318
+ 10834 0.998535
+ 10835 0.208496
+ 10836 0.00830078
+ 10837 0.24292
+ 10838 0.997803
+ 10839 0.229248
+ 10840 0.00830078
+ 10841 0.207275
+ 10842 0.999756
+ 10843 0.243652
+ 10844 0.999756
+ 10845 0.212158
+ 10846 0.999756
+ 10847 0.231201
+ 10848 0.999756
+ 10849 0.229004
+ 10850 0.999756
+ 10851 0.20166
+ 10852 0.000244141
+ 10853 0.204102
+ 10854 0.000244141
+ 10855 0.226318
+ 10856 0.00805664
+ 10857 0.206787
+ 10858 0.000244141
+ 10859 0.225586
+ 10860 0.997803
+ 10861 0.229004
+ 10862 0.000244141
+ 10863 0.211914
+ 10864 0.998291
+ 10865 0.228271
+ 10866 0.992676
+ 10867 0.226074
+ 10868 0.99707
+ 10869 0.236328
+ 10870 0.999756
+ 10871 0.215088
+ 10872 0.999756
+ 10873 0.186035
+ 10874 0.994141
+ 10875 0.185303
+ 10876 0.997803
+ 10877 0.213867
+ 10878 0.000244141
+ 10879 0.183838
+ 10880 0.00805664
+ 10881 0.237549
+ 10882 0.000244141
+ 10883 0.239502
+ 10884 0.998291
+ 10885 0.241211
+ 10886 0.998291
+ 10887 0.186279
+ 10888 0.998047
+ 10889 0.189453
+ 10890 0.998291
+ 10891 0.226318
+ 10892 0.154053
+ 10893 0.217041
+ 10894 0.000244141
+ 10895 0.21875
+ 10896 0.999756
+ 10897 0.192627
+ 10898 0.99292
+ 10899 0.227051
+ 10900 0.999756
+ 10901 0.215576
+ 10902 0.997803
+ 10903 0.19043
+ 10904 0.000244141
+ 10905 0.224121
+ 10906 0.000244141
+ 10907 0.220947
+ 10908 0.991699
+ 10909 0.219971
+ 10910 0.00805664
+ 10911 0.22168
+ 10912 0.978516
+ 10913 0.237549
+ 10914 0.997314
+ 10915 0.236572
+ 10916 0.999756
+ 10917 0.221436
+ 10918 0.999756
+ 10919 0.219482
+ 10920 0.978271
+ 10921 0.218506
+ 10922 0.998291
+ 10923 0.221924
+ 10924 0.999756
+ 10925 0.192871
+ 10926 0.000244141
+ 10927 0.237793
+ 10928 0.994141
+ 10929 0.216064
+ 10930 0.97876
+ 10931 0.222168
+ 10932 0.999756
+ 10933 0.237061
+ 10934 0.999756
+ 10935 0.236084
+ 10936 0.00170898
+ 10937 0.223877
+ 10938 0.999756
+ 10939 0.145996
+ 10940 0.988281
+ 10941 0.240967
+ 10942 0.999268
+ 10943 0.216797
+ 10944 0.998291
+ 10945 0.221191
+ 10946 0.998535
+ 10947 0.190674
+ 10948 0.999756
+ 10949 0.221436
+ 10950 0.999756
+ 10951 0.220459
+ 10952 0.00146484
+ 10953 0.189941
+ 10954 0.979248
+ 10955 0.222656
+ 10956 0.00146484
+ 10957 0.246826
+ 10958 0.983887
+ 10959 0.226562
+ 10960 0.997314
+ 10961 0.224609
+ 10962 0.998535
+ 10963 0.247803
+ 10964 0.97876
+ 10965 0.246582
+ 10966 0.998535
+ 10967 0.230225
+ 10968 0.998779
+ 10969 0.247314
+ 10970 0.00146484
+ 10971 0.233887
+ 10972 0.99292
+ 10973 0.188477
+ 10974 0.997314
+ 10975 0.231445
+ 10976 0.000244141
+ 10977 0.220459
+ 10978 0.999023
+ 10979 0.251221
+ 10980 0.984131
+ 10981 0.186279
+ 10982 0.999756
+ 10983 0.232666
+ 10984 0.00146484
+ 10985 0.258545
+ 10986 0.999268
+ 10987 0.219971
+ 10988 0.000244141
+ 10989 0.238037
+ 10990 0.000244141
+ 10991 0.257568
+ 10992 0.000244141
+ 10993 0.240479
+ 10994 0.996826
+ 10995 0.257324
+ 10996 0.000244141
+ 10997 0.259033
+ 10998 0.997559
+ 10999 0.244629
+ 11000 0.99292
+ 11001 0.219971
+ 11002 0.984375
+ 11003 0.243652
+ 11004 0.997559
+ 11005 0.183105
+ 11006 0.984375
+ 11007 0.185547
+ 11008 0.998535
+ 11009 0.188721
+ 11010 0.997803
+ 11011 0.255127
+ 11012 0.996582
+ 11013 0.224365
+ 11014 0.999023
+ 11015 0.226562
+ 11016 0.999756
+ 11017 0.23999
+ 11018 0.998291
+ 11019 0.241943
+ 11020 0.000244141
+ 11021 0.25415
+ 11022 0.984863
+ 11023 0.244385
+ 11024 0.000244141
+ 11025 0.246094
+ 11026 0.0078125
+ 11027 0.188965
+ 11028 0.000244141
+ 11029 0.24707
+ 11030 0.997314
+ 11031 0.1875
+ 11032 0.997314
+ 11033 0.23291
+ 11034 0.154053
+ 11035 0.242676
+ 11036 0.97998
+ 11037 0.23584
+ 11038 0.999268
+ 11039 0.185303
+ 11040 0.999756
+ 11041 0.253174
+ 11042 0.984863
+ 11043 0.183838
+ 11044 0.980469
+ 11045 0.240479
+ 11046 0.0012207
+ 11047 0.182373
+ 11048 0.000976562
+ 11049 0.260986
+ 11050 0.998779
+ 11051 0.262207
+ 11052 0.0012207
+ 11053 0.269043
+ 11054 0.985596
+ 11055 0.19165
+ 11056 0.97998
+ 11057 0.270752
+ 11058 0.000244141
+ 11059 0.258301
+ 11060 0.000732422
+ 11061 0.266357
+ 11062 0.000244141
+ 11063 0.271484
+ 11064 0.999268
+ 11065 0.242432
+ 11066 0.999268
+ 11067 0.263672
+ 11068 0.000976562
+ 11069 0.264893
+ 11070 0.999756
+ 11071 0.193359
+ 11072 0.985596
+ 11073 0.263184
+ 11074 0.00756836
+ 11075 0.239502
+ 11076 0.997314
+ 11077 0.238281
+ 11078 0.97998
+ 11079 0.236816
+ 11080 0.00756836
+ 11081 0.153564
+ 11082 0.987793
+ 11083 0.273926
+ 11084 0.000244141
+ 11085 0.274902
+ 11086 0.999756
+ 11087 0.273682
+ 11088 0.000244141
+ 11089 0.274658
+ 11090 0.997803
+ 11091 0.271729
+ 11092 0.00756836
+ 11093 0.21167
+ 11094 0.999512
+ 11095 0.27124
+ 11096 0.000244141
+ 11097 0.271484
+ 11098 0.999756
+ 11099 0.244629
+ 11100 0.985596
+ 11101 0.209473
+ 11102 0.999268
+ 11103 0.27002
+ 11104 0.999268
+ 11105 0.206543
+ 11106 0.99292
+ 11107 0.259521
+ 11108 0.97998
+ 11109 0.257324
+ 11110 0.998535
+ 11111 0.269043
+ 11112 0.000976562
+ 11113 0.204346
+ 11114 0.998779
+ 11115 0.270752
+ 11116 0.00756836
+ 11117 0.252441
+ 11118 0.000244141
+ 11119 0.213623
+ 11120 0.998779
+ 11121 0.271484
+ 11122 0.000244141
+ 11123 0.216553
+ 11124 0.00756836
+ 11125 0.220215
+ 11126 0.998535
+ 11127 0.254883
+ 11128 0.986328
+ 11129 0.261475
+ 11130 0.00732422
+ 11131 0.263672
+ 11132 0.00732422
+ 11133 0.264648
+ 11134 0.980713
+ 11135 0.231445
+ 11136 0.000244141
+ 11137 0.262695
+ 11138 0.991943
+ 11139 0.228027
+ 11140 0.998535
+ 11141 0.23291
+ 11142 0.998779
+ 11143 0.260498
+ 11144 0.999023
+ 11145 0.258057
+ 11146 0.998535
+ 11147 0.260254
+ 11148 0.986328
+ 11149 0.25708
+ 11150 0.999023
+ 11151 0.275146
+ 11152 0.986328
+ 11153 0.253906
+ 11154 0.988281
+ 11155 0.283691
+ 11156 0.999756
+ 11157 0.260254
+ 11158 0.000976562
+ 11159 0.267822
+ 11160 0.999756
+ 11161 0.2854
+ 11162 0.998291
+ 11163 0.255615
+ 11164 0.000976562
+ 11165 0.280518
+ 11166 0.000244141
+ 11167 0.234131
+ 11168 0.00732422
+ 11169 0.236816
+ 11170 0.979736
+ 11171 0.266602
+ 11172 0.999023
+ 11173 0.276123
+ 11174 0.999268
+ 11175 0.260742
+ 11176 0.166016
+ 11177 0.27124
+ 11178 0.998779
+ 11179 0.272461
+ 11180 0.000244141
+ 11181 0.257324
+ 11182 0.998535
+ 11183 0.27417
+ 11184 0.980225
+ 11185 0.263672
+ 11186 0.980225
+ 11187 0.272705
+ 11188 0.991211
+ 11189 0.25708
+ 11190 0.999023
+ 11191 0.258545
+ 11192 0.986572
+ 11193 0.260986
+ 11194 0.999756
+ 11195 0.262207
+ 11196 0.980469
+ 11197 0.260742
+ 11198 0.987061
+ 11199 0.275146
+ 11200 0.980469
+ 11201 0.236816
+ 11202 0.997559
+ 11203 0.265381
+ 11204 0.998779
+ 11205 0.234375
+ 11206 0.000732422
+ 11207 0.267334
+ 11208 0.00708008
+ 11209 0.268311
+ 11210 0.000244141
+ 11211 0.269531
+ 11212 0.000732422
+ 11213 0.276855
+ 11214 0.999756
+ 11215 0.275879
+ 11216 0.000732422
+ 11217 0.280518
+ 11218 0.000244141
+ 11219 0.27832
+ 11220 0.980713
+ 11221 0.276611
+ 11222 0.000244141
+ 11223 0.149902
+ 11224 0.98877
+ 11225 0.281738
+ 11226 0.999756
+ 11227 0.285156
+ 11228 0.999756
+ 11229 0.279053
+ 11230 0.999756
+ 11231 0.27832
+ 11232 0.000244141
+ 11233 0.284424
+ 11234 0.999756
+ 11235 0.283203
+ 11236 0.000732422
+ 11237 0.290283
+ 11238 0.999756
+ 11239 0.289307
+ 11240 0.999756
+ 11241 0.289795
+ 11242 0.000732422
+ 11243 0.297363
+ 11244 0.000732422
+ 11245 0.304443
+ 11246 0.998779
+ 11247 0.30542
+ 11248 0.981201
+ 11249 0.304443
+ 11250 0.000732422
+ 11251 0.296875
+ 11252 0.000488281
+ 11253 0.3125
+ 11254 0.000488281
+ 11255 0.303223
+ 11256 0.986572
+ 11257 0.314209
+ 11258 0.988037
+ 11259 0.315186
+ 11260 0.999756
+ 11261 0.313965
+ 11262 0.000488281
+ 11263 0.321289
+ 11264 0.999756
+ 11265 0.310791
+ 11266 0.999756
+ 11267 0.303711
+ 11268 0.000244141
+ 11269 0.30542
+ 11270 0.999756
+ 11271 0.327393
+ 11272 0.999756
+ 11273 0.298096
+ 11274 0.999756
+ 11275 0.294678
+ 11276 0.000244141
+ 11277 0.32373
+ 11278 0.000488281
+ 11279 0.297119
+ 11280 0.998779
+ 11281 0.325684
+ 11282 0.998047
+ 11283 0.324219
+ 11284 0.000244141
+ 11285 0.325439
+ 11286 0.999756
+ 11287 0.304932
+ 11288 0.000244141
+ 11289 0.30542
+ 11290 0.998047
+ 11291 0.323486
+ 11292 0.000488281
+ 11293 0.330322
+ 11294 0.999756
+ 11295 0.308105
+ 11296 0.999756
+ 11297 0.302734
+ 11298 0.999756
+ 11299 0.330322
+ 11300 0.998779
+ 11301 0.306396
+ 11302 0.998535
+ 11303 0.276611
+ 11304 0.000488281
+ 11305 0.30127
+ 11306 0.00683594
+ 11307 0.333252
+ 11308 0.999756
+ 11309 0.332275
+ 11310 0.998779
+ 11311 0.311279
+ 11312 0.999756
+ 11313 0.293945
+ 11314 0.000488281
+ 11315 0.30957
+ 11316 0.999756
+ 11317 0.334717
+ 11318 0.149658
+ 11319 0.33667
+ 11320 0.999756
+ 11321 0.335693
+ 11322 0.000244141
+ 11323 0.284912
+ 11324 0.999756
+ 11325 0.333008
+ 11326 0.000488281
+ 11327 0.312744
+ 11328 0.999756
+ 11329 0.306641
+ 11330 0.998779
+ 11331 0.335205
+ 11332 0.000488281
+ 11333 0.342285
+ 11334 0.999023
+ 11335 0.312012
+ 11336 0.999512
+ 11337 0.310547
+ 11338 0.999756
+ 11339 0.305908
+ 11340 0.999756
+ 11341 0.300781
+ 11342 0.998535
+ 11343 0.304932
+ 11344 0.000244141
+ 11345 0.282227
+ 11346 0.999756
+ 11347 0.342529
+ 11348 0.000488281
+ 11349 0.305664
+ 11350 0.000244141
+ 11351 0.303711
+ 11352 0.000244141
+ 11353 0.310303
+ 11354 0.999756
+ 11355 0.343262
+ 11356 0.998779
+ 11357 0.306152
+ 11358 0.999756
+ 11359 0.305908
+ 11360 0.991943
+ 11361 0.297119
+ 11362 0.999268
+ 11363 0.29248
+ 11364 0.999756
+ 11365 0.141846
+ 11366 0.019043
+ 11367 0.348633
+ 11368 0.993164
+ 11369 0.289307
+ 11370 0.999756
+ 11371 0.293457
+ 11372 0.000244141
+ 11373 0.350342
+ 11374 0.999756
+ 11375 0.293457
+ 11376 0.999023
+ 11377 0.28833
+ 11378 0.999756
+ 11379 0.277832
+ 11380 0.999756
+ 11381 0.280762
+ 11382 0.999756
+ 11383 0.277588
+ 11384 0.999756
+ 11385 0.270508
+ 11386 0.999756
+ 11387 0.351807
+ 11388 0.999023
+ 11389 0.275635
+ 11390 0.999756
+ 11391 0.270508
+ 11392 0.999756
+ 11393 0.26709
+ 11394 0.998047
+ 11395 0.353027
+ 11396 0.999756
+ 11397 0.266113
+ 11398 0.993408
+ 11399 0.352295
+ 11400 0.999756
+ 11401 0.262939
+ 11402 0.999756
+ 11403 0.256104
+ 11404 0.999756
+ 11405 0.351807
+ 11406 0.000488281
+ 11407 0.261475
+ 11408 0.999756
+ 11409 0.256348
+ 11410 0.999756
+ 11411 0.256836
+ 11412 0.999756
+ 11413 0.26709
+ 11414 0.999756
+ 11415 0.24707
+ 11416 0.999756
+ 11417 0.356445
+ 11418 0.999756
+ 11419 0.246582
+ 11420 0.999756
+ 11421 0.246094
+ 11422 0.999756
+ 11423 0.243164
+ 11424 0.999756
+ 11425 0.239502
+ 11426 0.999756
+ 11427 0.234863
+ 11428 0.000244141
+ 11429 0.359131
+ 11430 0.999756
+ 11431 0.241211
+ 11432 0.999756
+ 11433 0.232178
+ 11434 0.000244141
+ 11435 0.230713
+ 11436 0.999023
+ 11437 0.35498
+ 11438 0.997559
+ 11439 0.245361
+ 11440 0.999756
+ 11441 0.236084
+ 11442 0.000244141
+ 11443 0.237793
+ 11444 0.000244141
+ 11445 0.237305
+ 11446 0.000244141
+ 11447 0.353516
+ 11448 0.000244141
+ 11449 0.251221
+ 11450 0.000244141
+ 11451 0.358887
+ 11452 0.999268
+ 11453 0.359375
+ 11454 0.999756
+ 11455 0.242188
+ 11456 0.999756
+ 11457 0.238037
+ 11458 0.999756
+ 11459 0.244873
+ 11460 0.145508
+ 11461 0.236328
+ 11462 0.998047
+ 11463 0.359131
+ 11464 0.999756
+ 11465 0.233887
+ 11466 0.999756
+ 11467 0.358398
+ 11468 0.999756
+ 11469 0.236572
+ 11470 0.999756
+ 11471 0.231445
+ 11472 0.999756
+ 11473 0.357666
+ 11474 0.999756
+ 11475 0.232422
+ 11476 0.999268
+ 11477 0.239746
+ 11478 0.999756
+ 11479 0.233398
+ 11480 0.999756
+ 11481 0.235596
+ 11482 0.999512
+ 11483 0.237793
+ 11484 0.00683594
+ 11485 0.237793
+ 11486 0.999756
+ 11487 0.23584
+ 11488 0.999756
+ 11489 0.349365
+ 11490 0.999756
+ 11491 0.349854
+ 11492 0.999756
+ 11493 0.235107
+ 11494 0.000244141
+ 11495 0.238037
+ 11496 0.997559
+ 11497 0.348877
+ 11498 0.147949
diff --git a/log/ac.plot b/log/ac.plot
new file mode 100644
index 0000000..783a818
--- /dev/null
+++ b/log/ac.plot
@@ -0,0 +1,3 @@
+unset logscale
+
+plot "ac.log.num" using 1 with lines title "Prediction"
diff --git a/log/model.log b/log/model.log
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/log/model.log
diff --git a/log/nn.log b/log/nn.log
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/log/nn.log
diff --git a/log/plot.sh b/log/plot.sh
new file mode 100755
index 0000000..c2451d3
--- /dev/null
+++ b/log/plot.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+gnuplot ac.plot
diff --git a/log/sse.log b/log/sse.log
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/log/sse.log
diff --git a/main.c b/main.c
new file mode 100644
index 0000000..9441941
--- /dev/null
+++ b/main.c
@@ -0,0 +1,350 @@
+#define NAME "gypsy"
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include <math.h>
+#include <ctype.h>
+#include <assert.h>
+#include <stdint.h>
+#include <errno.h>
+
+#include "util.h"
+#include "mixer.h"
+#include "coder.h"
+#include "predictor.h"
+#include "model.h"
+
+/******************************************************************************
+ * GLOBAL STATE
+ ******************************************************************************/
+
+/* Compression level (0-9) */
+int level = DEFAULT_OPTION;
+
+/* COMPRESS OR DECOMPRESS (defined in util.h) */
+int MODE;
+
+/******************************************************************************
+ * FUNCTIONS
+ ******************************************************************************/
+
+/**
+ * compress()
+ * ``````````
+ * Compress a file.
+ *
+ * @filename: Path of source file
+ * @filesize: Size of source file
+ * @enc : Encoder object
+ * Return : Nothing
+ */
+void compress(FILE *dst, FILE *src, long src_size, struct ac_t *ac)
+{
+ int i;
+ int j;
+ int p = 2048; /* Prob is (0-4096), so start this at 1/2 = 2048 */
+ int byte = 0;
+ int bit;
+ uint32_t code;
+ uint32_t word = 0;
+ uint8_t part = 0;
+
+ /* For each byte in the file */
+ for (i=0; i<src_size; i++) {
+
+ /* Read a byte from the source stream */
+ byte = getc(src);
+
+ /* For each bit in the byte */
+ for (j=7; j>=0; j--) {
+
+ bit = (byte >> j) & 1;
+
+ if (j == 0) {
+ /*
+ * Add the full byte (sans trailing '1')
+ * to the word history
+ */
+ word = (word << 8) + byte;
+ /*
+ * Use a trailing '1' bit here to ensure
+ * that consecutive zeroes are hashed to
+ * something different as this '1' gets
+ * left-shifted.
+ */
+ part = 1;
+ } else {
+ /*
+ * Add the bit to the partially-read
+ * byte.
+ */
+ part = (part << 1) | bit;
+ }
+
+ /* Pass the actual bit and prediction to the encoder */
+ ac_encode_bit(ac, p, bit);
+
+ while ((code = ac_encode_flush(ac))!=UINT32_MAX) {
+ /* Write any ready bytes to the archive */
+ putc(code, dst);
+ }
+
+ /* Predict the next bit using the model */
+ p = MODEL(word, part, bit, (j == 0));
+
+ /* Smooth the prediction with SSE */
+ p = SMOOTH(p, word, part, bit);
+ }
+ }
+
+ ac_encode_finish(ac, dst);
+}
+
+
+/**
+ * decompress()
+ * ````````````
+ * Decompress a file.
+ *
+ * @path : Intended path of target (decompressed) file.
+ * @size : Intended size of target (decomrpessed) file (recorded in header)
+ * @enc : Encoder object
+ * Return: Nothing
+ */
+void decompress(FILE *dst, FILE *src, long dst_size, struct ac_t *ac)
+{
+ int i;
+ int j;
+ int b;
+ int p = 2048;
+ int bit;
+ int byte;
+ int next_byte;
+ uint32_t word;
+ uint8_t part;
+
+ /* For each byte of the eventual (decompressed) target */
+ for (i=0; i<dst_size; i++) {
+
+ byte = 0;
+
+ /* For each bit of the byte */
+ for (j=0; j<8; j++) {
+
+ /* Decode a bit */
+ bit = ac_decode_bit(ac, p);
+
+ /* Build the byte by adding this bit */
+ byte = (byte << 1) | bit;
+
+ if (j == 7) {
+ /*
+ * Add the full byte (sans trailing '1')
+ * to the word history
+ */
+ word = (word << 8) + byte;
+ /*
+ * Use a trailing '1' bit here to ensure
+ * that consecutive zeroes are hashed to
+ * something different as this '1' gets
+ * left-shifted.
+ */
+ part = 1;
+ } else {
+ /*
+ * Add the bit to the partially-read
+ * byte.
+ */
+ part = (part << 1) | bit;
+ }
+
+ for (;;) {
+ /* Get the next byte from the source */
+ next_byte = getc(src);
+
+ /* Try to add it to the encoder */
+ if (!ac_decode_try_add_byte(ac, next_byte)) {
+ /* Push it back if unsuccessful */
+ ungetc(next_byte, src);
+ break;
+ }
+ }
+
+ /* Predict the next bit using the model */
+ p = MODEL(word, part, bit, (j == 7));
+
+ /* Smooth the prediction with SSE */
+ p = SMOOTH(p, word, part, bit);
+ }
+
+ /* Write the decoded byte to the destination. */
+ putc(byte, dst);
+ }
+}
+
+/******************************************************************************
+ * MAIN
+ ******************************************************************************/
+
+int main(int argc, char** argv)
+{
+ level = DEFAULT_OPTION;
+
+ struct ac_t ac;
+
+ char header[255]; /* Will hold the header line */
+ char compressor[255];
+
+ char *source_name;
+ char *source_path;
+ FILE *source_file = 0; // compressed file
+ long source_size;
+
+ char target_name[4096];
+ char *target_path;
+ FILE *target_file = 0;
+ long target_size;
+ long start;
+
+ if (argc < 2) {
+ printf("MEM_MAX:%d\n\n", MEM_MAX);
+ printf("Usage: "NAME" [-d] <filename>\n");
+ exit(1);
+ }
+
+ if (!strcmp(argv[1], "-d")) {
+
+ if (argc <= 3) {
+ printf("USAGE:"NAME" -d <input> <output>\n");
+ exit(1);
+ }
+
+ MODE = DECOMPRESS;
+
+ source_path = argv[2];
+ target_path = argv[3];
+
+ } else {
+ MODE = COMPRESS;
+
+ source_path = argv[1];
+ }
+
+ ilog_init(); // TODO: fix this shit!
+ stretch_init(); // TODO: fix this shit!
+ log_init();
+
+ if (MODE == COMPRESS) {
+
+ sprintf(target_name, "%s.zpaq", basename(strdup(source_path)));
+
+ target_file = fopen(target_name, "wb+");
+ source_file = fopen(source_path, "rb");
+
+ if (!target_file) {
+ printf("Error creating %s\n", target_name);
+ exit(1);
+ }
+ if (!source_file) {
+ printf("Error opening %s\n", source_path);
+ exit(1);
+ }
+
+ source_size = file_length(source_file);
+
+ /*
+ * Header format:
+ * program_name:level:source_size
+ */
+ fprintf(target_file, "%s:%d:%ld\r\n\x1A",
+ NAME,
+ level,
+ source_size
+ );
+
+ printf("Creating archive %s...\n", target_name);
+ }
+
+ if (MODE == DECOMPRESS) {
+
+ source_file = fopen(source_path, "rb+");
+ source_size = file_length(source_file);
+
+ if (!source_file) {
+ printf("Error opening %s\n", source_path);
+ exit(1);
+ }
+
+ /*
+ * Read header and get options
+ */
+ fscanf(source_file, "%255[^:]:%d:%ld\r\n\x1A",
+ &compressor,
+ &level,
+ &target_size
+ );
+
+ printf("compressor:%s\nlevel:%d\ntarget-size:%ld\n", compressor, level, target_size);
+
+ if (strcmp(compressor, NAME) != 0) {
+ printf("%s: not a "NAME" file\n", source_path);
+ exit(1);
+ }
+
+ if (level<0 || level>9) {
+ level = DEFAULT_OPTION;
+ }
+
+ printf("Inflating %s at level %d\n",
+ source_path,
+ level
+ );
+ }
+
+ if (MODE == COMPRESS) {
+
+ ac_init(&ac, target_file);
+
+ if (!(source_file = fopen(source_path, "rb"))) {
+ perror(source_path);
+ exit(1);
+ }
+
+ start = ftell(target_file);
+
+ compress(target_file, source_file, source_size, &ac);
+
+ printf("%ld -> %ld\n", source_size, ftell(target_file)-start);
+
+ } else {
+ ac_init(&ac, source_file);
+
+ /*
+ * If an output file already exists, then we will
+ * compare the result of this decompression with
+ * its contents.
+ */
+ if ((target_file = fopen(target_path, "rb"))) {
+ printf("File exists.\n");
+ fclose(target_file);
+ return 1;
+ }
+
+ /* Create a new file */
+ if (!(target_file = fopen(target_path, "wb"))) {
+ printf("Could not open file.\n");
+ exit(1);
+ }
+
+ decompress(target_file, source_file, target_size, &ac);
+
+ printf("%ld -> %ld\n", source_size, ftell(target_file));
+ }
+
+ log_close();
+
+ return 0;
+}
+
diff --git a/mixer.c b/mixer.c
new file mode 100644
index 0000000..317b22e
--- /dev/null
+++ b/mixer.c
@@ -0,0 +1,270 @@
+#include <stdlib.h>
+#include "mixer.h"
+
+/*
+ * MODEL MIXING
+ *
+ * paq8l uses a neural network to combine a large number of models. The
+ * i'th model independently predicts
+ * p1_i = p(y_j = 1 | y_0..j-1), p0_i = 1 - p1_i.
+ * The network computes the next bit probabilty
+ *
+ * p1 = squash(SUM_i w_i t_i), p0 = 1 - p1 (1)
+ *
+ * where t_i = stretch(p1_i) is the i'th input, p1_i is the prediction of
+ * the i'th model, p1 is the output prediction, stretch(p) = ln(p/(1-p)),
+ * and squash(s) = 1/(1+exp(-s)). Note that squash() and stretch() are
+ * inverses of each other.
+ *
+ * After bit y_j (0 or 1) is received, the network is trained:
+ *
+ * w_i := w_i + eta t_i (y_j - p1) (2)
+ *
+ * where eta is an ad-hoc learning rate, t_i is the i'th input, (y_j - p1)
+ * is the prediction error for the j'th input but, and w_i is the i'th
+ * weight. Note that this differs from back propagation:
+ *
+ * w_i := w_i + eta t_i (y_j - p1) p0 p1 (3)
+ *
+ * which is a gradient descent in weight space to minimize root mean square
+ * error. Rather, the goal in compression is to minimize coding cost,
+ * which is -log(p0) if y = 1 or -log(p1) if y = 0. Taking
+ * the partial derivative of cost with respect to w_i yields (2).
+ */
+
+/******************************************************************************
+ * NN STUFF
+ ******************************************************************************/
+
+/**
+ * dot_product()
+ * `````````````
+ * Take the dot product of two n-tuples @t, @w.
+ *
+ * @t : Vector
+ * @w : Vector
+ * @n : Length of @t and @w
+ * Return: Dot product of @t and @w
+ *
+ * NOTE
+ * Returns the dot product of n elements. @n is rounded
+ * up to a multiple of 8. The result is scaled down by
+ * 8 bits.
+ *
+ * NOTE
+ * Uses MMX and is about 8 times faster than a C implementation
+ */
+extern int dot_product(short *t, short *w, int n); /* in NASM */
+
+/**
+ * train()
+ * ```````
+ * Train the neural network
+ *
+ * @t : Input array
+ * @w : Weight array
+ * @n : Length of @t and @w
+ * @err : Error
+ * Return: Nothing
+ *
+ * NOTE:
+ * We are training the neural network by adjusting weights w[n]
+ * given inputs t[n] and an error.
+ *
+ * w[i] += t[i] * err, i=0..n-1
+ *
+ * t, w, and err are signed 16-bit values (+- 32K)
+ *
+ * @err is a scaled 16-bit value (representing +- 1/2).
+ * @w[i] is clamped to +- 32K and rounded.
+ * @n is rounded up to a multiple of 8.
+ */
+extern void train(short *t, short *w, int n, int err); /* in NASM */
+
+
+/******************************************************************************
+ * NN INTERFACE
+ ******************************************************************************/
+
+/**
+ * nn_init()
+ * `````````
+ * Initialize the neural network structure.
+ *
+ * @nn : Reference to neural network mixer.
+ * @n : Number of inputs to each neural network
+ * @m : Number of neural networks
+ * @s : Number of selectable inputs (is this state levels?)
+ * @w : Initial weight
+ * Return: Nothing
+ */
+void nn_init(struct nn_t *nn, int n, int m, int s, int w)
+{
+ char *mem;
+ int i;
+
+ if (s == -1) {
+ s = 1;
+ }
+
+ if (w == -1) {
+ w = 0;
+ }
+
+ /* Round up to a multiple of 8. */
+ nn->N = ((n+7) & -8);
+ nn->M = m;
+ nn->S = s;
+
+ nn->tx = calloc_align(16, nn->N * sizeof(short));
+ nn->wx = calloc_align(16, nn->N * nn->M * sizeof(short));
+ nn->pr = (int *)calloc(nn->S*sizeof(short), 1);
+ nn->ctx = (int *)calloc(nn->S*sizeof(short), 1);
+
+ nn->head = 0;
+ nn->base = 0;
+ nn->nx = 0;
+ nn->nn_ptr = 0;
+
+ assert(n>0 && nn->N>0 && (nn->N&7)==0 && nn->M>0);
+
+ for (i=0; i<nn->S; i++) {
+ nn->pr[i] = 2048;
+ }
+
+ for (i=0; i<nn->N*nn->M; i++) {
+ nn->wx[i] = w;
+ }
+
+ if (nn->S > 1) {
+ nn->nn_ptr = calloc(sizeof(struct nn_t), 1);
+
+ /* They can operate in a chain, so we recurse here. */
+ nn_init(nn->nn_ptr, nn->S, 1, 1, 0x7FFF);
+ }
+}
+
+
+/**
+ * nn_train()
+ * ``````````
+ * Train the network, with the expected output being @bit.
+ *
+ * @nn : Reference to neural network mixer
+ * @bit : Bit to train against.
+ * Return: Nothing
+ *
+ * NOTE:
+ * The point here is to adjust weights to minimize the
+ * coding cost of the last prediction.
+ */
+void nn_train(struct nn_t *nn, int bit)
+{
+ int i;
+ int err;
+
+ for (i=0; i<nn->head; i++) {
+ err = ((bit<<12) - nn->pr[i])*7;
+
+ assert(err >= -32768 && err < 32768);
+
+ /* ASM */
+ train(&nn->tx[0], &nn->wx[nn->ctx[i] * nn->N], nn->nx, err);
+ }
+
+ /* Reset all of the vectors */
+ nn->nx = nn->base = nn->head = 0;
+}
+
+
+/**
+ * nn_input()
+ * ``````````
+ * Add an input to the input array. (Call up to N times)
+ *
+ * @nn : Reference to neural network mixer.
+ * @input: Input value.
+ * Return: Nothing.
+ *
+ * NOTE
+ * input(stretch(p)) inputs a prediction from one of N models.
+ * The prediction should be positive to predict a 1 bit, and
+ * negative to predict a 0 bit, nominally +-256 to +-2K.
+ *
+ * The maximum allowed value is +-32K but, using such large
+ * values may cause overflow if N is large.
+ */
+void nn_input(struct nn_t *nn, int input)
+{
+ assert(nn->nx < nn->N);
+ nn->tx[nn->nx++] = input;
+}
+
+
+/**
+ * nn_set()
+ * ````````
+ * Load context into the mixer. (Call S times, sum of ranges <= M)
+ *
+ * @m : Reference to neural network mixer
+ * @context: Context value
+ * @range : Maximum size of context
+ * Return : Nothing
+ *
+ * NOTE
+ * set(ctx, range) selects ctx as one of 'range' neural networks
+ * to use. 0 <= ctx < range. Should be called up to S times such
+ * that the total of the ranges is <= M.
+ */
+void nn_set(struct nn_t *nn, int context, int range)
+{
+ assert(range >= 0);
+ assert(nn->head < nn->S);
+ assert(context >= 0);
+ assert(nn->base + context < nn->M);
+
+ nn->ctx[nn->head++] = nn->base + context;
+ nn->base += range;
+}
+
+
+/**
+ * nn_predict()
+ * ````````````
+ * Predict the next bit
+ *
+ * @nn : Reference to neural network mixer
+ * @bit : Observed bit
+ * Return: Probability value (12 bits) (0-4095)
+ *
+ * NOTE
+ * predict() returns the output prediction that the next bit
+ * is 1 as a 12-bit number (0 to 4095).
+ */
+int nn_predict(struct nn_t *nn, int bit)
+{
+ int i;
+
+ while (nn->nx & 7) {
+ nn->tx[nn->nx++] = 0; /* pad */
+ }
+
+ if (nn->nn_ptr != NULL) {
+ /* Combine outputs */
+ nn_train(nn->nn_ptr, bit);
+
+ for (i=0; i<nn->head; i++) {
+ nn->pr[i] = squash(dot_product(&nn->tx[0], &nn->wx[nn->ctx[i]*nn->N], nn->nx)>>5);
+ nn_input(nn->nn_ptr, stretch(nn->pr[i]));
+ }
+
+ nn_set(nn->nn_ptr, 0, 1);
+
+ /* Recurse down the chain of neural networks */
+ return nn_predict(nn->nn_ptr, bit);
+ } else {
+ /* S=1 context */
+ return nn->pr[0] = squash(dot_product(&nn->tx[0], &nn->wx[0], nn->nx)>>8);
+ }
+}
+
diff --git a/mixer.h b/mixer.h
new file mode 100644
index 0000000..c0808b3
--- /dev/null
+++ b/mixer.h
@@ -0,0 +1,26 @@
+#ifndef _MIXER_H
+#define _MIXER_H
+
+#include "util.h"
+
+struct nn_t {
+ int N; /* Number of inputs to each neural network */
+ int M; /* Number of neural networks */
+ int S; /* Number of selectable inputs */
+ short *tx; /* Input vector */
+ short *wx; /* Weight vector */
+ int *pr; /* Probability vector */
+ int *ctx; /* Context hashes (index) */
+ int head; /* Write head (index) for input arrays */
+ int base; /* Value related to maximum value of input datatypes */
+ int nx; /* Length of @tx, @wx, and @pr vectors */
+ struct nn_t *nn_ptr; /* Another neural network mixer */
+};
+
+void nn_init (struct nn_t *nn, int n, int m, int s, int w);
+void nn_train (struct nn_t *nn, int bit);
+void nn_input (struct nn_t *nn, int input);
+void nn_set (struct nn_t *nn, int context, int range);
+int nn_predict(struct nn_t *nn, int bit);
+
+#endif
diff --git a/model.c b/model.c
new file mode 100644
index 0000000..46937f1
--- /dev/null
+++ b/model.c
@@ -0,0 +1,226 @@
+#include "model.h"
+
+/******************************************************************************
+ * SMALL STATIONARY CONTEXT MAP
+ *
+ * Maps a context hash to a probability.
+ * The probability is looked up directly using the context hash.
+ *
+ * The size of the table should be a power of 2 in bytes.
+ *
+ * The size of the context hash should be < m/512.
+ * High bits are discarded.
+ ******************************************************************************/
+
+/*
+ * NOTE:
+ * For inputs that have many unique contexts, in which case the
+ * various contexts and their probabilities will likely only be
+ * visited a few times, or only once, then the UPDATE_RATE should
+ * be lower, in order to maximize the step in predictions during
+ * the byte that context is active.
+ *
+ * A range from 2-8 is what I generally use. Remember, the rate is
+ * just a bit shift to scale the factor you add or subtract to the
+ * probability.
+ */
+#define UPDATE_RATE 2
+
+struct ssm_t {
+ uint16_t *table; /* Table of bit history */
+ int context; /* Current context */
+ int size; /* Size of table */
+ uint16_t *current; /* Current history item */
+};
+
+
+/**
+ * ssm_init()
+ * ``````````
+ * Initialize a small stationary context map
+ *
+ * @map : Reference to the type
+ * @memory: Bytes available to allocate
+ * Return : Nothing
+ */
+void ssm_init(struct ssm_t *map, int bytes)
+{
+ int i;
+
+ map->table = calloc(bytes/2*sizeof(uint16_t), 1);
+ map->size = bytes/2;
+ map->context = 0;
+
+ for (i=0; i<map->size; i++) {
+ /*
+ * The initial probability value is 1/2.
+ * A 16-bit probability value can range
+ * from 0-65536, so 1/2 is 65536/2 = 32768.
+ */
+ map->table[i] = 32768;
+ }
+
+ map->current = &map->table[0];
+}
+
+/**
+ * ssm_set()
+ * `````````
+ * Set a context
+ *
+ * @map : Reference to the type
+ * @context: Context
+ * Return : Nothing
+ */
+void ssm_set(struct ssm_t *map, uint32_t context)
+{
+ /*
+ * Mod by (map->size - 256), so we can add the
+ * last_byte (a byte has values (0-255)) to the
+ * context later and obtain a value that is still
+ * within our table.
+ */
+ map->context = context*256 & map->size-256;
+ map->current = &map->table[map->context];
+}
+
+/*
+ * A stationary map stores the probability that the next bit
+ * will be a 1 as an unsigned 16-bit fixed-point integer.
+ *
+ * 16-bit types have values (0-64436).
+ *
+ * Initially all the probabilities are set to at 1/2, which is
+ * the value 64436/2 = 32768 in our fixed-point representation.
+ *
+ * Separate "p1" probabilities are stored for each context, by
+ * placing the "p1" values in a table, indexed by a hash of the
+ * context, allowing us to look up, if we find ourself in a
+ * particular context, what the probability is that the next bit
+ * will be a 1.
+ *
+ * Once the actual bit is observed, the probability "p1" in that
+ * context is updated, according to the following rule:
+ *
+ * if the bit is a 0:
+ * p = p - Kp
+ *
+ * if the bit is a 1:
+ * p = p + K(1-p)
+ *
+ * Where the '1' in K(1-p) is actually UINT16_MAX, since we are
+ * in a fixed-point representation of a real number from (0-1].
+ *
+ * Roughly, if we see a 0, we decrease the probability of seeing
+ * a 1. If we see a 1, we increase the probability of seeing a 1.
+ * It's that simple.
+ *
+ * K is a "learning rate" which adjusts how large the steps in our
+ * probability should be.
+ */
+
+void ssm_update(struct ssm_t *map, uint8_t last_byte, int last_bit)
+{
+ /*
+ * UPDATE THE HISTORY FOR THE LAST BIT
+ */
+ uint16_t prob;
+
+ prob = *map->current;
+
+ if (last_bit == 0) {
+ prob = prob - (prob >> UPDATE_RATE);
+ } else {
+ prob = prob + ((UINT16_MAX - prob) >> UPDATE_RATE);
+ }
+
+ *map->current = prob;
+}
+
+/**
+ * ssm_predict()
+ * `````````````
+ * Write a prediction to a mixer
+ *
+ * @map : Reference to the type
+ * @mixer: Reference to a mixer
+ * Return: Nothing
+ */
+int ssm_predict(struct ssm_t *map)
+{
+ /*
+ * We have a 16-bit integer, but our probability values
+ * go from (0-4096), that is, a 12-bit integer. So we
+ * have to scale down by 4 bits in order to get into that
+ * range (0-4096).
+ */
+ return stretch(*map->current >> 4);
+}
+
+
+/******************************************************************************
+ * MODEL
+ ******************************************************************************/
+
+int MODEL(uint32_t context, uint8_t last_byte, int last_bit, int do_update)
+{
+ static struct ssm_t cm;
+ static struct nn_t mixer;
+ static uint32_t context_hash;
+ static int first = 1;
+
+ uint8_t byte0;
+ uint8_t byte1;
+ uint8_t byte2;
+ int i;
+
+ /*
+ * Initialize the context models
+ * and the mixer
+ */
+ if (first) {
+ ssm_init(&cm, MEM*32);
+
+ /*
+ * 512 inputs
+ * 1040 neural networks
+ * 4 selectable inputs
+ * 128 default weight
+ */
+ nn_init(&mixer, 512, 1040, 4, 128);
+
+ first = 0;
+ }
+
+ nn_train(&mixer, last_bit);
+ nn_input(&mixer, 256);
+
+ /*
+ * When we have no bits in buf->last_byte, we
+ * are on a new byte boundary, so we should
+ * update the order 0-11 context hashes.
+ */
+ if (do_update == 1) {
+
+ context_hash = context_hash*257 + (context & 0x000000FF) + 1;
+ ssm_set(&cm, context_hash);
+ }
+
+ byte0 = (context & 0x000000FF);
+ byte1 = (context & 0x0000FF00) >> 8;
+ byte2 = (context & 0x00FF0000) >> 16;
+
+ int p = ssm_predict(&cm);
+
+ /* How did we do? */
+ ssm_update(&cm, byte0, last_bit);
+
+ nn_input(&mixer, p);
+
+ nn_set(&mixer, last_byte, 256);
+ nn_set(&mixer, byte1, 256);
+ nn_set(&mixer, byte2, 256);
+
+ return nn_predict(&mixer, last_bit);
+}
+
diff --git a/model.h b/model.h
new file mode 100644
index 0000000..aad957e
--- /dev/null
+++ b/model.h
@@ -0,0 +1,10 @@
+#ifndef _MODELS_H
+#define _MODELS_H
+
+#include "util.h"
+#include "mixer.h"
+
+int MODEL(uint32_t context, uint8_t last_byte, int last_bit, int bits_left);
+int SIMPLE(uint32_t context, uint8_t last_byte, int last_bit, int bits_left);
+
+#endif
diff --git a/predictor.c b/predictor.c
new file mode 100644
index 0000000..953e1d0
--- /dev/null
+++ b/predictor.c
@@ -0,0 +1,217 @@
+#include "predictor.h"
+/*
+ * SECONDARY SYMBOL ESTIMATION
+ *
+ * Maps the probability of the next bit being 1 and a context
+ * into a new probability that the next bit will be 1.
+ *
+ * After each guess, the state is updated to improve future
+ * guesses.
+ *
+ * The input probability (p1) is stretched and divided into 32
+ * segments to combine with other contexts. The output is
+ * interpolated between two adjacent quantized values of
+ * stretch(p1).
+ */
+
+/* Determines the learning rate for updates (smaller = faster, default=8) */
+#define APM_RATE 8
+
+struct apm_t {
+ int index;
+ int n;
+ uint16_t *t;
+};
+
+/**
+ * apm_learn()
+ * ```````````
+ * Compute adjusted probability in context @context (0 to n-1)
+ *
+ * @apm : Reference to APM structure
+ * @p : Probability that the next bit will be 1
+ * @context: Context in which the prediction was made (0 to n-1)
+ * @bit : Actual observed bit.
+ * Return : Adjusted probability that next bit will be 1 scaled to (0-65535)
+ */
+void apm_learn(struct apm_t *apm, int bit)
+{
+ int g;
+
+ g = (bit<<16) + (bit<<APM_RATE) - bit - bit;
+
+ apm->t[apm->index] += g - apm->t[apm->index] >> APM_RATE;
+ apm->t[apm->index+1] += g - apm->t[apm->index+1] >> APM_RATE;
+}
+
+/**
+ * apm_prob()
+ * ``````````
+ * Compute adjusted probability in context @context (0 to n-1)
+ *
+ * @apm : Reference to APM structure
+ * @p : Probability that the next bit will be 1
+ * @context: Context in which the prediction was made (0 to n-1)
+ * Return : Adjusted probability that next bit will be 1 scaled to (0-65535)
+ */
+int apm_prob(struct apm_t *apm, int p, int context)
+{
+ int w; /* Interpolation weight (33 points) */
+
+ p = stretch(p);
+
+ w = p & 127;
+
+ apm->index = (p+2048>>7)+context*33;
+
+ return apm->t[apm->index]*(128-w) + apm->t[apm->index+1]*w >> 11;
+}
+
+/**
+ * apm_init()
+ * ``````````
+ * Initialize an APM structure
+ *
+ * @apm : Reference to APM structure
+ * @n : Number of contexts to accomodate
+ * Return: Nothing
+ */
+void apm_init(struct apm_t *apm, int n)
+{
+ int i;
+ int j;
+
+ apm->index = 0;
+
+ if (!apm->t) {
+ apm->t = malloc(n*33*sizeof(uint16_t));
+ }
+
+ for (i=0; i<n; i++) {
+ for (j=0; j<33; j++) {
+ if (i == 0) {
+ apm->t[i*33+j] = squash((j-16)*128)*16;
+ } else {
+ apm->t[i*33+j] = apm->t[j];
+ }
+ }
+ }
+}
+
+/**
+ * h2()
+ * ````
+ * Hash two 32-bit integers into one 32-bit integer
+ *
+ * @a : 32-bit integer
+ * @b : 32-bit integer
+ * Return: Hash of @a and @b
+ */
+uint32_t h2(uint32_t a, uint32_t b)
+{
+ uint32_t c;
+ uint32_t d;
+ uint32_t e;
+ uint32_t h;
+
+ c = 0xFFFFFFFF;
+ d = 0xFFFFFFFF;
+ e = 0xFFFFFFFF;
+
+ h = a*200002979U+b*30005491U+c*50004239U+d*70004807U+e*110002499U;
+
+ return h^h>>9^a>>2^b>>3^c>>4^d>>5^e>>6;
+}
+
+/**
+ * h3()
+ * ````
+ * Hash three 32-bit integers into one 32-bit integer
+ *
+ * @a : 32-bit integer
+ * @b : 32-bit integer
+ * @c : 32-bit integer
+ * Return: Hash of @a, @b, and @c
+ */
+uint32_t h3(uint32_t a, uint32_t b, uint32_t c)
+{
+ uint32_t d;
+ uint32_t e;
+ uint32_t h;
+
+ d = 0xFFFFFFFF;
+ e = 0xFFFFFFFF;
+
+ h = a*200002979U+b*30005491U+c*50004239u+d*70004807U+e*110002499U;
+
+ return h^h>>9^a>>2^b>>3^c>>4^d>>5^e>>6;
+}
+
+
+static struct apm_t A1;
+static struct apm_t A2;
+static struct apm_t A3;
+static struct apm_t A4;
+
+static int APM_is_active = 0;
+
+
+int apm_adjust(int pr, uint32_t cx, uint8_t part, int bit)
+{
+ uint32_t hash0;
+ uint32_t hash1;
+ uint32_t hash2;
+
+ int pr2;
+ int pr3;
+ int pr4;
+
+ /* Initialize these static folks the first time */
+ if (APM_is_active == 0) {
+ apm_init(&A1, 256);
+ apm_init(&A2, 0x10000);
+ apm_init(&A3, 0x10000);
+ apm_init(&A4, 0x10000);
+
+ /* Prevent this branch from happening again */
+ APM_is_active = 1;
+ }
+
+ /* Train the APMs from the last time */
+ apm_learn(&A1, bit);
+ apm_learn(&A2, bit);
+ apm_learn(&A3, bit);
+ apm_learn(&A4, bit);
+
+ /* Hash the order 0, order 1, and order 2 contexts into indices */
+ hash0 = part+256*(cx&0x000000FF);
+ hash1 = part ^ h2(cx&0x000000FF, cx&0x0000FF00>>8);
+ hash2 = part ^ h3(cx&0x000000FF, cx&0x0000FF00>>8, cx&0x00FF0000>>16);
+
+ /*
+ * There are 2 APM stages in series:
+ *
+ * p1 := (p1 + 3 APM(order 0, p1)) / 4.
+ * p1 := (APM(order 1, p1) + 2 APM(order 2, p1) + APM(order 3, p1)) / 4.
+ */
+ pr = (apm_prob(&A1, pr, part) * 3 + pr) >> 2;
+
+ pr2 = apm_prob(&A2, pr, hash0 & 0xFFFF);
+ pr3 = apm_prob(&A3, pr, hash1 & 0xFFFF);
+ pr4 = apm_prob(&A4, pr, hash2 & 0xFFFF);
+
+ return (pr2 + pr3*2 + pr4+2) >> 2;
+}
+
+#define USE_SSE
+
+int SMOOTH(int p, uint32_t context, uint8_t part, int bit)
+{
+ #ifdef USE_SSE
+ return apm_adjust(p, context, part, bit);
+ #else
+ return p;
+ #endif
+}
+
+
diff --git a/predictor.h b/predictor.h
new file mode 100644
index 0000000..411062e
--- /dev/null
+++ b/predictor.h
@@ -0,0 +1,8 @@
+#ifndef _PREDICTOR_H
+#define _PREDICTOR_H
+
+#include "util.h"
+
+int SMOOTH(int p, uint32_t context, uint8_t part, int bit);
+
+#endif
diff --git a/util.c b/util.c
new file mode 100644
index 0000000..8870a86
--- /dev/null
+++ b/util.c
@@ -0,0 +1,269 @@
+#include <stdint.h>
+#include <stdlib.h>
+#include <time.h>
+#include "util.h"
+
+int file_length(FILE *file)
+{
+ int pos;
+ int end;
+
+ pos = (int)ftell(file);
+
+ fseek(file, 0, SEEK_END);
+
+ end = (int)ftell(file);
+
+ /* Put it back where you found it */
+ fseek(file, pos, SEEK_SET);
+
+ return end;
+}
+
+void *calloc_align(int boundary, size_t size)
+{
+ char *mem;
+
+ mem = (char *)calloc(size, 1);
+ return (void *)(mem+boundary-(((long)mem)&(boundary-1)));
+}
+
+/**
+ * print_status()
+ * ``````````````
+ * Print the progress of the algorithm.
+ *
+ * bytes : Number of bytes (de)compressed so far
+ * Return: nothing
+ */
+void print_status(int bytes)
+{
+ if (bytes > 0 && !(bytes & 0x3fff)) {
+ printf("%12d\b\b\b\b\b\b\b\b\b\b\b\b", bytes);
+ fflush(stdout);
+ }
+}
+
+/* min, max functions */
+int min(int a, int b)
+{
+ return a<b?a:b;
+}
+
+int max(int a, int b)
+{
+ return a<b?b:a;
+}
+
+static uint8_t ilog_table[65536];
+
+/**
+ * ilog_init()
+ * ```````````
+ * Pre-compute a table used to look up values for ilog()
+ *
+ * Return: nothing.
+ *
+ * NOTE
+ * The technique we're using to build the table is numerical
+ * integration of 1/x, since the result of that integral is
+ * ln x.
+ */
+void ilog_init(void)
+{
+ int i;
+
+ uint32_t x = 14155776;
+
+ for (i=2; i<65536; ++i) {
+ /* The numerator is 2^29 / ln 2 */
+ x += 774541002 / (i*2-1);
+ ilog_table[i] = x>>24;
+ }
+}
+
+/**
+ * ilog()
+ * ``````
+ * Compute the inverse logarithm of 1/x
+ *
+ * @x : The value to find the inverse logarithm of.
+ * Return: ln^(-1) (1/x)
+ */
+int ilog(uint16_t x)
+{
+ return ilog_table[x];
+}
+
+/**
+ * llog()
+ * ``````
+ * Compute the inverse logarithm of 1/x, where x is 32-bits.
+ *
+ * @x : The value to find the inverse logarithm of.
+ * Return: ln^(-1) (1/x)
+ */
+int llog(uint32_t x)
+{
+ if (x >= 0x1000000) {
+ return 256 + ilog(x>>16);
+ } else if (x >= 0x10000) {
+ return 128 + ilog(x>>8);
+ } else {
+ return ilog(x);
+ }
+}
+
+
+/**
+ * squash()
+ * ````````
+ * Quickly compute the logistic function for @d.
+ *
+ * @d : The value to be "squashed"
+ * Return: 1/(1 + e^(-d)), scaled to 12 bits (0-4096)
+ *
+ * NOTE
+ * The logistic function is a common choice for the activation or
+ * "squashing" function in a neural network and other applications.
+ * Its purpose is to clip large magnitudes smoothly (differentiably)
+ * in order to keep the response of the neural network or other system
+ * bounded.
+ *
+ * NOTE
+ * The input @d is scaled down by 8 bits.
+ * The output is scaled by 12 bits (0-4096)
+ */
+int squash(int d)
+{
+ static const int t[33] = {
+ 1 ,2 ,3 ,6 ,10 ,16 ,27 ,45 ,73 ,120 ,194 ,
+ 310 ,488 ,747 ,1101,1546,2047,2549,2994,3348,3607,3785,
+ 3901,3975,4022,4050,4068,4079,4085,4089,4092,4093,4094
+ };
+
+ int w;
+
+ if (d > 2047) {
+ return 4095;
+ }
+
+ if (d < -2047) {
+ return 0;
+ }
+
+ /*
+ * 127_dec = 011111111_bin, so we are getting everything but the
+ * high-order bit of the low-order byte of @d.
+ */
+ w = d & 127;
+
+ d = (d>>7)+16;
+
+ return ((t[d]*(128-w)) + (t[(d+1)]*w+64)) >> 7;
+}
+
+
+static int stretch_table[4096];
+
+/**
+ * stretch_init()
+ * ``````````````
+ * Pre-compute a table used to look up values for stretch().
+ * Return: Nothing
+ */
+int stretch_init()
+{
+ int pi = 0;
+ int x;
+ int i;
+ int j;
+
+ /*
+ * We're literally going to invert the squash()
+ * function and store the results in a table.
+ */
+ for (x=-2047; x<=2047; x++) {
+ i = squash(x);
+ for (j=pi; j<=i; j++) {
+ stretch_table[j] = x;
+ }
+ pi = i+1;
+ }
+
+ stretch_table[4095] = 2047;
+}
+
+/**
+ * stretch()
+ * `````````
+ * Quickly compute the logit function, the inverse of the logistic function.
+ *
+ * @p : Probability to compute
+ * Return: ln(p/(1-p))
+ *
+ * NOTE
+ * When @p is a probability, stretch(p) gives the "log-odds", that is,
+ * the logarithm of the odds p/(1-p).
+ *
+ * NOTE
+ * The output is scaled by 8 bits and has a range (-2047 to 2047)
+ * representing (-8 to 8).
+ *
+ * The input @p is scaled by 12 bits, and has a range (0 to 4095)
+ */
+int stretch(int p)
+{
+ assert(p>=0 && p<4096);
+
+ return stretch_table[p];
+}
+
+
+FILE *LOG_AC;
+FILE *LOG_NN;
+FILE *LOG_SSE;
+FILE *LOG_MODEL;
+
+int log_interval = 10;
+int logi = 0;
+
+void log_init(void)
+{
+ LOG_AC = fopen("./log/ac.log", "w+");
+ LOG_NN = fopen("./log/nn.log", "w+");
+ LOG_SSE = fopen("./log/sse.log", "w+");
+ LOG_MODEL = fopen("./log/model.log", "w+");
+}
+
+void log_close(void)
+{
+ if (LOG_AC != NULL) {
+ fclose(LOG_AC);
+ }
+ if (LOG_NN != NULL) {
+ fclose(LOG_NN);
+ }
+ if (LOG_SSE != NULL) {
+ fclose(LOG_SSE);
+ }
+}
+
+void log_msg(FILE *file, const char *fmt, ...)
+{
+ if (logi++ > 10) {
+ logi = 0;
+ } else {
+ return;
+ }
+
+ va_list ap;
+
+ if (file != NULL) {
+ va_start(ap, fmt);
+ vfprintf(file, fmt, ap);
+ va_end(ap);
+ }
+}
+
+
diff --git a/util.h b/util.h
new file mode 100644
index 0000000..8ecd91f
--- /dev/null
+++ b/util.h
@@ -0,0 +1,79 @@
+#ifndef _UTILS_H
+#define _UTILS_H
+
+#include <stdlib.h>
+#include <stdarg.h>
+#include <stdio.h>
+#include <assert.h>
+#include <stdint.h>
+
+/******************************************************************************
+ * UTILITY/MATH FUNCTIONS
+ ******************************************************************************/
+
+void ilog_init(void);
+int ilog(uint16_t x);
+int llog(uint32_t x);
+int squash(int d);
+int stretch_init(void);
+int stretch(int p);
+int min(int a, int b);
+int max(int a, int b);
+void print_status(int bytes);
+int file_length(FILE *file);
+void *calloc_align(int boundary, size_t size);
+
+/******************************************************************************
+ * MACROS FOR PRINTING BYTES
+ ******************************************************************************/
+
+#define BYTETOBINARYPATTERN "%d%d%d%d%d%d%d%d"
+#define BYTETOBINARY(byte) \
+ (byte & 0x80 ? 1 : 0), \
+ (byte & 0x40 ? 1 : 0), \
+ (byte & 0x20 ? 1 : 0), \
+ (byte & 0x10 ? 1 : 0), \
+ (byte & 0x08 ? 1 : 0), \
+ (byte & 0x04 ? 1 : 0), \
+ (byte & 0x02 ? 1 : 0), \
+ (byte & 0x01 ? 1 : 0)
+
+#define FMT_U8 "%d%d%d%d%d%d%d%d"
+#define FMT_U16 FMT_U8 FMT_U8
+#define FMT_U32 FMT_U16 FMT_U16
+
+#define FMT_U8S "%d%d%d%d%d%d%d%d "
+#define FMT_U16S FMT_U8S FMT_U8S
+#define FMT_U32S FMT_U16S FMT_U16S
+
+#define VAL_U8(u8) BYTETOBINARY(u8)
+#define VAL_U16(u16) BYTETOBINARY(u16>>8), BYTETOBINARY(u16)
+#define VAL_U32(u32) BYTETOBINARY(u32>>24), BYTETOBINARY(u32>>16), VAL_U16(u32)
+
+/******************************************************************************
+ * SOME GLOBAL STUFF
+ ******************************************************************************/
+
+#define MEM (0x10000<<level)
+#define MEM_MAX (0x10000<<9)
+
+#ifndef DEFAULT_OPTION
+#define DEFAULT_OPTION 5
+#endif
+
+#define COMPRESS 1
+#define DECOMPRESS 0
+
+extern int MODE; /* COMPRESS or DECOMPRESS, set in main() (main.c) */
+extern int level; /* Compression level (0-9), set in main() (main.c) */
+
+void log_init(void);
+void log_msg(FILE *file, const char *fmt, ...);
+void log_close(void);
+
+extern FILE *LOG_AC;
+extern FILE *LOG_NN;
+extern FILE *LOG_SSE;
+extern FILE *LOG_MODEL;
+
+#endif