From: drowe67 Date: Tue, 21 May 2013 11:06:31 +0000 (+0000) Subject: tweaks to and uts support stm32f4 port X-Git-Url: http://git.whiteaudio.com/gitweb/?a=commitdiff_plain;h=da0584a82dc82ed90707c14aed114d8661cb8e92;p=freetel-svn-tracking.git tweaks to and uts support stm32f4 port git-svn-id: https://svn.code.sf.net/p/freetel/code@1256 01035d8c-6547-0410-b346-abe4f91aad63 --- diff --git a/codec2-dev/unittest/Makefile.am b/codec2-dev/unittest/Makefile.am index df6e3272..998446fb 100644 --- a/codec2-dev/unittest/Makefile.am +++ b/codec2-dev/unittest/Makefile.am @@ -3,7 +3,7 @@ AUTOMAKE_OPTS = gnu NAME = libcodec2 AM_CPPFLAGS = $(AM_CFLAGS) -noinst_PROGRAMS = genres genlsp extract vqtrain vqtrainjnd tnlp tinterp tquant vq_train_jvm scalarlsptest tfdmdv t48_8 lspsync create_interleaver tlspsens vqtrainph genphdata genampdata polar2rect vqtrainsp tprede pre de tfifo +noinst_PROGRAMS = genres genlsp extract vqtrain vqtrainjnd tnlp tinterp tquant vq_train_jvm scalarlsptest tfdmdv t48_8 lspsync create_interleaver tlspsens vqtrainph genphdata genampdata polar2rect vqtrainsp tprede pre de tfifo raw2h c2validate genres_SOURCES = genres.c ../src/lpc.c genres_LDADD = $(lib_LTLIBRARIES) @@ -15,7 +15,7 @@ genlsp_LDFLAGS = $(LIBS) extract_SOURCES = extract.c extract_LDADD = $(lib_LTLIBRARIES) -extract_LDFLAGS = $(LIBS) +extract_LDFLAGS = $(LIBS) vqtrain_SOURCES = vqtrain.c vqtrain_LDADD = $(lib_LTLIBRARIES) @@ -103,3 +103,12 @@ de_LDFLAGS = $(LIBS) tfifo_SOURCES = tfifo.c ../src/fifo.c tfifo_LDADD = $(lib_LTLIBRARIES) -lpthread tfifo_LDFLAGS = $(LIBS) + +raw2h_SOURCES = raw2h.c +raw2h_LDADD = $(lib_LTLIBRARIES) +raw2h_LDFLAGS = $(LIBS) + +c2validate_CFLAGS = -D__UNITTEST__ +c2validate_SOURCES = c2validate.c +c2validate_LDADD = $(lib_LTLIBRARIES) ../src/libcodec2.la +c2validate_LDFLAGS = $(LIBS) \ No newline at end of file diff --git a/codec2-dev/unittest/Makefile.in b/codec2-dev/unittest/Makefile.in index 7ab79dcb..aac2791c 100644 --- a/codec2-dev/unittest/Makefile.in +++ b/codec2-dev/unittest/Makefile.in @@ -43,7 +43,8 @@ noinst_PROGRAMS = genres$(EXEEXT) genlsp$(EXEEXT) extract$(EXEEXT) \ lspsync$(EXEEXT) create_interleaver$(EXEEXT) tlspsens$(EXEEXT) \ vqtrainph$(EXEEXT) genphdata$(EXEEXT) genampdata$(EXEEXT) \ polar2rect$(EXEEXT) vqtrainsp$(EXEEXT) tprede$(EXEEXT) \ - pre$(EXEEXT) de$(EXEEXT) tfifo$(EXEEXT) + pre$(EXEEXT) de$(EXEEXT) tfifo$(EXEEXT) raw2h$(EXEEXT) \ + c2validate$(EXEEXT) subdir = unittest DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 @@ -53,6 +54,9 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ mkinstalldirs = $(install_sh) -d CONFIG_CLEAN_FILES = PROGRAMS = $(noinst_PROGRAMS) +am_c2validate_OBJECTS = c2validate-c2validate.$(OBJEXT) +c2validate_OBJECTS = $(am_c2validate_OBJECTS) +c2validate_DEPENDENCIES = ../src/libcodec2.la am_create_interleaver_OBJECTS = create_interleaver.$(OBJEXT) create_interleaver_OBJECTS = $(am_create_interleaver_OBJECTS) create_interleaver_DEPENDENCIES = @@ -91,6 +95,9 @@ polar2rect_DEPENDENCIES = am_pre_OBJECTS = pre.$(OBJEXT) lpc.$(OBJEXT) pre_OBJECTS = $(am_pre_OBJECTS) pre_DEPENDENCIES = +am_raw2h_OBJECTS = raw2h.$(OBJEXT) +raw2h_OBJECTS = $(am_raw2h_OBJECTS) +raw2h_DEPENDENCIES = am_scalarlsptest_OBJECTS = scalarlsptest.$(OBJEXT) quantise.$(OBJEXT) \ lpc.$(OBJEXT) lsp.$(OBJEXT) dump.$(OBJEXT) kiss_fft.$(OBJEXT) \ $(am__objects_1) @@ -157,23 +164,25 @@ LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ -SOURCES = $(create_interleaver_SOURCES) $(de_SOURCES) \ - $(extract_SOURCES) $(genampdata_SOURCES) $(genlsp_SOURCES) \ - $(genphdata_SOURCES) $(genres_SOURCES) $(lspsync_SOURCES) \ - $(polar2rect_SOURCES) $(pre_SOURCES) $(scalarlsptest_SOURCES) \ - $(t48_8_SOURCES) $(tfdmdv_SOURCES) $(tfifo_SOURCES) \ - $(tinterp_SOURCES) $(tlspsens_SOURCES) $(tnlp_SOURCES) \ - $(tprede_SOURCES) $(tquant_SOURCES) $(vq_train_jvm_SOURCES) \ - $(vqtrain_SOURCES) $(vqtrainjnd_SOURCES) $(vqtrainph_SOURCES) \ +SOURCES = $(c2validate_SOURCES) $(create_interleaver_SOURCES) \ + $(de_SOURCES) $(extract_SOURCES) $(genampdata_SOURCES) \ + $(genlsp_SOURCES) $(genphdata_SOURCES) $(genres_SOURCES) \ + $(lspsync_SOURCES) $(polar2rect_SOURCES) $(pre_SOURCES) \ + $(raw2h_SOURCES) $(scalarlsptest_SOURCES) $(t48_8_SOURCES) \ + $(tfdmdv_SOURCES) $(tfifo_SOURCES) $(tinterp_SOURCES) \ + $(tlspsens_SOURCES) $(tnlp_SOURCES) $(tprede_SOURCES) \ + $(tquant_SOURCES) $(vq_train_jvm_SOURCES) $(vqtrain_SOURCES) \ + $(vqtrainjnd_SOURCES) $(vqtrainph_SOURCES) \ $(vqtrainsp_SOURCES) -DIST_SOURCES = $(create_interleaver_SOURCES) $(de_SOURCES) \ - $(extract_SOURCES) $(genampdata_SOURCES) $(genlsp_SOURCES) \ - $(genphdata_SOURCES) $(genres_SOURCES) $(lspsync_SOURCES) \ - $(polar2rect_SOURCES) $(pre_SOURCES) $(scalarlsptest_SOURCES) \ - $(t48_8_SOURCES) $(tfdmdv_SOURCES) $(tfifo_SOURCES) \ - $(tinterp_SOURCES) $(tlspsens_SOURCES) $(tnlp_SOURCES) \ - $(tprede_SOURCES) $(tquant_SOURCES) $(vq_train_jvm_SOURCES) \ - $(vqtrain_SOURCES) $(vqtrainjnd_SOURCES) $(vqtrainph_SOURCES) \ +DIST_SOURCES = $(c2validate_SOURCES) $(create_interleaver_SOURCES) \ + $(de_SOURCES) $(extract_SOURCES) $(genampdata_SOURCES) \ + $(genlsp_SOURCES) $(genphdata_SOURCES) $(genres_SOURCES) \ + $(lspsync_SOURCES) $(polar2rect_SOURCES) $(pre_SOURCES) \ + $(raw2h_SOURCES) $(scalarlsptest_SOURCES) $(t48_8_SOURCES) \ + $(tfdmdv_SOURCES) $(tfifo_SOURCES) $(tinterp_SOURCES) \ + $(tlspsens_SOURCES) $(tnlp_SOURCES) $(tprede_SOURCES) \ + $(tquant_SOURCES) $(vq_train_jvm_SOURCES) $(vqtrain_SOURCES) \ + $(vqtrainjnd_SOURCES) $(vqtrainph_SOURCES) \ $(vqtrainsp_SOURCES) ETAGS = etags CTAGS = ctags @@ -294,7 +303,7 @@ genlsp_LDADD = $(lib_LTLIBRARIES) genlsp_LDFLAGS = $(LIBS) extract_SOURCES = extract.c extract_LDADD = $(lib_LTLIBRARIES) -extract_LDFLAGS = $(LIBS) +extract_LDFLAGS = $(LIBS) vqtrain_SOURCES = vqtrain.c vqtrain_LDADD = $(lib_LTLIBRARIES) vqtrain_LDFLAGS = $(LIBS) @@ -361,6 +370,13 @@ de_LDFLAGS = $(LIBS) tfifo_SOURCES = tfifo.c ../src/fifo.c tfifo_LDADD = $(lib_LTLIBRARIES) -lpthread tfifo_LDFLAGS = $(LIBS) +raw2h_SOURCES = raw2h.c +raw2h_LDADD = $(lib_LTLIBRARIES) +raw2h_LDFLAGS = $(LIBS) +c2validate_CFLAGS = -D__UNITTEST__ +c2validate_SOURCES = c2validate.c +c2validate_LDADD = $(lib_LTLIBRARIES) ../src/libcodec2.la +c2validate_LDFLAGS = $(LIBS) all: all-am .SUFFIXES: @@ -401,6 +417,9 @@ clean-noinstPROGRAMS: echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done +c2validate$(EXEEXT): $(c2validate_OBJECTS) $(c2validate_DEPENDENCIES) + @rm -f c2validate$(EXEEXT) + $(LINK) $(c2validate_LDFLAGS) $(c2validate_OBJECTS) $(c2validate_LDADD) $(LIBS) create_interleaver$(EXEEXT): $(create_interleaver_OBJECTS) $(create_interleaver_DEPENDENCIES) @rm -f create_interleaver$(EXEEXT) $(LINK) $(create_interleaver_LDFLAGS) $(create_interleaver_OBJECTS) $(create_interleaver_LDADD) $(LIBS) @@ -431,6 +450,9 @@ polar2rect$(EXEEXT): $(polar2rect_OBJECTS) $(polar2rect_DEPENDENCIES) pre$(EXEEXT): $(pre_OBJECTS) $(pre_DEPENDENCIES) @rm -f pre$(EXEEXT) $(LINK) $(pre_LDFLAGS) $(pre_OBJECTS) $(pre_LDADD) $(LIBS) +raw2h$(EXEEXT): $(raw2h_OBJECTS) $(raw2h_DEPENDENCIES) + @rm -f raw2h$(EXEEXT) + $(LINK) $(raw2h_LDFLAGS) $(raw2h_OBJECTS) $(raw2h_LDADD) $(LIBS) scalarlsptest$(EXEEXT): $(scalarlsptest_OBJECTS) $(scalarlsptest_DEPENDENCIES) @rm -f scalarlsptest$(EXEEXT) $(LINK) $(scalarlsptest_LDFLAGS) $(scalarlsptest_OBJECTS) $(scalarlsptest_LDADD) $(LIBS) @@ -480,6 +502,7 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/c2validate-c2validate.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/codebook.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/codebookd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/codebookdt.Po@am__quote@ @@ -512,6 +535,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/postfilter.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pre.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/quantise.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/raw2h.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scalarlsptest.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sine.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t48_8.Po@am__quote@ @@ -549,6 +573,20 @@ distclean-compile: @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< +c2validate-c2validate.o: c2validate.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(c2validate_CFLAGS) $(CFLAGS) -MT c2validate-c2validate.o -MD -MP -MF "$(DEPDIR)/c2validate-c2validate.Tpo" -c -o c2validate-c2validate.o `test -f 'c2validate.c' || echo '$(srcdir)/'`c2validate.c; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/c2validate-c2validate.Tpo" "$(DEPDIR)/c2validate-c2validate.Po"; else rm -f "$(DEPDIR)/c2validate-c2validate.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='c2validate.c' object='c2validate-c2validate.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(c2validate_CFLAGS) $(CFLAGS) -c -o c2validate-c2validate.o `test -f 'c2validate.c' || echo '$(srcdir)/'`c2validate.c + +c2validate-c2validate.obj: c2validate.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(c2validate_CFLAGS) $(CFLAGS) -MT c2validate-c2validate.obj -MD -MP -MF "$(DEPDIR)/c2validate-c2validate.Tpo" -c -o c2validate-c2validate.obj `if test -f 'c2validate.c'; then $(CYGPATH_W) 'c2validate.c'; else $(CYGPATH_W) '$(srcdir)/c2validate.c'; fi`; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/c2validate-c2validate.Tpo" "$(DEPDIR)/c2validate-c2validate.Po"; else rm -f "$(DEPDIR)/c2validate-c2validate.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='c2validate.c' object='c2validate-c2validate.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(c2validate_CFLAGS) $(CFLAGS) -c -o c2validate-c2validate.obj `if test -f 'c2validate.c'; then $(CYGPATH_W) 'c2validate.c'; else $(CYGPATH_W) '$(srcdir)/c2validate.c'; fi` + lpc.o: ../src/lpc.c @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lpc.o -MD -MP -MF "$(DEPDIR)/lpc.Tpo" -c -o lpc.o `test -f '../src/lpc.c' || echo '$(srcdir)/'`../src/lpc.c; \ @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/lpc.Tpo" "$(DEPDIR)/lpc.Po"; else rm -f "$(DEPDIR)/lpc.Tpo"; exit 1; fi diff --git a/codec2-dev/unittest/c2validate.c b/codec2-dev/unittest/c2validate.c new file mode 100644 index 00000000..5906017d --- /dev/null +++ b/codec2-dev/unittest/c2validate.c @@ -0,0 +1,103 @@ +/*---------------------------------------------------------------------------*\ + + FILE........: c2validate.c + AUTHOR......: David Rowe + DATE CREATED: 10 April 2013 + + Encodes and decodes an array of speech samples using Codec 2 and compares + it to a previously stored output to validate Codec operation. + +\*---------------------------------------------------------------------------*/ + +/* + Copyright (C) 2013 David Rowe + + All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License version 2.1, as + published by the Free Software Foundation. This program is + distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program; if not, see . +*/ + +#include "codec2.h" +#ifdef __UNITTEST__ +#include "hts1a.h" +#include "hts1a_1300.h" +#endif + +#include +#include +#include +#ifdef __EMBEDDED__ +#include "gdb_stdio.h" +#define fopen gdb_stdio_fopen +#define fwrite gdb_stdio_fwrite +#define fclose gdb_stdio_fclose +#endif + +int c2validate(int mode, short input_samples[], short output_samples[], char outfile[], int nsamples) +{ + struct CODEC2 *codec2; + short *pinput, *poutput, *outbuf; + unsigned char *bits; + int nsam, nbit; + int nframes, i, result, j; + FILE *fout; + + codec2 = codec2_create(mode); + nsam = codec2_samples_per_frame(codec2); + outbuf = (short*)malloc(nsam*sizeof(short)); + nbit = codec2_bits_per_frame(codec2); + bits = (unsigned char*)malloc(nbit*sizeof(char)); + if (strlen(outfile)) + fout = fopen(outfile, "wb"); + else + fout = NULL; + + nframes = nsamples/nsam; + pinput = input_samples; + poutput = output_samples; + result = 1; + + for(i=0; i. +*/ + +#ifndef __C2VALIDATE__ + +int c2validate(int mode, short input_samples[], short output_samples[], char outfile[], int nsamples); + +#endif diff --git a/codec2-dev/unittest/hts1a.h b/codec2-dev/unittest/hts1a.h new file mode 100644 index 00000000..2e403979 --- /dev/null +++ b/codec2-dev/unittest/hts1a.h @@ -0,0 +1,8002 @@ +short hts1a_raw[] = { +-14, +-14, +-8, +-7, +-11, +-15, +-14, +-16, +-24, +-26, +-25, +-26, +-22, +-22, +-24, +-19, +-19, +-19, +-26, +-28, +-28, +-21, +-16, +-14, +-19, +-19, +-18, +-18, +-16, +-18, +-26, +-28, +-35, +-28, +-19, +-12, +-12, +-14, +-15, +-21, +-16, +-12, +-9, +-11, +-5, +-8, +-7, +-5, +-8, +-8, +-7, +3, +3, +-1, +-2, +-5, +-1, +-7, +-5, +-4, +-4, +-7, +-5, +-9, +-8, +-12, +-21, +-21, +-28, +-28, +-24, +-25, +-29, +-29, +-31, +-32, +-28, +-31, +-35, +-26, +-35, +-31, +-28, +-32, +-26, +-21, +-22, +-16, +-15, +-14, +-18, +-12, +-19, +-12, +-12, +-16, +-15, +-16, +-16, +-16, +-12, +-15, +-12, +-18, +-18, +-15, +-19, +-18, +-16, +-14, +-15, +-16, +-16, +-16, +-14, +-16, +-11, +-4, +-8, +-8, +-9, +-8, +-15, +-12, +-11, +-12, +-9, +-11, +-8, +-11, +-14, +-11, +-18, +-16, +-14, +-14, +-9, +-5, +-8, +-15, +-16, +-14, +-16, +-18, +-15, +-31, +-32, +-19, +-15, +-12, +-16, +-15, +-18, +-14, +-12, +-12, +-16, +-24, +-25, +-19, +-18, +-22, +-21, +-19, +-16, +-16, +-14, +-16, +-24, +-24, +-19, +-24, +-24, +-19, +-21, +-24, +-25, +-28, +-25, +-25, +-26, +-18, +-12, +-22, +-25, +-26, +-25, +-24, +-24, +-22, +-21, +-19, +-16, +-15, +-12, +-12, +-14, +-8, +-12, +-11, +-5, +-1, +0, +0, +-1, +-4, +-4, +-5, +-7, +-7, +-11, +-8, +-11, +-5, +-4, +-2, +-8, +-5, +-12, +-14, +-14, +-14, +-12, +-12, +-7, +-16, +-21, +-22, +-22, +-25, +-28, +-24, +-31, +-32, +-33, +-33, +-35, +-31, +-29, +-32, +-36, +-36, +-35, +-35, +-32, +-26, +-35, +-29, +-22, +-18, +-11, +-16, +-14, +-14, +-11, +-8, +-8, +-12, +-11, +-24, +-25, +-12, +-8, +-7, +-9, +-5, +-9, +-8, +-4, +-7, +-5, +-11, +-11, +-4, +-5, +-5, +-8, +-4, +-8, +-4, +-8, +-14, +-8, +-9, +-12, +-11, +-15, +-22, +-21, +-19, +-22, +-15, +-22, +-18, +-15, +-16, +-18, +-12, +-14, +-21, +-19, +-16, +-19, +-21, +-22, +-21, +-25, +-19, +-26, +-21, +-19, +-21, +-19, +-16, +-15, +-18, +-9, +-8, +-9, +-8, +-14, +-19, +-15, +-16, +-16, +-16, +-12, +-11, +-12, +-11, +-11, +-7, +-19, +-18, +-14, +-28, +-28, +-26, +-28, +-31, +-31, +-24, +-25, +-26, +-29, +-28, +-31, +-28, +-24, +-21, +-19, +-21, +-16, +-24, +-24, +-18, +-16, +-19, +-12, +-9, +-12, +-14, +-12, +-7, +-9, +-9, +-5, +-5, +-9, +-7, +-5, +-5, +-4, +-21, +-25, +-12, +-5, +5, +10, +10, +-1, +-2, +3, +-4, +-7, +-8, +-5, +-11, +-12, +-25, +-26, +-24, +-33, +-32, +-29, +-35, +-36, +-33, +-38, +-42, +-38, +-38, +-36, +-36, +-33, +-32, +-38, +-32, +-28, +-22, +-18, +-14, +-9, +-15, +-9, +-8, +-11, +-2, +-2, +-5, +-2, +3, +-2, +-1, +-4, +-7, +-12, +-12, +-12, +-16, +-15, +-11, +-11, +-8, +-7, +-5, +-9, +-12, +-12, +-18, +-19, +-26, +-26, +-22, +-22, +-24, +-21, +-15, +-12, +-14, +-18, +-16, +-15, +-26, +-26, +-28, +-26, +-26, +-25, +-28, +-25, +-14, +-12, +-14, +-18, +-24, +-14, +-9, +-5, +-7, +-9, +-7, +-8, +-14, +-11, +-8, +-15, +-8, +-7, +-5, +-2, +-5, +-5, +-8, +-15, +-15, +-16, +-33, +-35, +-25, +-15, +-14, +-18, +-22, +-18, +-22, +-24, +-29, +-31, +-32, +-33, +-31, +-36, +-31, +-25, +-31, +-33, +-28, +-26, +-22, +-25, +-25, +-16, +-18, +-16, +-15, +-15, +-14, +-11, +-7, +-5, +-4, +-8, +-4, +-5, +-8, +-4, +0, +-7, +-1, +-1, +-9, +-11, +-12, +-14, +-15, +-9, +-8, +-7, +-5, +-11, +-12, +-12, +-19, +-15, +-16, +-16, +-12, +-18, +-19, +-19, +-18, +-15, +-19, +-24, +-19, +-25, +-28, +-26, +-26, +-26, +-28, +-26, +-22, +-21, +-25, +-19, +-16, +-16, +-9, +-9, +-12, +-7, +-11, +-7, +-12, +-15, +-18, +-24, +-16, +-16, +-12, +-19, +-18, +-16, +-25, +-24, +-22, +-25, +-21, +-25, +-24, +-24, +-19, +-15, +-26, +-19, +-14, +-19, +-16, +-18, +-26, +-28, +-16, +-4, +10, +15, +12, +13, +10, +8, +8, +-7, +-11, +-19, +-29, +-31, +-33, +-29, +-26, +-26, +-26, +-22, +-15, +-16, +-15, +-19, +-18, +-19, +-12, +-15, +-21, +-21, +-24, +-22, +-19, +-19, +-15, +-16, +-16, +-24, +-18, +-25, +-24, +-24, +-26, +-21, +-22, +-22, +-18, +-16, +-19, +-22, +-22, +-19, +-24, +-19, +-16, +-19, +-15, +-16, +-12, +-4, +-9, +-19, +-12, +-15, +-19, +-16, +-16, +-15, +-14, +-12, +-12, +-11, +-8, +-9, +-9, +-12, +-11, +-11, +-8, +-9, +-5, +5, +-1, +-1, +-4, +-8, +-8, +-8, +-9, +-8, +-7, +-11, +-19, +-19, +-18, +-26, +-21, +-24, +-24, +-26, +-35, +-32, +-36, +-31, +-26, +-28, +-26, +-25, +-22, +-26, +-35, +-35, +-36, +-45, +-45, +-33, +-28, +-19, +-16, +-9, +-14, +-12, +-5, +-11, +-8, +-7, +-5, +-5, +2, +-2, +-5, +0, +-7, +-5, +-11, +-14, +-14, +-8, +-8, +-7, +-9, +-11, +-11, +-15, +-15, +-14, +-12, +-14, +-18, +-16, +-9, +-12, +-12, +-14, +-16, +-22, +-25, +-26, +-31, +-29, +-26, +-29, +-25, +-22, +-19, +-18, +-24, +-21, +-24, +-19, +-12, +-15, +-15, +-16, +-15, +-14, +-16, +-15, +-16, +-24, +-19, +-22, +-26, +-24, +-19, +-18, +-19, +-15, +-11, +-5, +-2, +-2, +-4, +-7, +-4, +-8, +-8, +-11, +-15, +-11, +-9, +-7, +-9, +-4, +2, +-8, +-1, +-2, +-12, +-9, +-15, +-21, +-31, +-38, +-32, +-32, +-35, +-31, +-28, +-33, +-32, +-35, +-33, +-33, +-36, +-36, +-42, +-45, +-43, +-33, +-29, +-25, +-21, +-14, +-12, +-11, +-16, +-15, +-12, +-14, +-15, +-15, +-9, +-2, +-2, +0, +-5, +-4, +-2, +0, +8, +9, +10, +12, +3, +6, +5, +9, +3, +-7, +-9, +-25, +-32, +-25, +-11, +-1, +2, +-1, +-9, +-15, +-12, +-15, +-21, +-29, +-35, +-39, +-39, +-31, +-33, +-33, +-26, +-28, +-29, +-31, +-33, +-26, +-24, +-22, +-24, +-21, +-18, +-15, +-18, +-26, +-25, +-22, +-18, +-21, +-24, +-26, +-35, +-28, +-26, +-26, +-24, +-22, +-16, +-18, +-22, +-15, +-22, +-24, +-16, +-14, +-11, +-4, +3, +5, +3, +8, +8, +6, +0, +6, +3, +-5, +0, +6, +-5, +-5, +-8, +-11, +-14, +-19, +-21, +-24, +-25, +-28, +-28, +-22, +-28, +-38, +-38, +-26, +-26, +-22, +-32, +-31, +-26, +-18, +-12, +-11, +-9, +-16, +-21, +-19, +-16, +-16, +-18, +-12, +-12, +-8, +-7, +-15, +-16, +-16, +-19, +-21, +-22, +-22, +-22, +-25, +-32, +-29, +-35, +-32, +-33, +-33, +-29, +-25, +-18, +-15, +-16, +-12, +-12, +-8, +-2, +0, +6, +2, +0, +5, +2, +-5, +-1, +-5, +-8, +-8, +-8, +-9, +-15, +-12, +-11, +-5, +-9, +-18, +-19, +-22, +-16, +-14, +-11, +-2, +-2, +-8, +-16, +-21, +-22, +-19, +-24, +-24, +-16, +-16, +-12, +-7, +-8, +-5, +-8, +-16, +-24, +-29, +-35, +-36, +-36, +-38, +-41, +-38, +-43, +-41, +-39, +-35, +-32, +-31, +-32, +-32, +-28, +-24, +-24, +-19, +-16, +-18, +-12, +-2, +-1, +5, +5, +-9, +-25, +-21, +-15, +-14, +-15, +-14, +-18, +-16, +-12, +-11, +-5, +-2, +-7, +-11, +-7, +-18, +-11, +-5, +-2, +0, +-2, +0, +0, +-5, +-11, +-14, +-12, +-14, +-14, +-16, +-18, +-18, +-29, +-38, +-38, +-42, +-46, +-38, +-35, +-32, +-31, +-16, +-5, +0, +12, +19, +20, +17, +20, +20, +16, +16, +12, +5, +-7, +-15, +-14, +-22, +-25, +-26, +-26, +-32, +-38, +-43, +-45, +-49, +-55, +-56, +-52, +-56, +-48, +-39, +-33, +-28, +-31, +-24, +-29, +-32, +-26, +-16, +-7, +-14, +-11, +-11, +-16, +-18, +-29, +-28, +-24, +-14, +-11, +-15, +-4, +-11, +-12, +-5, +-2, +3, +5, +2, +10, +5, +6, +2, +-1, +-7, +-7, +-12, +-14, +-16, +-22, +-21, +-18, +-19, +-22, +-11, +-1, +3, +2, +2, +3, +6, +-2, +-7, +-15, +-18, +-24, +-26, +-31, +-38, +-41, +-39, +-36, +-39, +-33, +-26, +-24, +-18, +-19, +-21, +-19, +-18, +-16, +-21, +-21, +-15, +-14, +-18, +-24, +-25, +-31, +-38, +-43, +-45, +-46, +-43, +-39, +-33, +-28, +-19, +-11, +-8, +-4, +5, +12, +12, +17, +16, +9, +9, +10, +6, +8, +-4, +3, +0, +-5, +-11, +-14, +-28, +-26, +-15, +-24, +-32, +-32, +-28, +-32, +-28, +-18, +-22, +-22, +-15, +-15, +-24, +-25, +-26, +-25, +-16, +-16, +-18, +-22, +-21, +-26, +-29, +-25, +-22, +-19, +-16, +-9, +-4, +2, +6, +10, +3, +2, +0, +-7, +-7, +-14, +-16, +-15, +-22, +-26, +-29, +-25, +-25, +-22, +-29, +-35, +-25, +-19, +-14, +-15, +-12, +-15, +-26, +-24, +-29, +-28, +-26, +-26, +-29, +-32, +-38, +-42, +-38, +-33, +-29, +-25, +-25, +-21, +-14, +-5, +5, +6, +8, +6, +2, +0, +-1, +-9, +-16, +-18, +-19, +-22, +-22, +-21, +-15, +-18, +-22, +-11, +-8, +-11, +-7, +5, +2, +-2, +-4, +-5, +-7, +-5, +6, +-7, +-9, +-8, +-19, +-22, +-24, +-26, +-29, +-33, +-29, +-25, +-24, +-21, +-21, +-24, +-29, +-28, +-26, +-25, +-21, +-26, +-26, +-25, +-31, +-31, +-38, +-39, +-38, +-33, +-21, +-9, +-5, +-4, +5, +3, +-2, +-7, +-8, +-9, +-15, +-16, +-16, +-22, +-21, +-24, +-24, +-16, +-22, +-21, +-24, +-26, +-22, +-16, +-9, +-11, +-2, +6, +2, +-4, +-9, +-16, +-21, +-21, +-21, +-24, +-22, +-22, +-19, +-18, +-16, +-12, +-14, +-12, +-4, +-2, +-4, +-8, +-5, +-5, +-11, +0, +2, +-7, +-8, +-12, +-14, +-19, +-24, +-25, +-28, +-9, +-5, +-29, +-33, +-22, +-22, +-21, +-15, +-18, +-24, +-21, +-26, +-29, +-25, +-33, +-29, +-29, +-29, +-31, +-28, +-28, +-25, +-24, +-21, +-25, +-14, +-7, +-5, +-16, +-19, +-21, +-28, +-33, +-38, +-36, +-26, +-25, +-22, +-8, +-5, +0, +5, +10, +16, +13, +10, +8, +5, +-4, +-1, +-7, +-11, +-18, +-28, +-31, +-42, +-43, +-38, +-38, +-22, +-11, +-8, +-7, +6, +6, +3, +13, +8, +-7, +-2, +-9, +-16, +-11, +-15, +-18, +-24, +-28, +-24, +-25, +-22, +-25, +-28, +-25, +-38, +-39, +-35, +-36, +-14, +-25, +-42, +-16, +-9, +-29, +-28, +-26, +-31, +-29, +-39, +-29, +-12, +-7, +-1, +-2, +-4, +0, +2, +-5, +-15, +-21, +-35, +-32, +-22, +-19, +-18, +-19, +-5, +6, +0, +-14, +-26, +-11, +0, +-19, +-24, +-24, +-25, +-25, +-31, +-35, +-32, +-19, +-5, +-7, +-1, +0, +6, +8, +0, +-8, +-5, +9, +9, +6, +2, +9, +13, +-7, +-26, +-36, +-35, +-42, +-56, +-49, +-42, +-42, +-36, +-28, +-12, +-12, +-21, +-18, +-24, +-19, +-22, +-25, +-24, +-21, +-18, +-15, +-15, +-8, +-7, +3, +-4, +-11, +-22, +-22, +-16, +-24, +-21, +-7, +-22, +-31, +-16, +-21, +-11, +-12, +-21, +-26, +-28, +-19, +-28, +-31, +-25, +-38, +-38, +-29, +-33, +-38, +-33, +-9, +10, +19, +5, +-4, +-4, +-1, +-12, +-21, +-18, +-16, +-16, +-19, +-8, +-5, +-7, +-2, +0, +12, +16, +15, +2, +-14, +-12, +-22, +-29, +-42, +-36, +-25, +-16, +-18, +-19, +-12, +6, +2, +2, +9, +-4, +-11, +-19, +-25, +-24, +-28, +-35, +-43, +-35, +-25, +-41, +-45, +-42, +-39, +-35, +-41, +-33, +-29, +-18, +-2, +-19, +-32, +-12, +3, +-8, +-11, +-26, +-35, +-29, +-29, +-24, +-15, +-9, +-8, +-1, +2, +0, +-1, +-2, +2, +-1, +-8, +-9, +-18, +-21, +-26, +-32, +-35, +-26, +-15, +-9, +-7, +-2, +-2, +2, +13, +12, +-2, +-11, +-15, +-18, +-28, +-29, +-24, +-28, +-32, +-31, +-28, +-15, +-9, +-21, +-4, +10, +-7, +-5, +-14, +-18, +-9, +-21, +-25, +-29, +-32, +-36, +-31, +-16, +-24, +-18, +-18, +-22, +-25, +-32, +-31, +-12, +-8, +-8, +2, +-2, +15, +9, +-14, +-9, +-9, +0, +-1, +-22, +-24, +-18, +-32, +-29, +-29, +-39, +-33, +-24, +-41, +-33, +-18, +-33, +-28, +-32, +-28, +-24, +-35, +-32, +-24, +-21, +-14, +-21, +-25, +-18, +-9, +-8, +-11, +0, +3, +5, +-5, +-14, +-19, +-15, +-9, +2, +-2, +0, +12, +10, +19, +22, +8, +-2, +-5, +-9, +-22, +-16, +-5, +-16, +-21, +-19, +-16, +-16, +-26, +-29, +-28, +-25, +-1, +-2, +-15, +-19, +-29, +-35, +-35, +-38, +-36, +-38, +-29, +-46, +-56, +-38, +-45, +-62, +-55, +-48, +-33, +-42, +-79, +-93, +33, +207, +203, +112, +30, +-29, +-28, +-70, +-148, +-176, +-96, +-69, +-87, +-32, +-45, +-24, +46, +64, +76, +46, +43, +60, +39, +20, +12, +6, +-35, +-26, +-28, +-67, +-8, +-18, +-55, +6, +-38, +-75, +-24, +-5, +-5, +-25, +-25, +-35, +22, +93, +23, +-28, +-55, +-83, +-42, +-83, +-103, +-56, +-22, +44, +3, +-33, +6, +8, +12, +17, +-5, +-131, +-189, +100, +265, +40, +49, +135, +-59, +12, +51, +-123, +-87, +-182, +-298, +-226, +-192, +-205, +-198, +-49, +30, +39, +183, +238, +183, +141, +187, +132, +83, +176, +16, +-116, +-90, +-118, +-138, +-189, +-123, +-137, +-147, +-9, +-28, +49, +125, +66, +29, +43, +46, +-70, +-100, +-75, +-121, +-117, +-109, +-58, +-28, +29, +77, +74, +128, +118, +63, +12, +56, +158, +90, +0, +-29, +-127, +-103, +-33, +-137, +-140, +-18, +-43, +-66, +-7, +-45, +-73, +6, +42, +-35, +-111, +-104, +-92, +-147, +-526, +-1264, +-1575, +-765, +438, +997, +1207, +1339, +1320, +1748, +2310, +2055, +1176, +299, +-434, +-1009, +-1257, +-1632, +-2439, +-2960, +-2928, +-2615, +-2054, +-1308, +-736, +-303, +445, +1377, +2112, +2587, +2728, +2464, +2061, +1838, +1525, +888, +182, +-511, +-1203, +-1516, +-1425, +-1447, +-1556, +-1386, +-1076, +-642, +-16, +437, +547, +662, +915, +1092, +1055, +883, +519, +53, +-259, +-472, +-771, +-1037, +-1070, +-981, +-814, +-511, +-203, +2, +251, +519, +616, +631, +648, +582, +476, +391, +271, +-18, +-305, +-348, +-399, +-478, +-389, +-348, +-351, +-222, +-121, +-386, +-1735, +-3442, +-2533, +573, +2049, +2601, +3434, +2708, +2736, +4175, +4209, +2551, +296, +-1119, +-2477, +-3494, +-3361, +-4179, +-5485, +-5636, +-4580, +-3316, +-2031, +-22, +1181, +1763, +3271, +4874, +5510, +5224, +4612, +3186, +1425, +652, +-147, +-1598, +-2834, +-3484, +-3818, +-3613, +-2537, +-1594, +-1278, +-574, +734, +1997, +2818, +3281, +3233, +2488, +1960, +1561, +520, +-672, +-1616, +-2288, +-2651, +-2450, +-2115, +-2137, +-1772, +-998, +-341, +312, +891, +1208, +1322, +1574, +1687, +1285, +810, +427, +-18, +-404, +-664, +-1030, +-1306, +-1064, +-656, +-397, +-182, +-16, +170, +514, +922, +1023, +956, +915, +626, +-42, +-1701, +-4508, +-5074, +-1033, +2559, +2488, +3256, +3525, +2940, +5224, +6208, +3992, +-50, +-2480, +-3034, +-4628, +-4714, +-5427, +-7560, +-7667, +-5645, +-2855, +-1414, +621, +2572, +3066, +5038, +7469, +7951, +6155, +4438, +2841, +544, +-373, +-1233, +-3376, +-5177, +-5271, +-4414, +-3653, +-2121, +-788, +-392, +720, +2701, +3972, +4022, +3914, +3451, +2206, +1426, +796, +-632, +-2163, +-3381, +-4159, +-4113, +-3045, +-1776, +-1312, +-743, +275, +1098, +1851, +2335, +2131, +1527, +1259, +1200, +713, +73, +-516, +-1176, +-1677, +-1755, +-1672, +-1670, +-1336, +-625, +37, +718, +1435, +1620, +1412, +1445, +1137, +438, +388, +645, +505, +194, +-907, +-3965, +-7195, +-5524, +1111, +4509, +3145, +3535, +3294, +3846, +7424, +7315, +3111, +-1601, +-3095, +-3366, +-4972, +-5281, +-7332, +-9647, +-8219, +-4862, +-1956, +-808, +1125, +2677, +3750, +7120, +9202, +7949, +5515, +3979, +2538, +716, +-4, +-1881, +-5029, +-6072, +-5264, +-4448, +-3573, +-2254, +-1472, +-802, +1513, +3981, +4536, +4289, +4083, +3336, +2484, +2141, +963, +-1417, +-3088, +-3937, +-4523, +-3991, +-2694, +-2023, +-1694, +-593, +580, +1431, +2310, +2417, +1777, +1433, +1598, +1241, +374, +-69, +-753, +-1490, +-1449, +-1357, +-1625, +-1628, +-1176, +-845, +-356, +723, +1418, +1370, +1530, +1663, +1222, +1057, +1140, +345, +-576, +-628, +-1435, +-4343, +-6010, +-2139, +2712, +2651, +2832, +3744, +2781, +5433, +7295, +4184, +117, +-2377, +-2990, +-4553, +-4853, +-5022, +-7143, +-6439, +-4074, +-2314, +-1340, +-260, +822, +720, +2570, +4741, +4967, +4932, +4619, +4026, +2856, +2222, +1221, +-911, +-1898, +-2510, +-2962, +-2593, +-1870, +-1447, +-1553, +-1085, +-648, +-342, +240, +418, +505, +623, +1054, +1416, +1337, +1193, +544, +-101, +-348, +-407, +-426, +-604, +-573, +-519, +-297, +9, +-235, +-589, +-927, +-952, +-563, +-310, +9, +168, +219, +369, +245, +40, +-235, +-451, +-287, +46, +415, +683, +836, +842, +670, +489, +316, +166, +54, +-36, +-65, +36, +-96, +-883, +-1693, +-1570, +-756, +-117, +340, +975, +1918, +2596, +2086, +1068, +199, +-509, +-625, +-662, +-529, +71, +-33, +-597, +-1067, +-1512, +-1670, +-1870, +-1901, +-1547, +-974, +-269, +142, +260, +272, +56, +-164, +-24, +509, +1019, +1292, +1496, +1616, +1660, +1613, +1357, +966, +660, +605, +597, +480, +275, +-134, +-671, +-1134, +-1376, +-1473, +-1534, +-1564, +-1496, +-1237, +-812, +-402, +-128, +64, +267, +431, +522, +479, +332, +320, +468, +565, +548, +407, +180, +-63, +-264, +-455, +-638, +-685, +-574, +-358, +-32, +238, +328, +329, +371, +427, +438, +448, +424, +383, +441, +482, +29, +-1189, +-2337, +-1898, +-396, +261, +599, +1708, +2529, +2347, +1500, +312, +-430, +-148, +278, +227, +432, +471, +-532, +-1710, +-2265, +-2405, +-2323, +-2014, +-1597, +-1182, +-690, +-406, +-567, +-617, +-358, +-89, +343, +1088, +1780, +1952, +1833, +1659, +1418, +1391, +1493, +1446, +1302, +1180, +911, +415, +-45, +-492, +-962, +-1186, +-1142, +-1095, +-1100, +-1196, +-1422, +-1556, +-1353, +-995, +-586, +-59, +257, +287, +287, +197, +3, +-36, +156, +418, +737, +932, +759, +427, +165, +-84, +-252, +-225, +-148, +-84, +34, +39, +-96, +-169, +-168, +-72, +63, +179, +360, +539, +485, +-67, +-1439, +-2707, +-1793, +379, +1014, +1030, +2144, +2711, +2106, +1211, +-4, +-525, +364, +955, +628, +584, +170, +-1432, +-2769, +-2892, +-2525, +-2075, +-1551, +-1390, +-1363, +-1025, +-944, +-1087, +-615, +145, +594, +1099, +1758, +1969, +1712, +1453, +1289, +1384, +1843, +2083, +1800, +1387, +975, +400, +-86, +-260, +-446, +-681, +-781, +-918, +-1183, +-1481, +-1768, +-1877, +-1558, +-1020, +-515, +-28, +192, +9, +-261, +-322, +-178, +98, +444, +706, +805, +761, +492, +145, +-5, +6, +20, +53, +81, +27, +-103, +-249, +-325, +-219, +-9, +139, +291, +473, +547, +400, +42, +-904, +-2367, +-2330, +-46, +1336, +924, +1518, +2371, +1895, +1372, +564, +-271, +454, +1397, +1020, +578, +328, +-986, +-2542, +-2821, +-2398, +-1994, +-1564, +-1564, +-1956, +-1922, +-1598, +-1434, +-879, +175, +771, +983, +1429, +1726, +1615, +1534, +1616, +1721, +2049, +2369, +2073, +1426, +888, +304, +-192, +-219, +-94, +-284, +-630, +-961, +-1359, +-1618, +-1696, +-1748, +-1454, +-778, +-324, +-128, +-18, +-195, +-423, +-382, +-226, +70, +483, +701, +628, +428, +210, +10, +-22, +114, +227, +272, +257, +169, +25, +-75, +-138, +-118, +102, +328, +287, +159, +135, +-135, +-1224, +-2588, +-2139, +243, +1339, +861, +1548, +2238, +1746, +1333, +575, +20, +917, +1538, +977, +662, +405, +-964, +-2463, +-2640, +-2228, +-1890, +-1544, +-1616, +-1970, +-1980, +-1750, +-1567, +-867, +258, +771, +834, +1153, +1445, +1448, +1465, +1600, +1732, +2025, +2283, +1981, +1387, +883, +305, +-131, +-60, +112, +-138, +-472, +-713, +-1204, +-1632, +-1686, +-1616, +-1274, +-676, +-513, +-574, +-314, +-246, +-516, +-545, +-349, +-28, +512, +853, +680, +427, +319, +192, +159, +289, +343, +264, +254, +193, +-29, +-143, +-148, +-107, +152, +371, +271, +-62, +-913, +-2303, +-2531, +-572, +992, +788, +1179, +2054, +1888, +1608, +1079, +285, +625, +1391, +1211, +911, +815, +-239, +-1829, +-2473, +-2303, +-1946, +-1557, +-1548, +-1949, +-2143, +-1976, +-1775, +-1202, +-178, +458, +614, +910, +1272, +1374, +1395, +1466, +1518, +1745, +2114, +2090, +1680, +1224, +657, +53, +-175, +-52, +-45, +-203, +-454, +-892, +-1329, +-1492, +-1447, +-1204, +-814, +-655, +-631, +-406, +-247, +-334, +-468, +-526, +-358, +83, +466, +547, +455, +343, +228, +230, +309, +335, +371, +394, +352, +231, +64, +-60, +-48, +104, +202, +-11, +-747, +-2004, +-2576, +-1166, +550, +643, +737, +1650, +1868, +1642, +1375, +674, +546, +1071, +1077, +943, +1115, +595, +-841, +-1963, +-2249, +-2154, +-1810, +-1444, +-1523, +-1822, +-1890, +-1813, +-1512, +-726, +32, +333, +650, +1095, +1306, +1343, +1429, +1450, +1429, +1627, +1802, +1692, +1440, +1016, +360, +-106, +-130, +-84, +-157, +-290, +-645, +-1068, +-1270, +-1301, +-1210, +-984, +-715, +-532, +-436, +-353, +-370, +-471, +-464, +-363, +-165, +206, +496, +517, +400, +306, +192, +166, +284, +373, +383, +386, +383, +319, +224, +135, +127, +115, +-491, +-1799, +-2388, +-1161, +363, +522, +420, +1024, +1442, +1559, +1517, +1026, +750, +863, +628, +452, +800, +684, +-348, +-1405, +-1942, +-2143, +-2044, +-1704, +-1476, +-1461, +-1526, +-1621, +-1422, +-716, +5, +325, +585, +1013, +1288, +1380, +1476, +1487, +1409, +1382, +1354, +1255, +1174, +968, +519, +129, +-52, +-240, +-438, +-441, +-399, +-604, +-941, +-1258, +-1284, +-315, +394, +-628, +-1085, +-532, +-675, +-126, +-277, +-1573, +-522, +598, +237, +407, +805, +1075, +653, +318, +362, +-59, +-56, +-240, +-233, +312, +-489, +-2514, +-4669, +-4202, +-712, +2020, +3805, +4136, +2529, +3440, +5718, +5515, +3867, +1626, +-647, +-2193, +-2176, +-1803, +-3276, +-5465, +-7012, +-7661, +-6402, +-3818, +-2200, +-1338, +105, +1535, +3292, +5837, +7231, +6633, +5443, +4310, +3120, +2167, +863, +-1674, +-4124, +-5139, +-5305, +-4852, +-3473, +-1936, +-1080, +-52, +1583, +2812, +3833, +4309, +3278, +2191, +1920, +1330, +168, +-1132, +-2559, +-3548, +-3413, +-3045, +-3000, +-2440, +-1105, +424, +1562, +2003, +1718, +1409, +1794, +1922, +959, +-191, +-649, +-329, +-22, +-2232, +-7587, +-10133, +-6123, +3815, +11010, +10048, +7655, +4465, +7798, +10768, +5766, +-1615, +-9642, +-12287, +-10166, +-6666, +-6229, +-9606, +-9109, +-5832, +-1326, +4475, +7162, +6468, +5722, +6975, +8255, +7576, +5333, +919, +-3576, +-5125, +-4751, +-4305, +-4140, +-4257, +-4346, +-2541, +1238, +4948, +7386, +6832, +4496, +3434, +2708, +1527, +-206, +-3454, +-6091, +-5990, +-4237, +-2710, +-1963, +-1253, +-324, +1191, +2740, +2787, +2061, +1796, +1911, +1408, +-65, +-1632, +-2642, +-2612, +-2111, +-2132, +-2119, +-703, +1824, +2113, +-3052, +-10217, +-9285, +2474, +15080, +14696, +9168, +3569, +1871, +8840, +7733, +-863, +-10981, +-16373, +-12835, +-7172, +-2606, +-4832, +-7242, +-3728, +1232, +7185, +9862, +7265, +2730, +1101, +4013, +4560, +2412, +-866, +-5642, +-6610, +-3630, +-702, +380, +20, +-726, +-825, +2400, +6645, +7202, +4332, +728, +-1582, +-1799, +-535, +-1312, +-4539, +-5701, +-4256, +-1013, +2246, +2495, +1214, +859, +1630, +1894, +788, +-715, +-1510, +-1008, +-797, +-1376, +-2139, +-2347, +-1166, +64, +874, +1826, +2927, +1167, +-7529, +-13865, +-7119, +8693, +17405, +11376, +5806, +-706, +3910, +12384, +4898, +-5841, +-15567, +-15268, +-9199, +-2915, +-2, +-6828, +-7298, +-645, +4931, +9593, +8510, +3404, +-1029, +1545, +5927, +3179, +704, +-3058, +-7267, +-5092, +-1456, +523, +578, +803, +476, +128, +4503, +7132, +4843, +2484, +-314, +-2661, +-1629, +-312, +-2667, +-4845, +-4645, +-3556, +-106, +3033, +2307, +815, +1327, +2202, +1608, +238, +-1347, +-2299, +-1676, +-1349, +-2026, +-2123, +-993, +185, +601, +1363, +2536, +1356, +-6385, +-14216, +-8118, +9341, +18113, +10028, +5714, +-662, +2201, +13868, +5555, +-6998, +-16122, +-13932, +-7484, +-3936, +-511, +-7031, +-7875, +1569, +7356, +9852, +7233, +2382, +-812, +2168, +7258, +2096, +-2579, +-3745, +-6101, +-3546, +-123, +70, +-1707, +-134, +2587, +1895, +4233, +5028, +2090, +1861, +1389, +-720, +-1444, +-1278, +-3112, +-4277, +-3164, +-2898, +-1520, +861, +1640, +1528, +1967, +2726, +1695, +329, +-492, +-1697, +-1969, +-1929, +-2346, +-2041, +-600, +480, +449, +1232, +2001, +-2082, +-11654, +-11999, +3894, +17853, +11683, +5279, +1994, +-1245, +12112, +9934, +-5184, +-14616, +-13918, +-5837, +-3437, +-2238, +-7345, +-9704, +1457, +9286, +8837, +4980, +1010, +1222, +4271, +7312, +1819, +-5336, +-4002, +-3308, +-1866, +-985, +-3300, +-3466, +-199, +5187, +4104, +1751, +2997, +2126, +3600, +3670, +-678, +-3106, +-1891, +-1261, +-2368, +-2264, +-3919, +-3476, +176, +1251, +1354, +400, +691, +2138, +1896, +1695, +-373, +-2231, +-1989, +-1816, +-1622, +-1393, +-557, +-261, +839, +1234, +-6099, +-13830, +-6704, +12207, +17650, +5219, +4873, +2652, +5438, +14840, +2038, +-11781, +-14722, +-7010, +-2482, +-5104, +-8182, +-11393, +-3796, +9197, +8387, +2298, +752, +2771, +7659, +8564, +3986, +-5080, +-5073, +893, +-749, +-2984, +-6554, +-6884, +-950, +4891, +4912, +-866, +561, +5333, +7261, +5833, +-1037, +-4326, +-1758, +1554, +-393, +-5394, +-5454, +-3454, +179, +2665, +-1061, +-2457, +677, +3635, +4058, +1347, +-451, +-846, +-346, +-403, +-2221, +-2535, +-1778, +-671, +454, +-2159, +-10071, +-12945, +-179, +17116, +12061, +403, +7550, +7610, +11287, +11279, +-5843, +-14361, +-7034, +-1442, +-6719, +-11613, +-12495, +-8241, +4100, +9619, +-682, +-1891, +5146, +9786, +11057, +5758, +-974, +-3229, +3852, +2712, +-6304, +-8209, +-8290, +-4368, +1412, +1119, +-2455, +-1243, +5528, +8521, +7421, +3537, +-1505, +772, +3590, +-341, +-4257, +-4940, +-4165, +-2414, +-583, +-3011, +-4147, +39, +2313, +2528, +2055, +1207, +1947, +2715, +1007, +-2408, +-2377, +-414, +-1230, +-1867, +-3633, +-9724, +-12863, +-3041, +14045, +10335, +-2909, +9310, +13964, +12254, +12191, +-3180, +-10105, +-345, +-192, +-11763, +-16662, +-13357, +-7749, +648, +2417, +-6327, +-892, +9776, +11498, +8643, +4306, +4143, +5477, +7138, +935, +-8335, +-6130, +-4015, +-5890, +-6088, +-6166, +-3580, +1133, +4766, +3210, +4129, +8211, +5810, +3999, +3155, +502, +-186, +-1683, +-4503, +-5169, +-3667, +-3607, +-4424, +-3364, +-1626, +496, +2096, +1967, +2167, +3503, +3642, +1586, +-283, +-332, +-32, +-1544, +-4229, +-7899, +-12648, +-8414, +7338, +10181, +-4368, +4177, +17458, +13517, +13236, +4243, +-5162, +1964, +2892, +-11114, +-17844, +-12323, +-7832, +-6496, +-4604, +-7565, +-3331, +7284, +7605, +3611, +5653, +10209, +9934, +7845, +4885, +-679, +-230, +-329, +-7610, +-9785, +-6780, +-5146, +-4804, +-3114, +-808, +1753, +6140, +6461, +4152, +5323, +6386, +4387, +857, +-710, +-1095, +-2162, +-3546, +-6282, +-6035, +-3066, +-2787, +-2956, +-1881, +510, +2940, +3258, +2654, +2028, +2429, +2474, +1033, +-233, +-2762, +-7034, +-11056, +-7771, +4646, +5433, +-5715, +3990, +16374, +11856, +10648, +5494, +-18, +5462, +1544, +-10835, +-12677, +-6704, +-7160, +-10246, +-8169, +-7359, +-3156, +2089, +-420, +260, +6647, +8892, +6911, +7202, +8552, +5729, +4090, +1688, +-3204, +-3246, +-3532, +-7259, +-7538, +-4539, +-3069, +-2792, +-884, +932, +3421, +5464, +3526, +3536, +5345, +4133, +2168, +584, +-281, +-1044, +-2500, +-4101, +-4951, +-3804, +-3109, +-3549, +-2503, +-910, +410, +1643, +2037, +1937, +2188, +2788, +2315, +-572, +-6503, +-9657, +-1302, +7699, +-1541, +-6680, +9781, +13307, +6279, +7430, +3430, +3365, +5749, +-4342, +-10037, +-4328, +-4039, +-10940, +-9452, +-4717, +-5445, +-3381, +-2392, +-2448, +2723, +4173, +2037, +4710, +9437, +7904, +4223, +5554, +4404, +1385, +-43, +-3303, +-4253, +-3654, +-5194, +-5691, +-3290, +-1456, +-2081, +-498, +1909, +2226, +3394, +3325, +2560, +4033, +3472, +1280, +1159, +354, +-1428, +-2003, +-2912, +-3889, +-3756, +-3522, +-3245, +-2163, +-801, +-58, +556, +1671, +2327, +2137, +1292, +-3214, +-7879, +-365, +8792, +-2058, +-6971, +10764, +11376, +2080, +7475, +5194, +2926, +4953, +-5039, +-7315, +-715, +-5646, +-12680, +-6937, +-1755, +-6613, +-5901, +-2174, +-1343, +2238, +575, +-682, +5661, +9086, +4503, +2478, +7910, +6936, +1933, +1266, +-19, +-835, +-2541, +-5805, +-4897, +-2034, +-3317, +-5455, +-1761, +1654, +-167, +-301, +2165, +3287, +3091, +2318, +1799, +3063, +3081, +-334, +-481, +970, +-1720, +-3691, +-3239, +-2820, +-2991, +-3206, +-2470, +-811, +529, +173, +716, +2623, +1564, +-3845, +-6581, +2529, +8041, +-5370, +-4499, +13582, +7503, +-109, +8820, +5684, +4438, +3673, +-6724, +-2925, +1272, +-9126, +-12206, +-2956, +-2350, +-9067, +-5194, +-1653, +-1288, +390, +-2551, +530, +6921, +4657, +798, +5477, +10107, +4739, +2049, +4361, +2961, +561, +-2843, +-4325, +-1612, +-2273, +-6381, +-5260, +-109, +-1162, +-3773, +-522, +1928, +1069, +328, +1702, +3025, +2946, +2046, +955, +2895, +2338, +-1672, +-1136, +-243, +-2378, +-3644, +-2902, +-1987, +-2112, +-1495, +-920, +270, +1683, +595, +-992, +-4240, +-4096, +5163, +3365, +-8693, +2644, +13871, +721, +2637, +10991, +4279, +5176, +1215, +-4254, +1188, +-1917, +-10538, +-7706, +-284, +-6409, +-9875, +-1970, +-2217, +-3228, +-2424, +-2575, +1869, +3423, +1156, +1937, +7458, +7611, +2627, +5239, +6736, +2968, +897, +-186, +-48, +-1270, +-3511, +-4529, +-2943, +-1507, +-4284, +-3616, +-532, +-870, +-1332, +-877, +1520, +2161, +605, +2045, +3158, +2852, +1636, +554, +1527, +479, +-1720, +-2091, +-1287, +-1420, +-2853, +-1994, +-642, +-702, +-651, +-305, +809, +-1228, +-6310, +-3284, +6444, +57, +-9694, +6692, +12322, +-2264, +4655, +10553, +3995, +5217, +-66, +-1294, +2509, +-3061, +-9247, +-4914, +871, +-7968, +-9271, +-1035, +-3443, +-5114, +-3791, +-1539, +1162, +829, +660, +2385, +7135, +5285, +1660, +6675, +7080, +2594, +1368, +2909, +2358, +-1581, +-2121, +-1548, +-1810, +-3079, +-4944, +-2309, +-1422, +-3854, +-2656, +-14, +115, +-634, +735, +2188, +2383, +1821, +1231, +2298, +1998, +6, +-378, +210, +-244, +-1924, +-1735, +-317, +-1118, +-1969, +-886, +5, +-368, +-410, +-812, +-3948, +-5540, +1489, +4735, +-7002, +-3001, +13628, +3594, +-3100, +10227, +7590, +2375, +2916, +1211, +1479, +-631, +-3134, +-6350, +-1802, +-978, +-10207, +-6177, +-1046, +-4499, +-6925, +-3423, +1443, +-1421, +-584, +2444, +2882, +5009, +3294, +3499, +5559, +5411, +3077, +1096, +4451, +2750, +-1703, +-631, +383, +-1183, +-4035, +-2959, +-1350, +-3069, +-3804, +-2694, +-236, +-904, +-1864, +513, +1545, +1463, +455, +1019, +2475, +970, +230, +551, +798, +211, +-916, +-468, +-216, +-352, +-1036, +-1298, +-138, +-232, +-750, +-580, +40, +-1001, +-5521, +-4688, +5193, +3492, +-9220, +1094, +13917, +1137, +-3168, +7172, +9020, +2400, +-2739, +3367, +3104, +-2930, +-2350, +-4632, +-2215, +-2432, +-6993, +-6593, +-3793, +228, +-5689, +-6176, +2457, +1840, +-1003, +-1275, +4305, +5439, +333, +2841, +4258, +4558, +3512, +1238, +3254, +2559, +1884, +-421, +-1639, +1150, +-1170, +-3158, +-3000, +-1500, +-1025, +-3848, +-2200, +-277, +-804, +-1328, +-773, +1228, +162, +-96, +884, +812, +1234, +386, +645, +708, +381, +633, +-624, +-126, +146, +-872, +-957, +-586, +223, +-698, +-781, +544, +261, +200, +-328, +-2742, +-4169, +1605, +6106, +-3718, +-5298, +7649, +6832, +-1261, +-1390, +4067, +6767, +-470, +-1764, +1864, +-38, +257, +-2297, +-3900, +-2558, +-1958, +-1561, +-6583, +-4334, +516, +-2266, +-3226, +-2200, +2206, +1794, +-1454, +1915, +2658, +3157, +2576, +1949, +3410, +1896, +3450, +2310, +117, +1588, +1002, +917, +-1493, +-1639, +129, +-2106, +-2237, +-2421, +-1808, +-1254, +-2307, +-727, +-923, +-651, +449, +46, +471, +268, +1098, +710, +-117, +1031, +362, +-192, +-90, +398, +471, +-775, +-349, +271, +125, +-277, +-403, +-31, +162, +682, +-104, +-477, +441, +534, +682, +136, +-219, +114, +-447, +-2159, +-2436, +1852, +1779, +-2721, +-567, +1960, +1799, +1184, +-179, +1457, +1266, +629, +1852, +-82, +-866, +-345, +61, +-696, +-3194, +-1676, +-726, +-1898, +-1857, +-1936, +-516, +-494, +-253, +808, +-301, +554, +1218, +1193, +1286, +398, +1408, +1364, +843, +1215, +506, +400, +94, +496, +632, +-447, +-192, +-387, +-386, +-505, +-1087, +-390, +-591, +-458, +-196, +-703, +-257, +-225, +87, +90, +-470, +210, +258, +-121, +-270, +-150, +267, +-203, +-43, +302, +-101, +47, +244, +209, +63, +142, +353, +64, +-158, +-79, +312, +-121, +-985, +-253, +224, +-389, +-603, +-351, +-28, +56, +376, +220, +-222, +353, +635, +478, +441, +85, +-219, +-768, +-570, +876, +771, +-478, +-189, +482, +529, +329, +211, +618, +210, +-94, +575, +101, +-511, +-508, +-454, +-437, +-1064, +-996, +-845, +-1071, +-617, +-593, +-579, +-382, +-58, +471, +253, +135, +289, +926, +1221, +374, +432, +626, +645, +834, +325, +203, +84, +-69, +-36, +-344, +-247, +-287, +-308, +-257, +-498, +-158, +-109, +-198, +51, +-60, +-96, +-138, +-56, +98, +-11, +54, +-73, +-188, +-216, +-209, +-5, +-219, +-244, +-28, +-33, +68, +-84, +-84, +80, +73, +119, +-16, +66, +277, +234, +102, +-55, +-16, +47, +2, +-93, +-193, +-113, +-55, +50, +-53, +-307, +-24, +213, +98, +37, +-31, +-7, +158, +335, +243, +22, +-138, +-114, +100, +-46, +-12, +59, +-209, +-89, +-387, +-869, +-338, +349, +214, +-232, +57, +417, +335, +312, +414, +604, +151, +63, +478, +22, +-329, +-402, +-315, +-355, +-754, +-553, +-526, +-538, +-332, +-424, +-199, +-28, +5, +-42, +94, +415, +271, +316, +136, +90, +485, +233, +202, +189, +-7, +119, +61, +238, +200, +-237, +-254, +-49, +136, +64, +-79, +20, +129, +93, +9, +163, +95, +-203, +-49, +-24, +-295, +-223, +-110, +-223, +-396, +-499, +-400, +-240, +-33, +98, +-1, +54, +179, +134, +97, +78, +77, +83, +197, +296, +85, +70, +180, +-124, +-99, +192, +-128, +-218, +57, +-193, +-181, +74, +-113, +-140, +-164, +-338, +-179, +243, +366, +-42, +-277, +-104, +326, +618, +-14, +-451, +-82, +427, +529, +-158, +-205, +119, +80, +131, +-334, +-213, +29, +-440, +-203, +-304, +-836, +-890, +-169, +646, +-67, +-447, +172, +636, +871, +527, +643, +608, +262, +642, +401, +-199, +-569, +-523, +23, +-393, +-1005, +-848, +-468, +-303, +-376, +-237, +-406, +-287, +127, +-24, +32, +107, +294, +410, +155, +369, +735, +1157, +894, +228, +386, +77, +-355, +-358, +-547, +-555, +-441, +-222, +-250, +-179, +108, +136, +345, +287, +162, +-33, +-328, +-152, +-376, +-598, +-557, +-479, +-116, +-18, +-29, +-179, +-58, +306, +129, +206, +138, +67, +337, +284, +462, +255, +127, +401, +97, +33, +-124, +-90, +194, +-120, +-174, +-185, +-107, +-46, +-546, +-587, +-11, +101, +-488, +-414, +-205, +-223, +604, +237, +-778, +-128, +197, +-56, +346, +-42, +-471, +543, +625, +42, +398, +270, +352, +612, +226, +-97, +-545, +-986, +-945, +180, +328, +-916, +-487, +557, +1254, +725, +-351, +751, +1211, +679, +478, +-325, +-431, +-253, +-48, +-569, +-1721, +-1248, +-523, +-457, +-1384, +-1587, +255, +138, +-553, +-114, +-66, +592, +657, +497, +609, +570, +1263, +1060, +490, +405, +734, +1057, +-32, +-239, +210, +68, +-104, +-819, +-495, +-219, +-666, +-557, +-737, +-389, +-352, +-536, +-222, +-397, +50, +74, +-90, +59, +-155, +548, +417, +-70, +325, +411, +649, +248, +204, +645, +186, +219, +112, +-70, +-109, +-446, +-278, +-542, +-702, +-586, +-596, +-352, +-617, +-462, +-216, +-222, +25, +-247, +-18, +456, +500, +543, +379, +531, +935, +1053, +335, +25, +672, +318, +-28, +-816, +-2456, +-1516, +306, +-121, +-1684, +-1292, +1694, +2342, +236, +60, +2252, +3274, +1020, +-188, +1232, +1227, +-252, +-1636, +-1516, +-904, +-1924, +-2779, +-2848, +-2019, +-1439, +-2150, +-1854, +-683, +309, +118, +-339, +1142, +2092, +1617, +1234, +1834, +2791, +2007, +1289, +1677, +1789, +1272, +289, +217, +270, +-317, +-828, +-1357, +-1162, +-1102, +-1626, +-1775, +-1529, +-903, +-1022, +-1267, +-600, +-113, +-67, +-274, +162, +766, +571, +349, +359, +1031, +1385, +534, +396, +1299, +1418, +144, +-242, +669, +265, +-870, +-965, +-404, +-662, +-1479, +-1228, +-777, +-889, +-1008, +-862, +-344, +42, +110, +54, +404, +1167, +1098, +571, +942, +1528, +1010, +363, +766, +584, +-897, +-1931, +-1206, +-25, +-637, +-1718, +-533, +1422, +900, +-67, +1286, +2403, +1732, +659, +1009, +1558, +228, +-802, +-877, +-925, +-1503, +-2632, +-2514, +-2009, +-2026, +-2343, +-2281, +-906, +-525, +-892, +-334, +718, +1351, +805, +1249, +2375, +2283, +1903, +1872, +2457, +2290, +1439, +1279, +1129, +860, +43, +-607, +-550, +-942, +-1455, +-1851, +-1708, +-1513, +-1901, +-1768, +-1313, +-951, +-920, +-816, +-144, +112, +93, +227, +495, +816, +757, +554, +582, +1324, +1474, +458, +711, +1433, +798, +-86, +145, +626, +-513, +-1102, +-339, +-651, +-1347, +-1325, +-907, +-1033, +-1323, +-828, +-642, +-444, +-113, +-33, +411, +789, +969, +827, +980, +1337, +1112, +1075, +727, +374, +27, +-933, +-1200, +-696, +-79, +-913, +-1343, +905, +997, +-110, +963, +1732, +1617, +723, +866, +1238, +71, +-341, +-839, +-1040, +-1214, +-2238, +-2186, +-1978, +-1808, +-2140, +-2121, +-819, +-845, +-894, +-189, +489, +830, +605, +1397, +1894, +1789, +1928, +1903, +2286, +2038, +1530, +1394, +1204, +891, +-12, +-249, +-227, +-934, +-1386, +-1439, +-1292, +-1607, +-1796, +-1363, +-1213, +-1135, +-1015, +-678, +-307, +-260, +-90, +165, +466, +520, +431, +665, +667, +502, +727, +1115, +806, +367, +1021, +1166, +173, +83, +558, +-42, +-816, +-562, +-464, +-1091, +-1190, +-917, +-975, +-1025, +-924, +-692, +-450, +-291, +-193, +142, +595, +626, +686, +970, +1082, +990, +805, +867, +843, +319, +17, +-195, +-859, +-952, +-270, +-365, +-1005, +-184, +815, +199, +328, +1211, +1085, +894, +789, +633, +384, +-89, +-576, +-976, +-924, +-1469, +-2074, +-1662, +-1558, +-1801, +-1713, +-1090, +-713, +-758, +-223, +244, +524, +791, +986, +1443, +1626, +1612, +1636, +1802, +1817, +1365, +1225, +1156, +713, +267, +23, +-169, +-603, +-894, +-988, +-1146, +-1236, +-1325, +-1250, +-1073, +-1022, +-940, +-717, +-448, +-366, +-295, +-28, +160, +192, +305, +522, +591, +553, +554, +502, +492, +703, +751, +373, +354, +735, +388, +-164, +102, +87, +-564, +-675, +-444, +-706, +-992, +-816, +-678, +-750, +-689, +-505, +-259, +-150, +-116, +176, +438, +465, +560, +815, +880, +638, +615, +851, +466, +-58, +207, +19, +-777, +-959, +-577, +-66, +-379, +-678, +444, +939, +363, +565, +1241, +1237, +565, +407, +598, +155, +-564, +-972, +-849, +-1078, +-1833, +-1883, +-1422, +-1428, +-1737, +-1373, +-620, +-553, +-545, +46, +621, +725, +734, +1186, +1600, +1530, +1380, +1579, +1777, +1428, +1053, +1111, +992, +452, +61, +49, +-175, +-716, +-967, +-907, +-1025, +-1335, +-1370, +-1115, +-1063, +-1161, +-979, +-622, +-477, +-475, +-219, +156, +240, +243, +503, +785, +734, +650, +795, +826, +557, +315, +452, +605, +60, +-329, +190, +153, +-550, +-494, +-135, +-389, +-811, +-593, +-314, +-597, +-669, +-386, +-167, +-210, +-266, +78, +299, +187, +206, +471, +554, +353, +455, +582, +393, +261, +217, +119, +-53, +-186, +-361, +-647, +-732, +-604, +-236, +-86, +-325, +388, +1004, +599, +871, +1273, +1200, +945, +645, +653, +224, +-325, +-740, +-1025, +-1149, +-1776, +-1976, +-1733, +-1752, +-1781, +-1622, +-985, +-698, +-570, +27, +500, +829, +990, +1336, +1726, +1749, +1748, +1770, +1867, +1667, +1258, +1130, +910, +447, +-38, +-286, +-509, +-991, +-1326, +-1383, +-1461, +-1615, +-1615, +-1384, +-1196, +-1080, +-838, +-482, +-175, +-14, +216, +546, +721, +771, +874, +1017, +977, +800, +710, +674, +476, +139, +50, +37, +-290, +-491, +-485, +-547, +-501, +-539, +-647, +-450, +-303, +-443, +-355, +5, +6, +-121, +158, +337, +213, +237, +445, +488, +373, +371, +309, +216, +257, +166, +-93, +-67, +-25, +-487, +-577, +-237, +-757, +-1373, +-832, +-334, +-368, +-174, +226, +1135, +1470, +1102, +1724, +2099, +1709, +1214, +900, +893, +-62, +-961, +-1193, +-1544, +-2098, +-2837, +-2650, +-2327, +-2490, +-2272, +-1748, +-890, +-508, +-179, +742, +1418, +1785, +1945, +2451, +2852, +2549, +2342, +2263, +2071, +1439, +723, +422, +-70, +-780, +-1397, +-1652, +-1795, +-2228, +-2373, +-2126, +-1836, +-1672, +-1380, +-736, +-179, +146, +496, +999, +1399, +1449, +1470, +1602, +1565, +1249, +881, +663, +364, +-144, +-546, +-764, +-1006, +-1224, +-1274, +-1323, +-1236, +-962, +-746, +-407, +-120, +80, +463, +721, +747, +843, +993, +900, +669, +618, +533, +236, +-48, +-107, +-201, +-458, +-556, +-542, +-529, +-465, +-437, +-307, +-188, +-438, +-662, +-305, +-39, +-849, +-1609, +-263, +1428, +228, +-375, +2323, +3098, +1664, +1745, +2553, +2535, +1112, +77, +-77, +-756, +-1720, +-3222, +-3587, +-2878, +-3439, +-4100, +-3459, +-1755, +-1227, +-1445, +83, +1728, +2314, +2379, +2965, +3941, +3821, +3266, +2732, +2490, +2154, +755, +-389, +-760, +-1169, +-2230, +-3181, +-2864, +-2619, +-2872, +-2717, +-1946, +-927, +-441, +68, +922, +1777, +2357, +2318, +2405, +2664, +2408, +1643, +895, +553, +-104, +-1131, +-1816, +-2166, +-2399, +-2609, +-2615, +-2416, +-1697, +-736, +-598, +40, +1632, +2103, +1854, +2137, +2549, +2345, +1456, +902, +564, +-128, +-821, +-1510, +-1762, +-1629, +-1827, +-1897, +-1407, +-639, +-298, +-256, +342, +1237, +1516, +948, +881, +1300, +285, +-601, +-106, +-1005, +-2152, +-765, +366, +-225, +105, +1800, +2667, +2263, +2358, +2609, +1902, +1309, +383, +-1178, +-2028, +-2431, +-3415, +-4550, +-4205, +-3344, +-3426, +-2845, +-1330, +27, +949, +1939, +3073, +3622, +4112, +4210, +3486, +2987, +2535, +1477, +2, +-942, +-1447, +-2432, +-3129, +-3225, +-3139, +-2816, +-2288, +-1557, +-826, +190, +1229, +1697, +2171, +2713, +2848, +2494, +1998, +1574, +810, +-38, +-777, +-1573, +-2133, +-2414, +-2554, +-2640, +-2453, +-1750, +-916, +-403, +165, +1489, +2218, +1984, +2950, +3358, +1847, +1268, +1173, +3, +-1163, +-1755, +-2176, +-2690, +-2518, +-1972, +-1908, +-1192, +22, +618, +1019, +1695, +2107, +1666, +1636, +2010, +1092, +94, +-263, +-1376, +-1768, +-457, +-1731, +-5151, +-3981, +955, +2337, +-400, +750, +5303, +6160, +5173, +3503, +1711, +2310, +1724, +-1812, +-6147, +-6323, +-3861, +-5816, +-7464, +-5990, +-3493, +-1001, +97, +1540, +2770, +5367, +7786, +5898, +4386, +4606, +4302, +1937, +-1267, +-2217, +-3112, +-3790, +-4215, +-5298, +-4526, +-2551, +-773, +-546, +-32, +2599, +3965, +3955, +3518, +3064, +2937, +2131, +893, +-1169, +-2477, +-2268, +-2844, +-3763, +-3940, +-2899, +-1616, +-1023, +-181, +607, +1586, +2617, +3023, +3070, +2914, +2991, +2172, +623, +-310, +-1374, +-2183, +-2752, +-3338, +-3214, +-2667, +-1629, +-816, +-278, +799, +1765, +2420, +2415, +2095, +1811, +1020, +509, +175, +-542, +-1258, +-1676, +-1622, +-1721, +-1740, +-1068, +-852, +-2054, +-2617, +929, +5290, +4343, +2568, +4316, +5511, +5146, +3002, +-412, +-2276, +-2717, +-3204, +-6159, +-8896, +-7253, +-4846, +-3602, +-2969, +-1694, +1159, +3995, +6267, +6021, +4739, +5447, +5599, +3839, +720, +-1621, +-2390, +-3349, +-4039, +-4975, +-5170, +-3395, +-1315, +139, +701, +2083, +4056, +4738, +4561, +3559, +2429, +1602, +507, +-1149, +-3232, +-4042, +-3810, +-3787, +-3580, +-3000, +-1677, +-99, +1293, +2238, +2416, +2580, +2706, +3382, +4128, +2082, +-743, +-502, +-239, +-2169, +-3426, +-3827, +-3585, +-2181, +-999, +-751, +-658, +1255, +3304, +2794, +1816, +1619, +1680, +1241, +8, +-1322, +-2153, +-1180, +-321, +-1526, +-2302, +-1478, +-72, +363, +-230, +-426, +-82, +-103, +-77, +2541, +4581, +3326, +3631, +4197, +3161, +2512, +785, +-1567, +-3641, +-4417, +-4491, +-6115, +-6640, +-5357, +-3878, +-2181, +-630, +1004, +2187, +3811, +5725, +5413, +4276, +3600, +2869, +1625, +-298, +-1819, +-3206, +-3817, +-3270, +-3022, +-2734, +-1844, +-175, +1408, +2225, +2944, +3158, +3145, +3144, +2440, +1057, +-421, +-1236, +-1857, +-2701, +-3165, +-3225, +-2780, +-1898, +-937, +-298, +-206, +87, +1419, +3719, +4816, +3523, +2068, +1482, +881, +-351, +-2295, +-3896, +-4219, +-3195, +-2016, +-1842, +-1410, +9, +1300, +1732, +1636, +1591, +1442, +1292, +1060, +905, +951, +40, +-693, +-286, +-671, +-1437, +-1264, +-383, +371, +148, +623, +1538, +-1352, +-5744, +-4090, +1312, +2921, +1799, +1479, +2488, +5347, +7009, +4782, +210, +-1976, +-191, +-607, +-4050, +-6603, +-6961, +-5451, +-3585, +-2599, +-3395, +-3123, +320, +3569, +4271, +3628, +3813, +4892, +5331, +4548, +2148, +-569, +-1301, +-1040, +-1894, +-3494, +-4162, +-3511, +-2160, +-805, +-235, +-93, +737, +2313, +3162, +2711, +2027, +1466, +942, +786, +684, +-712, +-2331, +-1677, +-1330, +-2395, +-1867, +-539, +-52, +-62, +434, +820, +233, +735, +1092, +-206, +-628, +-8, +124, +-546, +-681, +-390, +-814, +-535, +90, +-5, +-80, +381, +1054, +919, +810, +759, +221, +373, +445, +-358, +-1278, +-1213, +15, +517, +240, +469, +618, +117, +-366, +-1994, +-3771, +-679, +3229, +1528, +-90, +1057, +1545, +2429, +2774, +1183, +-1064, +-1624, +94, +-409, +-2670, +-2848, +-2292, +-1846, +-1057, +-812, +-1316, +-1070, +454, +1003, +468, +747, +1275, +1268, +1598, +1792, +975, +808, +942, +410, +441, +-32, +-622, +-261, +-436, +-603, +-474, +-709, +-641, +-368, +-305, +-310, +-242, +-165, +-29, +114, +107, +193, +187, +158, +287, +194, +100, +51, +-28, +-31, +-70, +-19, +-33, +-143, +-165, +-225, +-240, +-244, +-273, +-283, +-269, +-118, +-7, +34, +68, +94, +196, +267, +258, +202, +136, +102, +29, +-72, +-179, +-281, +-298, +-274, +-227, +-161, +-15, +162, +227, +236, +268, +332, +335, +237, +132, +8, +-77, +-130, +-179, +-220, +-267, +-270, +-218, +-159, +-65, +46, +111, +144, +187, +226, +197, +129, +56, +-14, +-93, +-179, +-259, +-280, +-256, +-236, +-198, +-168, +-134, +-41, +51, +66, +42, +50, +76, +107, +156, +168, +144, +124, +110, +76, +-5, +-50, +-72, +-130, +-219, +-284, +-253, +-181, +-118, +-75, +-56, +-9, +77, +144, +175, +176, +206, +247, +240, +187, +85, +-15, +-79, +-158, +-240, +-274, +-283, +-257, +-178, +-96, +-36, +44, +131, +196, +206, +180, +175, +134, +61, +-26, +-116, +-179, +-195, +-188, +-215, +-250, +-209, +-137, +-97, +-62, +-22, +-5, +32, +84, +114, +93, +100, +142, +135, +84, +33, +3, +-8, +-9, +-22, +-60, +-79, +-50, +-5, +17, +2, +-1, +6, +23, +40, +43, +25, +26, +42, +29, +-15, +-55, +-104, +-134, +-147, +-203, +-244, +-220, +-175, +-118, +-58, +-5, +44, +95, +136, +135, +134, +132, +115, +60, +-4, +-46, +-72, +-110, +-124, +-135, +-159, +-145, +-93, +-46, +-21, +44, +107, +141, +151, +132, +111, +110, +100, +44, +-15, +-43, +-67, +-92, +-107, +-110, +-96, +-80, +-58, +-15, +13, +44, +67, +68, +42, +23, +19, +-15, +-49, +-86, +-101, +-121, +-131, +-141, +-159, +-165, +-152, +-120, +-92, +-52, +13, +67, +107, +139, +151, +141, +117, +76, +36, +10, +-16, +-35, +-73, +-75, +-56, +-46, +-49, +-58, +-46, +-15, +17, +40, +43, +53, +59, +49, +34, +12, +-9, +-19, +-43, +-79, +-116, +-130, +-134, +-123, +-100, +-96, +-77, +-48, +-12, +30, +44, +59, +60, +47, +40, +25, +20, +22, +15, +6, +-14, +-24, +-29, +-35, +-36, +-43, +-45, +-41, +-33, +-18, +-9, +3, +6, +-2, +-4, +3, +9, +17, +20, +17, +10, +3, +5, +3, +-12, +-24, +-31, +-36, +-45, +-52, +-48, +-55, +-59, +-60, +-55, +-53, +-53, +-63, +-65, +-60, +-50, +-43, +-48, +-35, +-24, +-25, +-35, +-41, +-39, +-33, +-16, +-2, +12, +27, +42, +57, +68, +66, +61, +51, +44, +25, +0, +-9, +-31, +-49, +-53, +-52, +-36, +-39, +-41, +-7, +27, +25, +15, +27, +32, +23, +20, +5, +-18, +-26, +-36, +-39, +-50, +-62, +-63, +-62, +-55, +-50, +-41, +-33, +-25, +-14, +-1, +5, +9, +15, +5, +-7, +-18, +-26, +-33, +-46, +-56, +-73, +-82, +-66, +-67, +-50, +-38, +-22, +-7, +17, +30, +37, +36, +29, +19, +13, +12, +-7, +-25, +-41, +-42, +-38, +-49, +-49, +-35, +-26, +-8, +6, +0, +0, +-2, +-5, +-1, +-4, +-2, +-12, +-12, +-15, +-16, +-19, +-24, +-35, +-39, +-48, +-46, +-35, +-25, +-4, +13, +25, +27, +3, +2, +30, +27, +-1, +-1, +-16, +-25, +-18, +-36, +-42, +-48, +-62, +-56, +-48, +-53, +-46, +-36, +-26, +-15, +-8, +12, +23, +29, +25, +13, +5, +5, +0, +-16, +-12, +-19, +-25, +-24, +-29, +-29, +-39, +-33, +-25, +-33, +-19, +-5, +-11, +-22, +-24, +-18, +-25, +-32, +-39, +-39, +-32, +-41, +-36, +-43, +-39, +-18, +-11, +-7, +-12, +-8, +-4, +-7, +0, +5, +-4, +2, +6, +-2, +-5, +-19, +-25, +-29, +-33, +-39, +-36, +-25, +-24, +-12, +-7, +5, +13, +16, +34, +29, +3, +-1, +-1, +-14, +-16, +-18, +-19, +-19, +-26, +-22, +-32, +-26, +-26, +-28, +-14, +-11, +-5, +-2, +-4, +0, +-9, +-15, +-16, +-28, +-28, +-32, +-48, +-56, +-52, +-55, +-56, +-56, +-48, +-41, +-31, +-22, +-8, +-2, +-1, +9, +10, +-1, +3, +-7, +-1, +0, +2, +-1, +-11, +-16, +-28, +-38, +-45, +-41, +-42, +-24, +-15, +5, +9, +-9, +-19, +-62, +-192, +-328, +125, +1057, +514, +-579, +277, +-138, +-1499, +-18, +595, +-276, +67, +-332, +-853, +761, +1310, +-301, +-237, +513, +762, +540, +-164, +57, +-1481, +-1500, +396, +-1350, +-365, +1445, +-933, +136, +1200, +-686, +876, +1901, +166, +-349, +-244, +-198, +-1073, +-1085, +187, +-481, +294, +893, +-877, +-4, +659, +-7, +-7, +-178, +73, +-62, +463, +223, +-523, +500, +209, +318, +199, +-818, +398, +-28, +-508, +320, +-635, +-127, +226, +-688, +83, +-65, +-426, +214, +-318, +-297, +425, +134, +29, +311, +-21, +115, +316, +-417, +-84, +127, +-294, +407, +219, +-470, +-110, +221, +-148, +-176, +231, +-189, +180, +194, +-562, +172, +71, +110, +90, +-645, +107, +-58, +267, +646, +-467, +349, +628, +-366, +-205, +-16, +-235, +-386, +-322, +-31, +22, +54, +316, +-226, +219, +689, +-186, +272, +-288, +-679, +37, +-351, +17, +-284, +-130, +95, +-312, +347, +-15, +563, +439, +-696, +54, +-113, +-233, +-212, +-246, +190, +-33, +91, +-76, +-106, +192, +88, +117, +196, +432, +56, +-100, +279, +0, +-65, +-243, +-412, +-49, +-193, +-361, +121, +104, +-280, +102, +-89, +-120, +488, +-7, +-145, +194, +261, +-270, +-314, +396, +-185, +-93, +271, +81, +134, +-317, +13, +-158, +-549, +445, +388, +-53, +-2, +-550, +-332, +88, +-237, +-131, +-45, +36, +386, +-128, +-243, +90, +145, +686, +-259, +-511, +217, +-213, +422, +-318, +-277, +809, +-339, +131, +-73, +-577, +354, +296, +527, +-158, +-488, +-89, +-196, +203, +-252, +-86, +146, +-242, +264, +-39, +56, +287, +-470, +-624, +-666, +71, +632, +221, +292, +189, +390, +39, +-600, +-80, +-182, +-79, +182, +44, +-33, +-700, +101, +319, +-417, +895, +459, +-155, +550, +-325, +-645, +-325, +-94, +-491, +-460, +284, +-193, +182, +669, +325, +-58, +122, +520, +-504, +-423, +169, +169, +360, +-165, +-195, +-404, +-161, +42, +-1156, +-581, +449, +434, +301, +-41, +405, +544, +298, +-87, +-716, +46, +322, +-460, +-590, +-164, +-28, +-530, +-140, +141, +138, +776, +514, +-121, +-461, +380, +1170, +257, +-32, +10, +-174, +-114, +-369, +-771, +-925, +148, +571, +-413, +-89, +539, +17, +-87, +6, +-716, +-392, +683, +124, +-436, +233, +473, +66, +-198, +-329, +-478, +-26, +588, +0, +-475, +362, +483, +-189, +-145, +-310, +-516, +-4, +63, +-461, +-269, +413, +360, +507, +805, +291, +447, +580, +-383, +-723, +-312, +-141, +-270, +-638, +-824, +-416, +-89, +-277, +-126, +476, +1006, +1010, +898, +1040, +320, +-185, +-148, +-794, +-989, +-1019, +-972, +-450, +-210, +17, +-31, +83, +90, +-138, +415, +219, +-162, +597, +1156, +1003, +108, +-376, +-202, +-291, +-216, +-644, +-1095, +-404, +282, +248, +-150, +145, +371, +-104, +305, +261, +-512, +-267, +-101, +-549, +-553, +59, +260, +350, +557, +-114, +-223, +495, +388, +278, +414, +177, +22, +23, +29, +-12, +-65, +90, +-250, +-756, +-60, +533, +142, +-76, +-157, +-181, +193, +-77, +-1185, +-1054, +54, +333, +-124, +-750, +-431, +700, +1449, +1017, +-877, +-1236, +415, +277, +-586, +-126, +373, +326, +85, +410, +132, +-361, +185, +-293, +-440, +915, +1344, +155, +-698, +262, +519, +-270, +-431, +-678, +-693, +-556, +-294, +78, +-182, +-325, +-478, +-675, +-55, +248, +-404, +-395, +415, +907, +614, +-206, +-14, +699, +387, +-135, +-276, +192, +759, +456, +-263, +-420, +340, +585, +-128, +-208, +-114, +111, +781, +93, +-675, +-99, +-7, +-560, +-835, +-647, +-638, +-199, +853, +291, +-198, +666, +439, +-127, +-266, +-457, +-229, +-134, +-103, +-678, +-1277, +-120, +782, +461, +-101, +124, +985, +421, +-76, +-128, +-329, +493, +806, +653, +363, +349, +687, +-593, +-945, +-67, +-495, +-1020, +-1158, +-869, +-436, +359, +757, +-753, +-1234, +42, +680, +217, +-504, +-137, +609, +934, +333, +-750, +-252, +867, +632, +-327, +-104, +951, +1184, +548, +-529, +-618, +565, +969, +-179, +-967, +-184, +680, +735, +-87, +-1227, +-985, +125, +-7, +-1102, +-794, +676, +669, +-28, +-332, +-1333, +-1237, +513, +1204, +335, +318, +1758, +420, +-2489, +-1776, +76, +-359, +-1987, +-1489, +925, +2204, +2995, +2332, +306, +1254, +3049, +1171, +-1367, +-1189, +-468, +-1397, +-2357, +-2116, +-1536, +-1060, +-750, +-790, +-788, +-75, +638, +683, +699, +383, +91, +642, +911, +258, +-376, +-362, +-271, +-167, +241, +296, +308, +650, +945, +999, +883, +953, +946, +418, +-453, +-808, +-461, +-706, +-1258, +-988, +-434, +-52, +66, +-123, +151, +679, +428, +-481, +-509, +771, +714, +-512, +-1035, +-1486, +-726, +-31, +-1281, +-1212, +1309, +2854, +-717, +-5541, +-2528, +4411, +4364, +-965, +-2135, +1605, +6128, +6542, +901, +-2670, +955, +3056, +-1970, +-6739, +-4304, +-1117, +-2714, +-3398, +-2501, +-995, +1508, +2242, +360, +-608, +1734, +2558, +452, +-246, +119, +-35, +-26, +448, +260, +60, +1385, +1602, +292, +541, +1344, +673, +-386, +-482, +-556, +-744, +-250, +-352, +-906, +-236, +1023, +238, +-1847, +-1223, +598, +466, +107, +156, +44, +587, +1174, +431, +-1296, +-1827, +-647, +-169, +-780, +-1298, +-1319, +-43, +2335, +3246, +1074, +-2402, +-6047, +-7079, +-1059, +4745, +1480, +-734, +4822, +9405, +9224, +5118, +-67, +-1939, +-822, +-1629, +-6357, +-8638, +-5218, +-2163, +-2139, +-2847, +-1910, +727, +2801, +3025, +1442, +682, +1915, +2640, +1630, +-328, +-1203, +-831, +-587, +-253, +102, +145, +388, +1416, +1997, +1157, +750, +902, +285, +-634, +-968, +-935, +-1489, +-1441, +-559, +-307, +98, +255, +-79, +393, +757, +383, +-92, +224, +977, +612, +-250, +-768, +-1037, +-1196, +-1434, +-1257, +-528, +53, +-83, +128, +1382, +1759, +1323, +-341, +-8125, +-13054, +-157, +15976, +6087, +-6341, +5951, +14103, +11032, +4159, +-6743, +-10446, +-3027, +1775, +-9133, +-16626, +-6476, +3326, +1674, +-3781, +-1209, +4156, +6635, +7114, +2682, +-1791, +1685, +5147, +898, +-4427, +-3907, +-1369, +-1268, +-375, +-530, +-1009, +1666, +3818, +2716, +1439, +2971, +2807, +-334, +-836, +548, +-1022, +-3429, +-2739, +-1867, +-1887, +-494, +346, +44, +972, +2167, +1438, +-239, +-396, +-202, +-971, +-1043, +-826, +-696, +13, +401, +-335, +-805, +129, +226, +-515, +410, +1208, +717, +88, +-5350, +-13627, +-8527, +10641, +17424, +-276, +-2734, +12987, +14423, +8109, +-1717, +-11484, +-8209, +-128, +-4410, +-16396, +-14255, +-1867, +5154, +1136, +-2316, +3394, +8584, +10376, +6841, +-603, +-2497, +2138, +1684, +-4646, +-7354, +-4663, +-2188, +-675, +945, +795, +1892, +5103, +6024, +3291, +1198, +1634, +500, +-1851, +-2889, +-3691, +-3739, +-1530, +228, +-833, +-215, +2780, +3205, +1946, +1246, +642, +-103, +-849, +-1823, +-3171, +-2957, +-1587, +-1554, +-1490, +-322, +710, +1122, +1530, +1998, +1508, +689, +476, +669, +754, +-720, +-4025, +-6837, +-7325, +-6367, +-2698, +6174, +12964, +9699, +7442, +11835, +10703, +3935, +-2704, +-7836, +-10023, +-10369, +-10922, +-12144, +-10017, +-3153, +3001, +3870, +4798, +9021, +10308, +7988, +4810, +1285, +-1649 +}; diff --git a/codec2-dev/unittest/hts1a_1300.h b/codec2-dev/unittest/hts1a_1300.h new file mode 100644 index 00000000..a254ecce --- /dev/null +++ b/codec2-dev/unittest/hts1a_1300.h @@ -0,0 +1,8002 @@ +short hts1a_1300[] = { +0, +1, +1, +2, +2, +3, +2, +2, +2, +3, +2, +4, +2, +2, +-1, +0, +-2, +0, +2, +2, +-3, +-2, +-5, +-2, +-4, +-1, +-5, +-5, +-10, +-11, +-15, +-9, +-8, +0, +-4, +-5, +-10, +-5, +0, +1, +-3, +7, +3, +2, +0, +6, +10, +12, +5, +8, +9, +7, +13, +13, +5, +19, +23, +14, +3, +0, +7, +10, +9, +0, +-11, +-18, +-15, +-16, +-15, +-27, +-37, +-46, +-40, +-37, +-49, +-80, +-73, +-65, +-43, +-10, +39, +72, +88, +82, +82, +66, +57, +34, +38, +32, +28, +17, +28, +7, +1, +-12, +-1, +-13, +-2, +-9, +-11, +-24, +-16, +-26, +-16, +-24, +-11, +-17, +-11, +-21, +-14, +-26, +-11, +-9, +6, +-11, +-3, +-9, +2, +-5, +10, +11, +23, +2, +8, +5, +24, +14, +29, +9, +21, +14, +21, +11, +12, +9, +22, +4, +16, +0, +5, +-2, +-1, +-12, +2, +-6, +-13, +-29, +-22, +-37, +-25, +-32, +-29, +-42, +-45, +-60, +-51, +-59, +-45, +-19, +23, +57, +80, +69, +65, +49, +40, +34, +38, +20, +10, +5, +5, +-6, +-5, +-10, +-3, +-7, +-15, +-20, +-21, +-16, +-9, +-17, +-18, +-21, +-20, +-9, +-5, +-5, +-7, +-19, +-15, +-4, +2, +6, +-3, +-3, +1, +8, +7, +16, +12, +7, +3, +5, +15, +22, +15, +17, +12, +16, +6, +13, +-3, +8, +12, +9, +1, +7, +-1, +6, +-5, +-1, +-7, +-9, +-20, +-17, +-20, +-3, +-8, +-1, +-27, +-35, +-46, +-36, +-34, +-21, +-23, +2, +20, +43, +41, +52, +41, +37, +36, +41, +24, +16, +7, +1, +-18, +-14, +-22, +-6, +-4, +-5, +-8, +-7, +-15, +-14, +-20, +-10, +-21, +-13, +-3, +-2, +-7, +0, +1, +-4, +-10, +-3, +-1, +-1, +-4, +-2, +4, +13, +15, +11, +3, +-4, +3, +4, +2, +7, +13, +9, +9, +9, +6, +0, +1, +-1, +-1, +3, +5, +1, +0, +-5, +-2, +-12, +4, +-7, +-3, +-11, +-8, +-6, +-10, +-14, +-8, +-16, +-12, +-19, +-19, +-20, +-3, +0, +10, +23, +25, +27, +45, +30, +28, +19, +24, +13, +0, +-15, +-20, +-17, +-4, +-9, +-6, +-5, +-10, +-9, +0, +-1, +-7, +-14, +-14, +-6, +-6, +4, +0, +-5, +1, +4, +6, +4, +-1, +3, +-8, +-4, +1, +11, +9, +12, +6, +1, +1, +10, +6, +-2, +-3, +9, +7, +4, +4, +0, +-8, +0, +-3, +-1, +-2, +-1, +-6, +-19, +-10, +-18, +-13, +-15, +-14, +-11, +-6, +-4, +0, +7, +18, +16, +38, +34, +32, +23, +17, +7, +-6, +-24, +-17, +-16, +-9, +-6, +-5, +-12, +-3, +-12, +-5, +-6, +-5, +-15, +-6, +-3, +2, +1, +13, +0, +4, +0, +0, +-1, +7, +6, +11, +4, +2, +4, +9, +5, +7, +-4, +-1, +0, +7, +-1, +-7, +1, +1, +1, +0, +-5, +-10, +-9, +-9, +-6, +-13, +-13, +-9, +-7, +-10, +-5, +-3, +10, +12, +27, +21, +26, +17, +13, +9, +2, +-4, +5, +-10, +-4, +-18, +-11, +-15, +-5, +-6, +2, +-9, +-5, +-17, +-15, +-4, +13, +0, +0, +4, +15, +7, +2, +-4, +0, +-7, +10, +5, +13, +11, +8, +4, +8, +0, +-1, +0, +3, +-2, +1, +-3, +0, +0, +-12, +-14, +-18, +-15, +-14, +-15, +-16, +-7, +3, +9, +7, +12, +17, +24, +25, +27, +16, +10, +-8, +-2, +-8, +-8, +-14, +-10, +-13, +-2, +-7, +2, +-12, +-4, +-9, +3, +-2, +4, +-2, +13, +1, +7, +-9, +1, +0, +13, +6, +11, +0, +9, +-2, +6, +-9, +3, +-9, +10, +-5, +-7, +-4, +5, +-22, +-8, +-28, +-14, +-23, +-11, +-16, +7, +13, +31, +24, +35, +27, +33, +16, +20, +5, +3, +-20, +-6, +-13, +-2, +-17, +-10, +-18, +-2, +-7, +1, +-10, +-5, +-12, +-2, +-6, +4, +-5, +6, +-3, +-2, +-9, +-1, +-5, +1, +0, +3, +-8, +0, +-5, +0, +-6, +-13, +-11, +3, +-4, +-10, +-18, +-4, +0, +6, +4, +17, +26, +35, +38, +35, +34, +24, +15, +6, +-2, +0, +0, +5, +0, +-6, +-10, +-13, +-12, +-6, +-10, +-6, +-2, +-3, +-13, +-13, +-8, +-9, +-9, +-4, +-10, +-10, +-8, +-7, +-15, +-8, +-8, +-14, +-11, +-8, +-9, +-4, +-20, +-13, +-3, +-4, +-11, +-19, +-16, +1, +4, +15, +21, +39, +45, +56, +49, +48, +30, +26, +8, +4, +-4, +-5, +-3, +1, +-5, +-7, +-17, +-8, +-4, +-2, +-11, +-1, +-5, +-4, +-9, +-10, +-7, +-9, +-13, +-7, +-2, +-8, +-10, +-14, +-19, +-12, +-4, +-6, +-10, +-11, +-11, +-14, +-9, +-11, +-4, +-8, +-5, +-11, +-17, +-16, +-6, +-3, +15, +15, +38, +45, +56, +53, +49, +32, +31, +11, +14, +-7, +-5, +-10, +1, +-10, +-8, +-22, +-5, +-10, +-7, +-21, +-2, +-12, +2, +-13, +-1, +-11, +-4, +-17, +4, +0, +1, +-7, +0, +-6, +11, +5, +4, +-7, +2, +-10, +1, +-8, +-3, +-7, +1, +-11, +-13, +-26, +-16, +-29, +-11, +-12, +2, +11, +27, +32, +37, +32, +43, +27, +25, +12, +9, +-4, +-11, +-25, +-20, +-18, +-11, +-13, +-8, +-8, +-8, +-16, +-14, +-5, +4, +6, +10, +5, +8, +7, +4, +16, +8, +2, +4, +9, +13, +15, +4, +0, +0, +-3, +-1, +-2, +-7, +-6, +-1, +-6, +-12, +-20, +-21, +-29, +-29, +-16, +-14, +-3, +9, +16, +26, +31, +43, +37, +31, +23, +15, +7, +-5, +-22, +-23, +-23, +-18, +-18, +-16, +-18, +-5, +-10, +-9, +-16, +-7, +-6, +7, +1, +12, +7, +18, +9, +11, +0, +5, +0, +15, +8, +23, +8, +7, +-6, +3, +-8, +10, +-4, +6, +-10, +2, +-18, +-1, +-12, +-13, +-32, +-24, +-28, +-15, +-29, +1, +-6, +15, +21, +45, +41, +47, +32, +31, +14, +12, +-11, +-9, +-19, +-15, +-23, +-16, +-28, +-10, +-15, +-5, +-19, +-12, +-11, +3, +-4, +4, +1, +7, +7, +1, +-1, +4, +6, +16, +10, +14, +13, +11, +8, +7, +5, +7, +5, +3, +4, +1, +-9, +-7, +-8, +-15, +-11, +-20, +-22, +-26, +-26, +-28, +-23, +-17, +-2, +5, +30, +39, +56, +47, +46, +29, +23, +3, +7, +-7, +-1, +-22, +-22, +-33, +-25, +-30, +-19, +-17, +-11, +-22, +-2, +-5, +0, +-6, +12, +2, +19, +2, +11, +8, +16, +13, +16, +4, +14, +5, +13, +0, +7, +-1, +5, +-3, +7, +-1, +-2, +-6, +-4, +-16, +-6, +-12, +-7, +-13, +-12, +-23, +-22, +-30, +-20, +-23, +-6, +-1, +15, +18, +29, +33, +42, +36, +44, +36, +34, +21, +7, +-7, +-11, +-19, +-28, +-32, +-23, +-25, +-16, +-25, +-23, +-26, +-25, +-12, +-4, +-1, +0, +3, +7, +4, +7, +7, +12, +14, +4, +15, +16, +15, +15, +14, +5, +8, +4, +6, +4, +6, +11, +4, +6, +5, +-4, +-10, +-9, +-4, +-5, +-8, +-12, +-17, +-24, +-30, +-28, +-30, +-32, +-28, +-22, +-16, +-5, +6, +15, +27, +44, +52, +61, +50, +46, +36, +31, +17, +1, +-5, +-9, +-15, +-18, +-28, +-26, +-34, +-34, +-32, +-25, +-24, +-19, +-17, +-12, +-9, +0, +-6, +7, +0, +13, +9, +15, +12, +16, +10, +14, +13, +22, +14, +17, +0, +9, +1, +7, +7, +16, +4, +9, +-7, +-2, +-7, +4, +-2, +3, +-3, +-4, +-22, +-9, +-18, +-11, +-19, +-4, +-16, +-22, +-33, +-31, +-40, +-29, +-32, +-14, +-8, +17, +26, +51, +45, +57, +53, +60, +53, +53, +36, +31, +16, +12, +-7, +-18, +-32, +-36, +-44, +-39, +-45, +-36, +-41, +-35, +-31, +-24, +-28, +-17, +-14, +-2, +-6, +0, +8, +18, +18, +19, +24, +18, +11, +19, +12, +15, +18, +20, +19, +18, +13, +9, +4, +8, +6, +5, +0, +1, +-5, +0, +3, +4, +6, +4, +6, +3, +-5, +-7, +-16, +-18, +-19, +-12, +-4, +-7, +-14, +-24, +-32, +-42, +-39, +-43, +-39, +-30, +-29, +-25, +-20, +-5, +3, +16, +33, +49, +68, +79, +81, +84, +77, +70, +58, +41, +26, +9, +-1, +-16, +-30, +-39, +-49, +-53, +-50, +-52, +-51, +-46, +-40, +-41, +-36, +-33, +-27, +-18, +-10, +3, +9, +9, +16, +13, +14, +10, +14, +14, +11, +7, +10, +21, +23, +19, +16, +12, +7, +2, +3, +7, +8, +7, +10, +10, +15, +14, +6, +2, +-5, +-1, +-4, +-3, +-3, +-3, +1, +-1, +-2, +-3, +-12, +-16, +-18, +-12, +-11, +-10, +-6, +-3, +-12, +-19, +-19, +-23, +-24, +-22, +-22, +-34, +-39, +-33, +-31, +-18, +-2, +21, +51, +69, +82, +92, +87, +86, +77, +61, +42, +19, +0, +-11, +-21, +-33, +-43, +-46, +-50, +-54, +-59, +-53, +-47, +-42, +-34, +-26, +-16, +-10, +-1, +0, +-2, +-1, +9, +10, +15, +22, +27, +16, +3, +7, +2, +11, +16, +15, +16, +11, +10, +4, +3, +8, +4, +10, +6, +6, +8, +3, +0, +-1, +2, +-1, +-2, +-4, +-4, +-3, +0, +-3, +-6, +-7, +-8, +-13, +-15, +-13, +-12, +-14, +-12, +-15, +-17, +-24, +-32, +-36, +-41, +-40, +-26, +-12, +7, +25, +41, +63, +79, +80, +82, +70, +63, +50, +24, +7, +-6, +-17, +-35, +-38, +-33, +-38, +-40, +-45, +-45, +-31, +-30, +-24, +-17, +-18, +-13, +-5, +3, +3, +6, +5, +8, +7, +10, +11, +9, +11, +9, +8, +6, +5, +10, +11, +10, +10, +10, +4, +6, +7, +6, +5, +7, +11, +9, +9, +11, +9, +4, +1, +-2, +-3, +3, +4, +0, +-6, +-13, +-15, +-22, +-26, +-25, +-25, +-19, +-18, +-22, +-27, +-28, +-35, +-36, +-35, +-19, +-1, +21, +39, +64, +69, +73, +70, +64, +47, +34, +15, +1, +-13, +-16, +-31, +-30, +-39, +-32, +-29, +-17, +-19, +-21, +-17, +-3, +-16, +-7, +-8, +3, +-2, +4, +-4, +0, +-12, +0, +6, +5, +0, +7, +4, +9, +0, +17, +6, +8, +7, +12, +8, +17, +2, +5, +1, +6, +5, +7, +5, +6, +-2, +-3, +-3, +0, +-11, +0, +1, +0, +-6, +-9, +-18, +-6, +-8, +-9, +-14, +-4, +-14, +-19, +-29, +-28, +-29, +-23, +-22, +-7, +3, +25, +39, +59, +66, +68, +59, +51, +30, +16, +-2, +-14, +-25, +-26, +-40, +-24, +-25, +-12, +-16, +-13, +-17, +-10, +-21, +-10, +-14, +-1, +-9, +3, +0, +1, +-8, +5, +-8, +-2, +-3, +14, +6, +17, +1, +11, +5, +4, +-10, +15, +3, +12, +7, +14, +8, +15, +2, +8, +-4, +9, +0, +5, +-5, +8, +-6, +0, +-6, +0, +-15, +-10, +-23, +-15, +-15, +-6, +-20, +-12, +-20, +-17, +-27, +-18, +-14, +7, +13, +32, +42, +56, +43, +45, +34, +26, +10, +-2, +-14, +-10, +-25, +-21, +-22, +-12, +-18, +-11, +-9, +-17, +-12, +-7, +-15, +-1, +0, +-1, +-1, +1, +-12, +-8, +2, +8, +12, +7, +9, +4, +4, +3, +7, +4, +12, +6, +10, +15, +15, +3, +-3, +-5, +3, +6, +6, +0, +1, +-4, +-3, +-9, +-13, +-10, +-9, +-9, +-4, +-9, +-12, +-20, +-23, +-26, +-27, +-26, +-12, +2, +19, +38, +45, +48, +54, +44, +26, +15, +6, +-5, +-10, +-17, +-21, +-18, +-18, +-21, +-16, +-12, +-14, +-9, +-9, +-16, +-7, +3, +2, +0, +1, +-3, +9, +12, +1, +-3, +0, +3, +16, +10, +8, +10, +13, +4, +2, +7, +15, +5, +5, +3, +1, +-6, +1, +-4, +-6, +-7, +-3, +-20, +-7, +-17, +-12, +-18, +-14, +-21, +-25, +-34, +-20, +-22, +-2, +18, +44, +52, +70, +50, +47, +22, +4, +-6, +-12, +-21, +-17, +-20, +-10, +-18, +-16, +-15, +-10, +-11, +-9, +-5, +0, +-8, +-2, +0, +-4, +-3, +-1, +4, +7, +13, +12, +8, +0, +7, +5, +10, +5, +9, +9, +6, +-9, +-1, +0, +7, +-1, +7, +-5, +0, +-18, +-14, +-14, +2, +-2, +-9, +-34, +-27, +-34, +-18, +-22, +4, +9, +47, +47, +67, +53, +50, +20, +11, +-18, +-2, +-33, +-14, +-16, +-5, +-14, +2, +-21, +0, +-11, +0, +-21, +0, +-11, +-1, +-10, +5, +-17, +5, +-8, +13, +-3, +9, +-1, +17, +-1, +18, +2, +16, +2, +21, +1, +18, +-5, +10, +-7, +9, +-12, +8, +-17, +-5, +-29, +-14, +-31, +-3, +-27, +-16, +-35, +-11, +-9, +32, +16, +54, +43, +46, +14, +20, +-19, +3, +-11, +5, +-25, +-2, +-17, +-4, +-25, +7, +-17, +2, +-19, +1, +-6, +11, +-17, +0, +-9, +28, +1, +16, +-9, +9, +2, +23, +7, +20, +0, +13, +-3, +14, +-7, +9, +-4, +3, +-14, +0, +-21, +3, +-11, +-12, +-23, +-17, +-42, +-20, +-45, +-46, +-39, +-24, +-22, +11, +-2, +39, +89, +134, +120, +101, +57, +24, +3, +1, +-50, +-71, +-68, +-47, +-53, +-38, +-30, +-33, +-19, +-9, +-27, +-3, +-3, +-14, +-9, +11, +12, +13, +0, +19, +29, +13, +16, +25, +19, +18, +18, +24, +15, +23, +26, +13, +16, +18, +11, +3, +-4, +-2, +-3, +-28, +-30, +-22, +-42, +-41, +-34, +-50, +-35, +-34, +-69, +-66, +-76, +-101, +-94, +-109, +-80, +16, +103, +192, +318, +337, +259, +220, +156, +64, +6, +-55, +-127, +-185, +-195, +-185, +-182, +-146, +-143, +-137, +-71, +-18, +3, +22, +42, +46, +58, +66, +57, +53, +44, +30, +21, +11, +8, +-1, +6, +7, +15, +24, +30, +33, +39, +42, +40, +47, +63, +59, +47, +31, +14, +-5, +-19, +-28, +-45, +-46, +-55, +-55, +-65, +-72, +-87, +-100, +-97, +-100, +-99, +-127, +-147, +-166, +-184, +-204, +-177, +-157, +-17, +398, +737, +863, +867, +696, +510, +337, +155, +-43, +-288, +-535, +-694, +-732, +-710, +-658, +-558, +-493, +-392, +-178, +40, +186, +298, +359, +366, +397, +439, +372, +242, +150, +30, +-79, +-127, +-173, +-207, +-219, +-151, +-86, +-12, +69, +136, +170, +198, +223, +227, +212, +183, +145, +68, +8, +-23, +-56, +-76, +-84, +-104, +-137, +-199, +-222, +-219, +-193, +-154, +-109, +-85, +-48, +-34, +-45, +-79, +-106, +-163, +-189, +-284, +-388, +-491, +-520, +-528, +-492, +-334, +-181, +337, +1588, +2517, +2790, +2658, +2100, +1398, +804, +193, +-514, +-1413, +-2214, +-2762, +-2872, +-2689, +-2341, +-1805, +-1254, +-671, +197, +1134, +1850, +2271, +2443, +2238, +1863, +1564, +1131, +361, +-457, +-1179, +-1843, +-2236, +-2234, +-2109, +-1937, +-1485, +-755, +-24, +787, +1557, +2039, +2226, +2373, +2324, +1994, +1476, +844, +37, +-724, +-1258, +-1640, +-1935, +-1977, +-1798, +-1435, +-968, +-344, +216, +675, +1089, +1400, +1518, +1429, +1249, +876, +412, +-33, +-430, +-785, +-1070, +-1170, +-1277, +-1314, +-1269, +-1110, +-978, +-804, +-609, +-641, +-697, +-651, +-552, +-494, +-325, +135, +500, +2215, +5495, +6796, +6052, +5042, +3147, +1215, +116, +-1002, +-3144, +-5589, +-6520, +-6317, +-5735, +-4288, +-2890, +-2091, +-759, +1408, +3363, +4471, +4948, +4826, +3928, +3044, +2389, +1098, +-649, +-2099, +-3161, +-3899, +-4013, +-3612, +-3199, +-2637, +-1418, +9, +1187, +2276, +3095, +3361, +3341, +3278, +2863, +1960, +1001, +31, +-1000, +-1789, +-2155, +-2455, +-2552, +-2271, +-1698, +-1070, +-305, +507, +1062, +1471, +1806, +1930, +1752, +1427, +964, +339, +-303, +-834, +-1274, +-1591, +-1681, +-1594, +-1359, +-1020, +-649, +-326, +-41, +192, +413, +493, +346, +-75, +-535, +-949, +-1245, +-1428, +-1321, +-980, +-317, +2528, +6139, +7000, +6364, +5218, +3303, +1706, +628, +-795, +-3546, +-5920, +-6498, +-6545, +-6103, +-4835, +-3917, +-3066, +-1293, +1199, +3039, +3927, +4666, +4768, +4350, +4274, +3789, +2220, +377, +-1035, +-2202, +-3198, +-3586, +-3753, +-3980, +-3515, +-2339, +-1137, +-45, +1100, +2067, +2672, +3234, +3600, +3294, +2586, +1853, +987, +2, +-850, +-1499, +-2112, +-2413, +-2256, +-1928, +-1532, +-945, +-262, +366, +972, +1480, +1667, +1590, +1400, +1114, +714, +239, +-184, +-534, +-877, +-1107, +-1193, +-1275, +-1284, +-1066, +-770, +-586, +-439, +-277, +-199, +-166, +-58, +-137, +-537, +-864, +-1068, +-1254, +-1350, +-1073, +-581, +291, +3441, +7266, +8090, +7061, +5406, +3345, +1467, +10, +-1669, +-4631, +-6887, +-6956, +-6475, +-5812, +-4678, +-3607, +-2441, +-531, +2202, +3894, +4422, +4836, +4817, +4194, +3508, +2578, +947, +-906, +-1956, +-2704, +-3506, +-3806, +-3708, +-3506, +-2837, +-1548, +-261, +710, +1659, +2504, +2934, +3179, +3249, +2844, +2061, +1358, +616, +-247, +-975, +-1414, +-1790, +-1969, +-1781, +-1391, +-1000, +-548, +140, +701, +1053, +1344, +1397, +1199, +923, +652, +241, +-257, +-572, +-828, +-1058, +-1161, +-1162, +-1141, +-996, +-631, +-296, +-10, +279, +423, +307, +137, +-64, +-363, +-676, +-897, +-1239, +-1631, +-1853, +-1864, +-1797, +-1355, +-681, +342, +2668, +6898, +9692, +9193, +7285, +4881, +2444, +230, +-1644, +-4223, +-7340, +-8228, +-7415, +-6573, +-5662, +-4441, +-2955, +-1304, +1388, +3742, +4299, +4524, +4932, +4858, +4111, +3152, +1788, +-254, +-1512, +-2051, +-2934, +-3781, +-3890, +-3579, +-3057, +-1982, +-708, +-11, +683, +1632, +2286, +2472, +2621, +2660, +2229, +1872, +1752, +1188, +366, +-264, +-774, +-1311, +-1553, +-1552, +-1748, +-1830, +-1453, +-964, +-523, +-8, +474, +765, +1050, +1356, +1343, +1042, +833, +623, +350, +90, +-155, +-527, +-898, +-1037, +-1049, +-1037, +-957, +-808, +-603, +-439, +-291, +-303, +-458, +-601, +-511, +-491, +-695, +-960, +-1106, +-1124, +-1013, +-616, +-129, +1213, +5183, +8228, +7688, +5918, +3998, +2165, +464, +-1063, +-2909, +-5096, +-5447, +-4841, +-4942, +-5007, +-4437, +-3402, +-1980, +-204, +1295, +1952, +2731, +3668, +3893, +3588, +3107, +2463, +1659, +952, +248, +-785, +-1655, +-2032, +-2130, +-2199, +-2108, +-1876, +-1482, +-1012, +-360, +102, +458, +793, +1145, +1295, +1284, +1138, +1002, +843, +739, +622, +451, +377, +481, +375, +155, +-17, +-117, +-238, +-274, +-402, +-593, +-772, +-748, +-776, +-836, +-809, +-643, +-500, +-319, +-144, +7, +123, +323, +472, +579, +574, +458, +214, +-122, +-464, +-744, +-859, +-976, +-1160, +-1370, +-1517, +-1518, +-1444, +-982, +-524, +1029, +4637, +6859, +5961, +4565, +3378, +2129, +1090, +-15, +-1187, +-2183, +-2343, +-2444, +-3464, +-4397, +-4442, +-4000, +-3218, +-2264, +-1375, +-581, +369, +1273, +1793, +2064, +2506, +2839, +2890, +2653, +2186, +1589, +1011, +404, +-166, +-700, +-1027, +-1311, +-1499, +-1686, +-1744, +-1678, +-1455, +-1118, +-694, +-282, +102, +418, +670, +812, +971, +1153, +1304, +1331, +1250, +1065, +836, +544, +266, +-3, +-156, +-180, +-268, +-519, +-707, +-805, +-809, +-840, +-840, +-795, +-698, +-521, +-314, +-146, +-32, +10, +49, +-12, +-107, +-245, +-376, +-365, +-344, +-348, +-490, +-668, +-736, +-795, +-556, +-286, +348, +2825, +5387, +5002, +3315, +2393, +1505, +702, +211, +-402, +-751, +-684, +-948, +-2080, +-3432, +-3953, +-3680, +-3103, +-2450, +-1818, +-1127, +-419, +-9, +145, +370, +965, +1734, +2356, +2572, +2423, +2145, +1741, +1238, +753, +441, +293, +89, +-239, +-724, +-1212, +-1515, +-1602, +-1528, +-1360, +-1120, +-814, +-541, +-344, +-138, +109, +394, +709, +981, +1141, +1192, +1141, +1008, +851, +720, +599, +454, +287, +95, +-114, +-311, +-473, +-583, +-621, +-636, +-712, +-775, +-779, +-784, +-771, +-761, +-763, +-783, +-811, +-779, +-618, +-374, +-158, +-116, +-126, +-142, +-180, +-17, +183, +843, +2996, +4968, +4288, +2646, +1929, +1208, +464, +249, +54, +97, +424, +-99, +-1685, +-3049, +-3497, +-3422, +-3049, +-2480, +-1883, +-1313, +-971, +-995, +-1134, +-862, +-44, +911, +1655, +2068, +2191, +2109, +1843, +1522, +1281, +1239, +1303, +1226, +867, +312, +-232, +-667, +-949, +-1075, +-1019, +-885, +-784, +-781, +-840, +-844, +-719, +-468, +-182, +102, +358, +515, +586, +572, +552, +521, +510, +525, +508, +444, +316, +152, +-43, +-233, +-378, +-474, +-520, +-567, +-643, +-757, +-884, +-985, +-1056, +-1022, +-850, +-637, +-464, +-411, +-391, +-371, +-257, +90, +368, +1460, +3843, +4975, +3682, +2294, +1470, +670, +290, +146, +-168, +-205, +-298, +-1151, +-2520, +-3381, +-3395, +-2867, +-2241, +-1657, +-1224, +-844, +-576, +-415, +-281, +229, +991, +1680, +2012, +2055, +1855, +1640, +1354, +1090, +820, +679, +499, +236, +-195, +-618, +-944, +-1077, +-1123, +-1024, +-908, +-695, +-525, +-369, +-278, +-117, +80, +334, +530, +688, +723, +751, +652, +579, +443, +379, +294, +223, +63, +-111, +-338, +-485, +-601, +-615, +-630, +-594, +-629, +-644, +-725, +-794, +-872, +-788, +-650, +-486, +-471, +-540, +-571, +-526, +-364, +-37, +309, +1862, +4190, +4600, +3152, +2067, +1274, +715, +616, +523, +145, +-155, +-547, +-1396, +-2551, +-3151, +-3128, +-2715, +-2181, +-1744, +-1572, +-1324, +-954, +-541, +-102, +497, +1104, +1662, +1956, +2016, +1834, +1620, +1420, +1287, +1066, +814, +492, +208, +-116, +-426, +-722, +-859, +-916, +-843, +-804, +-724, +-686, +-553, +-410, +-212, +-34, +169, +325, +453, +488, +492, +437, +464, +415, +396, +282, +183, +3, +-131, +-280, +-386, +-526, +-568, +-646, +-701, +-839, +-898, +-980, +-910, +-809, +-687, +-610, +-516, +-430, +-315, +-150, +167, +562, +2306, +4506, +4563, +3127, +2021, +1106, +548, +416, +226, +-298, +-721, +-1105, +-1838, +-2796, +-3160, +-2969, +-2491, +-1878, +-1259, +-868, +-516, +-136, +260, +592, +1021, +1463, +1763, +1817, +1633, +1225, +923, +715, +559, +317, +100, +-186, +-453, +-747, +-894, +-966, +-885, +-728, +-518, +-383, +-221, +-79, +98, +282, +440, +522, +588, +604, +577, +468, +399, +310, +258, +162, +39, +-141, +-279, +-357, +-398, +-430, +-458, +-513, +-578, +-673, +-753, +-848, +-811, +-683, +-575, +-540, +-541, +-543, +-532, +-355, +-14, +501, +2415, +4789, +4874, +3247, +1809, +813, +340, +298, +5, +-896, +-1698, +-2031, +-2557, +-3148, +-3246, +-2873, +-2215, +-1395, +-706, +-313, +16, +617, +1239, +1719, +2007, +2086, +1953, +1662, +1308, +898, +448, +0, +-343, +-637, +-864, +-1045, +-1159, +-1080, +-895, +-587, +-272, +58, +315, +587, +663, +658, +714, +798, +799, +685, +474, +191, +-66, +-284, +-456, +-592, +-671, +-709, +-692, +-605, +-521, +-430, +-361, +-321, +-307, +-343, +-402, +-452, +-385, +-431, +-538, +-653, +-767, +-798, +-722, +-333, +74, +2319, +6417, +7237, +4578, +1893, +80, +-534, +-305, +-518, +-2023, +-3525, +-3760, +-3773, +-3936, +-3578, +-2753, +-1490, +63, +1233, +1601, +1711, +2132, +2565, +2695, +2518, +1948, +1219, +528, +-152, +-810, +-1410, +-1721, +-1920, +-1947, +-1724, +-1397, +-867, +-186, +379, +817, +1180, +1475, +1649, +1664, +1540, +1277, +916, +479, +9, +-409, +-756, +-979, +-1131, +-1198, +-1176, +-971, +-620, +-254, +26, +163, +125, +128, +93, +-31, +-292, +-478, +-635, +-953, +-1380, +-1583, +-1644, +-1419, +-1152, +-399, +251, +4499, +10959, +10640, +5605, +940, +-1797, +-1900, +-912, +-1437, +-4530, +-6791, +-6083, +-4884, +-3823, +-2752, +-1802, +-493, +1411, +3196, +3629, +3332, +3298, +3084, +2571, +1731, +518, +-743, +-1456, +-1563, +-1716, +-1912, +-1821, +-1440, +-688, +139, +720, +993, +1170, +1393, +1542, +1498, +1215, +727, +218, +-303, +-680, +-897, +-986, +-982, +-935, +-801, +-570, +-336, +-50, +215, +398, +461, +412, +177, +-178, +-514, +-799, +-1120, +-1238, +-1446, +-1914, +-2206, +-2069, +-1724, +-1218, +-675, +403, +1587, +10391, +17960, +12996, +4106, +-3204, +-5756, +-3983, +-2049, +-4025, +-10017, +-11376, +-7444, +-3275, +-60, +751, +750, +1933, +5097, +7442, +6069, +3469, +1246, +87, +103, +-526, +-2235, +-4086, +-4202, +-2776, +-1238, +-34, +354, +956, +2050, +2908, +3065, +2242, +1311, +557, +-49, +-425, +-1171, +-1757, +-1790, +-1290, +-594, +-357, +-284, +-212, +122, +809, +1042, +818, +168, +-69, +474, +421, +-452, +-1605, +-2380, +-2274, +-1574, +-1230, +-2216, +-2752, +-2511, +-1407, +-640, +312, +676, +4389, +19943, +23784, +11922, +-2128, +-11491, +-10505, +-5286, +-2405, +-8670, +-16588, +-12890, +-4652, +2789, +5901, +4161, +3109, +5802, +10495, +9957, +4443, +-427, +-3507, +-3885, +-3529, +-4689, +-6813, +-7109, +-4011, +-349, +1936, +2980, +3045, +3496, +4643, +5230, +4065, +1849, +-118, +-1173, +-1445, +-2042, +-2893, +-3375, +-2894, +-1254, +274, +1038, +1307, +2290, +2781, +2132, +1267, +106, +-630, +-884, +-1637, +-2480, +-3193, +-3014, +-2220, +-1334, +-981, +-1771, +-2146, +-1551, +-431, +200, +527, +742, +3176, +17053, +21910, +10382, +-1289, +-7789, +-6810, +-3716, +-4452, +-11521, +-16921, +-10358, +-1918, +2356, +3087, +1882, +3618, +8258, +11358, +8237, +2385, +-273, +-1011, +-759, +-2180, +-5560, +-7378, +-5592, +-2185, +-744, +-524, +8, +1316, +3802, +5109, +4298, +2707, +1756, +1418, +649, +-450, +-1740, +-2189, +-1271, +-1100, +-1679, +-1844, +-1360, +-592, +-325, +-144, +133, +745, +1554, +1549, +852, +513, +308, +-135, +-795, +-1430, +-1921, +-2655, +-3667, +-3859, +-3421, +-2082, +-855, +743, +1367, +11088, +21800, +14144, +3001, +-2687, +-3697, +-1984, +-3637, +-10176, +-15992, +-11894, +-4093, +-1757, +-1223, +-662, +2685, +8279, +10945, +8109, +3635, +2661, +2783, +892, +-2400, +-6211, +-7154, +-4982, +-2746, +-2283, +-2438, +-971, +1750, +3884, +4493, +3457, +2951, +3329, +2881, +1281, +-590, +-1789, +-2085, +-2185, +-2296, +-2621, +-2183, +-1219, +-538, +-59, +510, +1243, +1925, +1929, +1515, +982, +511, +-433, +-1173, +-1845, +-2172, +-2228, +-2871, +-3663, +-3279, +-2056, +-670, +256, +1334, +2850, +15158, +19429, +7039, +-384, +-1970, +-1342, +-1607, +-6796, +-13500, +-14145, +-6652, +-2427, +-3188, +-2202, +996, +6164, +9815, +8518, +5061, +3964, +4637, +2691, +-1290, +-4764, +-6237, +-5122, +-3867, +-4382, +-4340, +-2171, +954, +2885, +3430, +3650, +4302, +5176, +4711, +2169, +3, +-958, +-1485, +-2344, +-3327, +-3815, +-3159, +-1939, +-888, +-331, +405, +1484, +2494, +2693, +2133, +1396, +838, +-47, +-874, +-1956, +-2849, +-2975, +-3277, +-3840, +-3478, +-2275, +-834, +246, +1425, +2537, +15180, +18376, +5188, +410, +802, +554, +-1236, +-7656, +-13700, +-12256, +-5313, +-3930, +-5878, +-3184, +1356, +6062, +8660, +6908, +5229, +6261, +6295, +2669, +-1615, +-3864, +-4683, +-4685, +-5191, +-6164, +-4786, +-1257, +803, +1647, +2717, +4277, +5751, +5444, +3534, +1693, +788, +240, +-1209, +-2868, +-3856, +-3683, +-2945, +-2398, +-2127, +-1237, +221, +1625, +2252, +2363, +2177, +2139, +1646, +747, +-682, +-1592, +-1973, +-2640, +-4154, +-4457, +-3691, +-2213, +-1609, +358, +9, +8796, +19973, +8801, +323, +3725, +4003, +1287, +-4158, +-11215, +-12123, +-6560, +-4893, +-8680, +-7000, +-1262, +2843, +5584, +5846, +5210, +7061, +8286, +5502, +1735, +34, +-1179, +-2711, +-4369, +-6004, +-5869, +-4326, +-3324, +-2591, +-387, +2387, +3383, +4066, +4520, +4303, +4319, +3839, +1928, +-212, +-929, +-1713, +-3166, +-3950, +-4068, +-3727, +-2636, +-1732, +-858, +429, +1712, +2271, +2567, +2489, +2242, +1508, +525, +-534, +-1480, +-3190, +-4176, +-4399, +-3711, +-3319, +-1318, +-1529, +5824, +18263, +8980, +1129, +6565, +5402, +1529, +-2393, +-8897, +-9751, +-5403, +-5862, +-10492, +-7777, +-1518, +366, +2076, +3696, +4427, +7644, +8718, +5220, +2988, +3238, +1518, +-1549, +-3359, +-4583, +-5273, +-4773, +-4814, +-4600, +-2655, +-692, +471, +2320, +4827, +5642, +5031, +4951, +4328, +3095, +1691, +-433, +-2141, +-2810, +-3720, +-4751, +-4605, +-3658, +-2743, +-1551, +-321, +614, +1792, +2448, +2382, +2240, +1606, +743, +87, +-1379, +-3091, +-3718, +-3446, +-3437, +-2448, +-1598, +213, +13754, +13943, +1573, +6057, +9324, +2801, +-23, +-4927, +-8617, +-5726, +-5704, +-11215, +-10704, +-3695, +-2220, +-2605, +1165, +3401, +5816, +8504, +6316, +4585, +6307, +4747, +594, +-1023, +-1896, +-3709, +-4527, +-5028, +-5585, +-4224, +-2220, +-1274, +293, +1942, +2965, +3680, +4734, +4718, +3363, +2892, +2290, +475, +-716, +-1845, +-2946, +-3263, +-3337, +-3567, +-3026, +-1758, +-982, +-436, +702, +1028, +1410, +1741, +899, +309, +291, +-996, +-2445, +-3047, +-2952, +-3078, +-1523, +-2030, +2577, +15559, +9454, +1329, +10378, +8861, +812, +-178, +-5162, +-7416, +-4607, +-8367, +-13138, +-8360, +-2930, +-5048, +-4060, +1923, +3453, +5460, +7466, +5185, +6214, +8049, +3818, +813, +1270, +-554, +-3504, +-4259, +-4876, +-4876, +-3386, +-3386, +-3113, +-156, +1431, +1404, +2648, +3661, +3690, +3786, +3546, +2712, +1647, +1033, +-233, +-1897, +-2276, +-2634, +-3387, +-2877, +-2404, +-2222, +-1388, +-525, +-72, +513, +771, +515, +361, +372, +-1054, +-2250, +-2155, +-2433, +-2983, +-1100, +-1463, +1833, +14674, +9493, +994, +11938, +10503, +-113, +849, +-2621, +-6603, +-4210, +-8873, +-13590, +-7446, +-3923, +-8350, +-5775, +1855, +2051, +2889, +6569, +5468, +6885, +9044, +3845, +1981, +4585, +840, +-3160, +-2258, +-3339, +-4931, +-3915, +-4280, +-4171, +-1115, +-336, +-844, +1792, +3382, +2470, +3089, +3456, +2413, +2294, +1580, +-213, +-464, +-689, +-2154, +-2373, +-1735, +-1924, +-1759, +-1042, +-263, +-271, +-470, +311, +122, +-736, +-585, +-908, +-1820, +-2145, +-2413, +-2727, +-1706, +-627, +-619, +4874, +12214, +7923, +4151, +10217, +8801, +1832, +-249, +-2252, +-3941, +-5356, +-8809, +-10597, +-8087, +-4985, +-7232, +-7340, +-455, +1766, +511, +3545, +5644, +6035, +7060, +5689, +3666, +4528, +4075, +-346, +-2183, +-702, +-2923, +-5332, +-3956, +-3938, +-3891, +-1722, +-1618, +-1007, +2233, +3124, +2092, +3473, +4677, +3158, +2354, +2344, +896, +13, +-353, +-1920, +-2500, +-1876, +-2429, +-2904, +-1931, +-1548, +-1647, +-1143, +-884, +-587, +-356, +-508, +-603, +-570, +-880, +-1604, +-1523, +-1037, +-233, +392, +246, +7721, +12282, +3714, +4320, +10768, +5362, +-326, +-905, +-1597, +-3500, +-6473, +-8522, +-9139, +-6295, +-5259, +-8560, +-4871, +1286, +254, +-49, +3842, +6419, +5774, +5068, +5505, +4977, +4533, +3102, +-292, +-514, +212, +-2991, +-5293, +-3514, +-2846, +-4594, +-4048, +-1929, +-1453, +-380, +842, +1019, +2564, +4031, +2872, +2666, +4105, +3307, +1387, +1469, +1130, +-486, +-1134, +-1432, +-2295, +-2313, +-2289, +-2707, +-2354, +-1718, +-2015, +-1659, +-910, +-1114, +-1046, +-671, +-781, +-696, +-1066, +-920, +-494, +630, +-299, +2946, +11838, +6153, +756, +9967, +9690, +956, +-307, +1845, +-422, +-4869, +-5636, +-7078, +-7135, +-4922, +-8414, +-8790, +-2391, +-1148, +-3767, +-1233, +4544, +4553, +2606, +5319, +6810, +5740, +4969, +3580, +2641, +2352, +620, +-2410, +-2839, +-1672, +-3703, +-5513, +-3556, +-2440, +-3208, +-2349, +-432, +345, +1085, +2191, +2337, +2745, +3717, +2847, +1849, +2422, +2079, +335, +-214, +-200, +-1094, +-1711, +-1872, +-2344, +-2092, +-1723, +-2328, +-2458, +-1317, +-1102, +-1879, +-1257, +-123, +-629, +-738, +-453, +-109, +594, +1436, +277, +2464, +11940, +6632, +-1004, +8264, +10307, +345, +-2750, +2361, +611, +-7160, +-6461, +-5327, +-7288, +-6340, +-7520, +-7649, +-3079, +-742, +-3018, +-1572, +5171, +5207, +1733, +5350, +8233, +5364, +3687, +4600, +3696, +1606, +583, +-1252, +-2373, +-1724, +-3315, +-5337, +-3644, +-2214, +-3828, +-3650, +-742, +30, +-493, +992, +2447, +2577, +2805, +3105, +2993, +3033, +2781, +1472, +929, +1016, +-326, +-1571, +-1491, +-1549, +-2321, +-2736, +-2195, +-1921, +-2231, +-2236, +-1424, +-1151, +-1565, +-1131, +-567, +-966, +-660, +-647, +-512, +129, +1163, +-39, +2185, +9519, +3970, +1406, +8300, +7218, +904, +922, +4135, +-220, +-3955, +-2012, +-3738, +-5164, +-4935, +-5977, +-5533, +-3731, +-3711, +-4401, +-1222, +1074, +-614, +576, +3421, +3648, +2696, +3423, +4231, +3550, +2987, +2061, +1263, +1521, +290, +-1497, +-1411, +-887, +-2235, +-3156, +-2033, +-1655, +-2231, +-1780, +-914, +-406, +-37, +398, +721, +1364, +1844, +1608, +1558, +1991, +1915, +1263, +920, +1012, +455, +-182, +-375, +-600, +-1079, +-1270, +-1304, +-1347, +-1242, +-1019, +-991, +-693, +-437, +-596, +-480, +54, +-152, +-430, +-113, +13, +-468, +-500, +-521, +-375, +-321, +46, +-615, +1857, +5276, +1047, +1304, +5364, +3720, +427, +969, +2866, +60, +-1980, +-856, +-1994, +-2713, +-2620, +-3138, +-3432, +-2515, +-1677, +-2598, +-1889, +111, +16, +-190, +914, +1912, +1649, +1546, +2185, +1917, +1525, +1621, +1180, +585, +440, +444, +-330, +-841, +-637, +-867, +-1331, +-1271, +-1064, +-1109, +-1007, +-648, +-539, +-378, +38, +310, +399, +644, +932, +1043, +1017, +1087, +1034, +896, +724, +493, +249, +71, +-7, +-260, +-565, +-549, +-526, +-607, +-669, +-547, +-426, +-399, +-283, +-164, +-120, +-9, +41, +53, +-42, +-73, +-112, +-179, +-342, +-426, +-469, +-497, +-554, +-574, +-701, +-484, +-266, +-66, +-354, +757, +2832, +1417, +142, +2007, +3958, +2079, +28, +1105, +1712, +464, +-647, +-819, +-992, +-1518, +-1511, +-1828, +-2259, +-1935, +-1445, +-1378, +-1419, +-869, +-216, +-39, +212, +606, +932, +966, +1093, +1317, +1159, +923, +869, +781, +471, +155, +48, +-163, +-431, +-536, +-624, +-717, +-739, +-679, +-574, +-466, +-297, +-136, +0, +162, +282, +383, +443, +478, +521, +500, +418, +335, +257, +194, +91, +7, +-59, +-114, +-170, +-186, +-240, +-312, +-257, +-154, +-145, +-165, +-121, +-32, +-7, +24, +81, +90, +89, +174, +205, +111, +67, +89, +81, +-9, +-51, +-70, +-155, +-284, +-278, +-327, +-429, +-396, +-341, +-381, +-430, +-352, +-310, +-272, +-204, +-85, +-150, +80, +662, +335, +-1, +222, +524, +319, +344, +1942, +1990, +525, +363, +1053, +1318, +421, +50, +91, +-476, +-747, +-661, +-791, +-1278, +-1465, +-1063, +-965, +-1033, +-768, +-502, +-304, +-172, +154, +401, +463, +596, +731, +746, +683, +622, +562, +404, +269, +151, +-16, +-163, +-270, +-338, +-409, +-413, +-369, +-398, +-358, +-250, +-188, +-222, +-97, +60, +158, +174, +248, +307, +329, +325, +354, +295, +217, +162, +154, +78, +0, +-66, +-86, +-97, +-93, +-119, +-104, +-35, +-4, +-11, +-6, +-69, +-43, +38, +41, +-7, +-37, +0, +-13, +-85, +-68, +-68, +-80, +-107, +-81, +-82, +-74, +-86, +-66, +-92, +-61, +-61, +-33, +-59, +-71, +-122, +-126, +-181, +-217, +-254, +-236, +-270, +-342, +-315, +-291, +-285, +-153, +-35, +78, +89, +1837, +2562, +831, +424, +1316, +1760, +754, +-120, +26, +-317, +-593, +-716, +-1095, +-1379, +-1373, +-1018, +-1002, +-1129, +-762, +-415, +-179, +-2, +243, +478, +604, +784, +838, +751, +682, +608, +504, +280, +35, +-118, +-205, +-323, +-476, +-579, +-561, +-566, +-544, +-427, +-292, +-179, +-49, +98, +231, +332, +430, +482, +485, +478, +442, +392, +283, +178, +82, +18, +-77, +-143, +-208, +-211, +-224, +-225, +-227, +-167, +-112, +-45, +-15, +50, +114, +161, +178, +204, +219, +205, +162, +106, +66, +-23, +-155, +-194, +-192, +-254, +-307, +-314, +-257, +-247, +-184, +-157, +-118, +-48, +35, +34, +9, +0, +53, +-15, +-101, +-126, +-139, +-229, +-321, +-431, +-343, +-225, +-136, +-203, +155, +2249, +2043, +292, +680, +1780, +1723, +370, +-146, +104, +-212, +-411, +-968, +-1471, +-1388, +-1103, +-1045, +-1383, +-1195, +-536, +-254, +-126, +-31, +344, +710, +860, +881, +800, +822, +866, +599, +316, +112, +0, +-205, +-447, +-592, +-660, +-669, +-626, +-625, +-510, +-331, +-112, +20, +154, +307, +459, +557, +569, +515, +492, +464, +383, +189, +70, +5, +-88, +-218, +-281, +-289, +-290, +-312, +-254, +-188, +-103, +-18, +89, +160, +201, +248, +324, +334, +307, +255, +201, +125, +47, +-41, +-146, +-175, +-214, +-290, +-298, +-398, +-399, +-262, +-234, +-263, +-198, +-20, +69, +41, +17, +59, +80, +37, +-109, +-163, +-139, +-217, +-396, +-489, +-464, +-241, +-223, +-132, +-266, +1765, +2822, +428, +325, +1911, +2224, +731, +-466, +58, +90, +-363, +-1061, +-1848, +-1478, +-1048, +-1188, +-1626, +-1425, +-500, +-126, +-120, +29, +427, +983, +1016, +846, +890, +1003, +968, +621, +321, +168, +11, +-203, +-507, +-673, +-695, +-714, +-741, +-820, +-670, +-416, +-267, +-153, +14, +262, +468, +551, +629, +658, +705, +676, +571, +452, +333, +200, +49, +-106, +-193, +-336, +-439, +-444, +-440, +-429, +-382, +-296, +-193, +-87, +17, +78, +148, +237, +288, +278, +282, +280, +243, +162, +95, +67, +6, +-62, +-121, +-174, +-228, +-261, +-278, +-309, +-330, +-301, +-278, +-304, +-342, +-329, +-283, +-302, +-329, +-278, +-238, +-245, +-244, +-269, +-78, +41, +242, +97, +1291, +2890, +1483, +993, +1982, +2135, +1016, +98, +475, +68, +-777, +-1112, +-1511, +-1531, +-1717, +-1782, +-1761, +-1558, +-1042, +-930, +-723, +-176, +262, +536, +698, +1069, +1263, +1231, +1250, +1085, +901, +696, +423, +113, +-206, +-382, +-622, +-836, +-909, +-938, +-898, +-852, +-708, +-503, +-323, +-82, +121, +340, +520, +672, +780, +820, +838, +808, +714, +614, +452, +309, +124, +-30, +-158, +-280, +-378, +-437, +-465, +-459, +-439, +-386, +-330, +-247, +-164, +-94, +-30, +20, +75, +97, +72, +38, +66, +56, +10, +7, +24, +-3, +-44, +-31, +2, +-17, +-43, +-11, +-33, +-65, +-125, +-208, +-261, +-399, +-523, +-590, +-648, +-749, +-865, +-727, +-583, +-399, +-359, +937, +2246, +1545, +1816, +2823, +2789, +1815, +1425, +1819, +907, +22, +-344, +-736, +-1228, +-1916, +-2187, +-2283, +-2317, +-2281, +-2329, +-1779, +-1327, +-1049, +-609, +-9, +603, +799, +1139, +1566, +1672, +1679, +1543, +1538, +1309, +954, +658, +360, +66, +-293, +-625, +-752, +-945, +-1055, +-1136, +-1060, +-938, +-895, +-698, +-484, +-262, +-79, +125, +365, +533, +654, +779, +859, +933, +880, +852, +803, +690, +555, +394, +291, +92, +-95, +-230, +-373, +-524, +-625, +-691, +-729, +-764, +-719, +-680, +-583, +-469, +-351, +-222, +-73, +79, +170, +274, +392, +423, +419, +417, +393, +254, +117, +-36, +-207, +-402, +-607, +-734, +-940, +-1034, +-1216, +-1324, +-1241, +-1034, +-923, +-557, +1060, +1737, +1615, +2842, +3811, +3578, +2905, +3300, +3178, +1690, +955, +455, +-292, +-1483, +-2319, +-2502, +-3018, +-3353, +-3562, +-3301, +-2792, +-2659, +-2195, +-1426, +-640, +-142, +273, +1167, +1653, +1841, +2078, +2310, +2408, +2044, +1855, +1622, +1205, +717, +206, +-131, +-533, +-952, +-1217, +-1401, +-1429, +-1527, +-1467, +-1251, +-1021, +-781, +-507, +-138, +199, +419, +710, +910, +1082, +1144, +1180, +1166, +1090, +978, +809, +614, +444, +219, +4, +-204, +-352, +-515, +-653, +-746, +-776, +-825, +-810, +-804, +-699, +-617, +-494, +-373, +-190, +-34, +102, +214, +357, +438, +477, +469, +458, +394, +225, +28, +-148, +-353, +-602, +-785, +-934, +-1033, +-1142, +-1203, +-1058, +-874, +-612, +-427, +838, +1786, +1645, +2459, +3425, +3408, +2808, +2738, +2832, +1691, +673, +137, +-499, +-1435, +-2395, +-2637, +-2831, +-3168, +-3261, +-2988, +-2361, +-2064, +-1671, +-864, +-100, +419, +790, +1411, +1924, +1941, +1943, +2017, +1964, +1554, +1104, +872, +496, +-29, +-470, +-717, +-911, +-1231, +-1365, +-1308, +-1196, +-1146, +-992, +-667, +-350, +-150, +119, +446, +714, +840, +956, +1107, +1132, +1064, +940, +850, +690, +445, +212, +24, +-154, +-367, +-514, +-588, +-630, +-683, +-664, +-595, +-502, +-438, +-322, +-194, +-88, +-28, +67, +160, +192, +218, +246, +253, +204, +150, +101, +1, +-96, +-193, +-284, +-376, +-455, +-555, +-575, +-631, +-659, +-679, +-651, +-615, +-644, +-561, +-425, +-228, +-130, +276, +1386, +1613, +1695, +2525, +2972, +2674, +2279, +2336, +2011, +997, +342, +-163, +-758, +-1590, +-2268, +-2448, +-2639, +-2927, +-2968, +-2601, +-2099, +-1895, +-1414, +-663, +-21, +374, +827, +1410, +1787, +1850, +1929, +2002, +1916, +1555, +1215, +942, +563, +49, +-358, +-646, +-900, +-1218, +-1356, +-1331, +-1269, +-1215, +-1025, +-714, +-425, +-201, +114, +419, +671, +789, +948, +1040, +1053, +955, +865, +756, +580, +352, +185, +22, +-143, +-317, +-395, +-475, +-535, +-564, +-500, +-483, +-398, +-319, +-195, +-106, +-11, +86, +152, +199, +219, +243, +221, +140, +94, +32, +-51, +-104, +-140, +-202, +-240, +-263, +-294, +-345, +-390, +-409, +-483, +-545, +-577, +-602, +-626, +-699, +-643, +-557, +-392, +-292, +114, +1059, +1328, +1501, +2285, +2720, +2562, +2319, +2336, +2078, +1242, +591, +88, +-507, +-1320, +-2026, +-2257, +-2474, +-2759, +-2782, +-2435, +-1979, +-1679, +-1182, +-459, +126, +549, +972, +1433, +1694, +1699, +1649, +1588, +1338, +953, +553, +236, +-157, +-557, +-827, +-994, +-1099, +-1142, +-1070, +-878, +-648, +-389, +-78, +231, +532, +746, +930, +1044, +1084, +1028, +909, +732, +516, +277, +1, +-263, +-479, +-645, +-807, +-871, +-828, +-761, +-639, +-472, +-236, +-29, +175, +347, +507, +612, +652, +641, +584, +501, +346, +180, +22, +-131, +-285, +-416, +-501, +-560, +-574, +-595, +-565, +-495, +-437, +-411, +-363, +-258, +-217, +-226, +-211, +-226, +-253, +-363, +-472, +-483, +-424, +-340, +-341, +552, +1617, +1454, +1874, +2855, +3002, +2514, +2085, +2061, +1390, +268, +-528, +-1234, +-1750, +-2502, +-3167, +-3146, +-2930, +-2789, +-2584, +-1872, +-901, +-282, +308, +1085, +1794, +2213, +2289, +2307, +2303, +1969, +1401, +756, +267, +-269, +-938, +-1423, +-1683, +-1786, +-1828, +-1744, +-1412, +-955, +-474, +-38, +439, +953, +1308, +1472, +1559, +1581, +1441, +1132, +752, +391, +-3, +-410, +-793, +-1044, +-1157, +-1200, +-1179, +-984, +-695, +-328, +-29, +350, +698, +959, +1087, +1108, +1083, +927, +662, +339, +41, +-276, +-572, +-826, +-957, +-1012, +-1024, +-912, +-762, +-514, +-289, +-55, +187, +332, +428, +429, +397, +275, +14, +-231, +-469, +-727, +-1018, +-1174, +-1020, +-786, +-613, +-228, +1364, +2799, +2457, +2788, +3873, +3684, +2460, +1383, +960, +-70, +-1527, +-2538, +-3408, +-3453, +-3426, +-3769, +-3360, +-2146, +-960, +-415, +314, +1728, +2548, +2696, +2764, +2677, +2528, +1897, +899, +-2, +-669, +-1177, +-1992, +-2608, +-2448, +-2195, +-1980, +-1628, +-901, +1, +661, +1183, +1643, +2036, +2295, +2105, +1691, +1346, +916, +309, +-359, +-841, +-1115, +-1364, +-1512, +-1455, +-1159, +-790, +-458, +-64, +400, +781, +977, +1072, +1176, +1113, +902, +624, +333, +67, +-243, +-501, +-741, +-848, +-834, +-819, +-831, +-736, +-485, +-307, +-216, +-73, +114, +244, +355, +353, +266, +237, +286, +158, +-288, +-453, +-492, +-814, +-1143, +-1383, +-1324, +-1111, +-815, +-615, +442, +3114, +3953, +3029, +3919, +4941, +3971, +1878, +374, +-455, +-1974, +-3286, +-4552, +-5650, +-4570, +-3342, +-3483, +-2641, +-269, +1946, +2478, +2830, +4030, +4214, +3803, +2888, +1228, +136, +-491, +-1700, +-3203, +-3856, +-3201, +-2821, +-2817, +-1903, +-637, +581, +1606, +2167, +2553, +2896, +3040, +2593, +1551, +807, +272, +-605, +-1460, +-2042, +-2202, +-2015, +-1775, +-1386, +-876, +-132, +665, +1150, +1393, +1651, +1797, +1694, +1299, +803, +318, +-107, +-513, +-923, +-1298, +-1358, +-1289, +-1153, +-1084, +-838, +-447, +-41, +243, +441, +656, +958, +981, +839, +682, +511, +236, +-52, +-445, +-778, +-1174, +-1308, +-1352, +-1558, +-1649, +-1547, +-1278, +-879, +-382, +161, +644, +3348, +6104, +4816, +3648, +4808, +4552, +2078, +-784, +-2182, +-3265, +-4352, +-4702, +-5791, +-6030, +-3554, +-1612, +-1271, +-443, +1928, +3939, +4107, +4000, +4064, +3257, +2711, +1724, +-334, +-2045, +-2530, +-2818, +-3814, +-4286, +-3290, +-2251, +-1389, +-186, +846, +1714, +2703, +3331, +3093, +2464, +2180, +1666, +523, +-508, +-1187, +-1812, +-2159, +-2176, +-2015, +-1810, +-1193, +-271, +366, +829, +1396, +1903, +2099, +1994, +1626, +1124, +566, +139, +-409, +-1054, +-1436, +-1468, +-1292, +-1136, +-1026, +-684, +-200, +225, +501, +562, +625, +732, +705, +523, +230, +-65, +-282, +-465, +-752, +-1154, +-1418, +-1247, +-1238, +-1499, +-1622, +-1520, +-1164, +-695, +-34, +403, +1638, +5931, +7958, +5384, +4240, +4911, +3894, +836, +-2312, +-4068, +-5473, +-5637, +-5363, +-6650, +-6603, +-3512, +-852, +-104, +663, +2831, +4675, +5137, +5106, +4149, +2660, +2205, +1551, +-531, +-2750, +-3254, +-2848, +-3218, +-3660, +-3123, +-2255, +-1075, +296, +1020, +1242, +1997, +3202, +3380, +2502, +1924, +1596, +954, +119, +-773, +-1635, +-2079, +-1966, +-1815, +-1949, +-1750, +-932, +-103, +443, +899, +1332, +1814, +2147, +2079, +1638, +1083, +677, +232, +-448, +-1163, +-1623, +-1755, +-1731, +-1606, +-1448, +-1105, +-692, +-98, +367, +706, +901, +1041, +1012, +803, +544, +56, +-557, +-990, +-1031, +-1320, +-1806, +-2086, +-1988, +-1453, +-840, +-107, +286, +2824, +8161, +9177, +5513, +3632, +3567, +2327, +-794, +-3932, +-6200, +-7500, +-6227, +-4761, +-5838, +-5877, +-2578, +1103, +2615, +3068, +4186, +5094, +5568, +5778, +4142, +1250, +-132, +-349, +-1662, +-3998, +-5143, +-4834, +-4300, +-3396, +-2216, +-1395, +-256, +1793, +3508, +3851, +3570, +3620, +3451, +2651, +1641, +418, +-868, +-1653, +-1907, +-2339, +-2754, +-2446, +-1671, +-1065, +-478, +139, +677, +1196, +1665, +1890, +1696, +1486, +1340, +988, +343, +-254, +-685, +-994, +-1246, +-1391, +-1430, +-1328, +-1092, +-793, +-525, +-158, +205, +559, +744, +829, +829, +758, +439, +9, +-296, +-447, +-813, +-1334, +-1615, +-1731, +-1694, +-1559, +-1055, +-694, +360, +3442, +5109, +3607, +2189, +2785, +4015, +3152, +868, +-642, +-1512, +-1742, +-1879, +-2998, +-4294, +-4178, +-2538, +-1395, +-1552, +-1371, +-211, +1144, +1968, +2197, +2053, +1917, +2172, +2349, +1636, +410, +-250, +-406, +-763, +-1506, +-2096, +-2271, +-2112, +-1695, +-1288, +-1062, +-671, +160, +1038, +1398, +1487, +1588, +1643, +1513, +1173, +665, +72, +-358, +-595, +-820, +-1083, +-1209, +-1030, +-748, +-424, +-140, +137, +405, +691, +869, +882, +764, +636, +514, +322, +62, +-196, +-408, +-528, +-545, +-548, +-555, +-450, +-265, +-90, +79, +217, +343, +400, +391, +378, +302, +180, +41, +-105, +-226, +-375, +-435, +-459, +-428, +-381, +-321, +-222, +-149, +-79, +24, +158, +248, +183, +112, +63, +27, +-49, +-119, +-233, +-176, +64, +185, +-62, +-229, +-261, +-200, +-123, +-85, +126, +1087, +1992, +1942, +1470, +1327, +1169, +695, +-37, +-706, +-1358, +-1547, +-1428, +-1460, +-1608, +-1364, +-798, +-192, +143, +449, +713, +959, +1160, +1184, +857, +537, +313, +121, +-207, +-539, +-789, +-843, +-801, +-670, +-573, +-439, +-208, +123, +325, +448, +530, +617, +602, +526, +364, +173, +-17, +-133, +-269, +-377, +-447, +-423, +-353, +-257, +-159, +-41, +67, +202, +275, +321, +314, +294, +244, +180, +84, +-28, +-95, +-131, +-186, +-185, +-179, +-147, +-95, +-25, +31, +51, +111, +150, +135, +146, +122, +78, +61, +43, +-4, +-43, +-51, +-74, +-81, +-66, +-69, +-64, +-40, +-19, +-7, +4, +16, +29, +27, +30, +28, +8, +6, +6, +-7, +0, +12, +6, +-13, +-22, +-26, +-42, +-54, +-51, +-62, +-59, +-32, +-21, +-21, +-11, +4, +12, +7, +3, +-21, +-56, +-46, +-42, +-68, +-89, +-95, +-84, +-68, +-46, +-32, +-22, +67, +214, +276, +221, +144, +119, +94, +30, +-43, +-81, +-46, +51, +136, +177, +210, +244, +262, +213, +106, +-21, +-133, +-221, +-299, +-373, +-413, +-380, +-299, +-201, +-98, +23, +134, +230, +301, +309, +268, +224, +184, +103, +-21, +-121, +-166, +-189, +-204, +-211, +-207, +-174, +-96, +-10, +44, +72, +99, +126, +137, +126, +96, +48, +17, +-6, +-40, +-68, +-83, +-75, +-69, +-73, +-58, +-29, +-1, +14, +24, +41, +47, +41, +39, +38, +37, +23, +0, +-10, +-6, +-1, +-1, +-4, +-3, +-1, +5, +7, +7, +15, +11, +-1, +-3, +6, +-6, +-8, +0, +-6, +-5, +6, +17, +-1, +-7, +5, +4, +-3, +-6, +-10, +-26, +-43, +-37, +-28, +-21, +-18, +-28, +-29, +-15, +-3, +-2, +-17, +-22, +-13, +-31, +-36, +-27, +-33, +-57, +-43, +-15, +5, +20, +60, +107, +165, +197, +199, +172, +144, +102, +51, +-28, +-94, +-131, +-139, +-157, +-158, +-149, +-117, +-87, +-39, +-7, +22, +43, +67, +67, +56, +40, +44, +25, +13, +-12, +-28, +-31, +-23, +-25, +-18, +-12, +-8, +-6, +14, +12, +6, +19, +35, +25, +16, +5, +0, +9, +7, +2, +16, +18, +3, +-4, +8, +18, +3, +9, +5, +10, +-3, +-10, +-12, +-10, +-13, +-19, +-29, +-10, +-17, +-18, +-24, +-27, +-27, +-10, +-24, +-29, +-43, +-35, +-39, +-31, +-33, +-21, +-30, +-8, +21, +53, +65, +103, +117, +128, +120, +119, +68, +36, +2, +-23, +-55, +-71, +-94, +-88, +-81, +-67, +-63, +-48, +-34, +-8, +6, +11, +10, +30, +25, +15, +27, +26, +15, +-1, +0, +3, +-6, +-5, +9, +3, +7, +4, +8, +-2, +9, +12, +27, +13, +6, +-2, +6, +-17, +5, +-4, +0, +-9, +4, +-16, +-16, +-26, +-10, +-36, +-18, +-30, +-26, +-33, +-19, +-50, +-38, +-43, +-25, +-16, +24, +27, +71, +92, +108, +94, +97, +64, +52, +16, +-6, +-33, +-36, +-57, +-57, +-68, +-43, +-43, +-37, +-46, +-20, +-10, +3, +-7, +10, +10, +11, +13, +12, +-1, +19, +3, +4, +12, +20, +12, +10, +15, +14, +-2, +15, +19, +5, +2, +2, +1, +-5, +-16, +-1, +-8, +-16, +-8, +-13, +-29, +-24, +-27, +-28, +-28, +-37, +-30, +-24, +-8, +26, +58, +75, +81, +73, +59, +51, +30, +6, +3, +-5, +-24, +-22, +-15, +-23, +-34, +-38, +-30, +-21, +-10, +-8, +-4, +0, +4, +-12, +-15, +-6, +-9, +13, +22, +18, +28, +30, +15, +10, +5, +6, +-13, +-36, +-34, +-42, +-47, +-25, +-14, +-21, +-17, +22, +26, +-5, +4, +2, +-24, +-32, +-4, +5, +11, +25, +7, +6, +15, +23, +26, +6, +11, +43, +21, +8, +39, +4, +21, +40, +22, +60, +75, +83, +122, +95, +73, +26, +-23, +-27, +-92, +-119, +-104, +-92, +-41, +-4, +-4, +-6, +6, +15, +38, +34, +23, +31, +14, +9, +-15, +-37, +-33, +-83, +-120, +-100, +-81, +-97, +-64, +-11, +8, +10, +41, +15, +46, +174, +106, +55, +99, +1, +-18, +-30, +-61, +-61, +-67, +-39, +-33, +-12, +13, +-1, +5, +19, +3, +9, +-1, +-5, +-25, +-26, +-15, +-37, +-14, +-3, +-10, +5, +15, +22, +26, +39, +40, +33, +37, +30, +18, +22, +7, +7, +0, +-5, +-6, +-15, +-11, +-19, +-17, +-21, +-23, +-27, +-27, +-30, +-35, +-27, +-49, +-45, +-64, +-56, +-74, +-28, +-13, +15, +429, +417, +80, +188, +29, +-101, +-111, +-167, +-162, +-171, +-56, +-91, +-72, +42, +-18, +15, +45, +11, +31, +1, +23, +-7, +-5, +21, +-21, +28, +12, +5, +28, +7, +26, +7, +15, +25, +5, +25, +10, +10, +22, +-9, +10, +-17, +-5, +-16, +-17, +-9, +-8, +-21, +-11, +-39, +-23, +-46, +-30, +-46, +-26, +-51, +-67, +-76, +-90, +-80, +-63, +39, +-30, +635, +818, +46, +147, +-11, +-278, +-216, +-248, +-194, +-242, +-6, +-63, +-100, +131, +-11, +44, +91, +17, +-18, +-58, +-5, +-49, +21, +-33, +34, +160, +61, +42, +32, +-2, +-113, +-120, +-192, +-75, +174, +-143, +-100, +-10, +1, +79, +135, +266, +-1, +116, +120, +-89, +154, +-22, +10, +-58, +-38, +-202, +-307, +432, +240, +-80, +320, +-182, +-285, +-252, +-618, +-269, +-89, +401, +459, +347, +472, +26, +-18, +-47, +-376, +-223, +-199, +-46, +-93, +22, +219, +196, +46, +-326, +-160, +115, +-210, +144, +129, +-141, +-8, +140, +433, +-12, +-87, +20, +-10, +30, +-307, +-261, +-690, +-238, +822, +469, +415, +320, +-6, +185, +-219, +-145, +-246, +-420, +-115, +-157, +-84, +-87, +221, +0, +-23, +530, +4, +-15, +89, +9, +-58, +-197, +-96, +-421, +-165, +-13, +-452, +55, +171, +130, +110, +311, +464, +-39, +43, +10, +-65, +28, +-164, +62, +-60, +-209, +-362, +-272, +244, +-103, +209, +819, +167, +68, +-34, +-230, +-100, +-10, +105, +170, +423, +632, +119, +-199, +42, +-178, +-85, +-74, +-344, +-439, +-339, +-216, +311, +678, +582, +435, +-158, +-175, +73, +-80, +-464, +-815, +-203, +-323, +-664, +-21, +26, +433, +441, +246, +333, +142, +171, +-387, +-263, +148, +23, +149, +-126, +30, +51, +117, +188, +-539, +29, +205, +-123, +155, +131, +104, +19, +145, +-289, +-431, +0, +-420, +-218, +56, +91, +195, +-103, +87, +-3, +343, +207, +-281, +35, +-148, +138, +93, +-334, +63, +36, +78, +-302, +-526, +-427, +-660, +-238, +-298, +21, +790, +448, +472, +757, +856, +389, +-389, +69, +103, +-63, +-13, +-557, +-170, +125, +-4, +-352, +-410, +315, +-48, +-97, +-124, +-527, +246, +647, +71, +-235, +-228, +-451, +-306, +363, +382, +-74, +108, +28, +-341, +37, +162, +-66, +183, +454, +227, +187, +517, +471, +-139, +-228, +63, +-170, +-150, +244, +-64, +-456, +-54, +461, +195, +-309, +-326, +-89, +49, +50, +-323, +-210, +435, +988, +820, +218, +-165, +-192, +-175, +-579, +-567, +-365, +-146, +141, +-662, +-1223, +-704, +227, +269, +-448, +337, +931, +673, +437, +-205, +-176, +-156, +-299, +-386, +-496, +142, +116, +-154, +-355, +-491, +17, +-203, +-499, +-298, +546, +1489, +516, +-241, +67, +90, +-223, +-616, +-622, +-157, +616, +1075, +610, +288, +676, +659, +150, +-342, +-244, +-86, +-320, +-220, +-278, +-543, +-80, +488, +247, +-54, +-153, +-207, +-283, +-198, +-170, +-266, +60, +153, +-215, +-72, +120, +76, +56, +-87, +22, +64, +141, +73, +-37, +277, +136, +-169, +-203, +-127, +-17, +-145, +-140, +-241, +-175, +15, +-195, +-212, +-100, +-52, +-12, +-178, +-183, +-149, +-57, +-117, +-392, +-91, +48, +-216, +-271, +-469, +-397, +-181, +516, +777, +1001, +3479, +4115, +1347, +-222, +-177, +-240, +-1385, +-1635, +-1006, +-1541, +-520, +485, +-557, +-748, +-38, +644, +246, +-252, +468, +74, +-220, +342, +-5, +-595, +-393, +152, +8, +-347, +106, +-23, +-344, +218, +493, +39, +-291, +56, +296, +-170, +-123, +-127, +-256, +22, +115, +-152, +-373, +40, +424, +4, +-81, +71, +149, +196, +108, +-52, +-140, +178, +398, +119, +-134, +-9, +219, +92, +44, +-49, +5, +156, +240, +44, +-224, +-7, +198, +46, +-57, +-75, +82, +53, +94, +-147, +-214, +10, +142, +-60, +-192, +-55, +4, +13, +-20, +-153, +-107, +-17, +-1, +-264, +-153, +125, +109, +-43, +-215, +-368, +-192, +-77, +-270, +-476, +-241, +3, +-343, +-672, +-840, +-735, +-154, +520, +-118, +638, +5110, +5318, +313, +-1333, +-315, +-312, +-1728, +-2948, +-3283, +-1999, +2484, +2536, +-2013, +-1675, +2109, +2863, +441, +-940, +-163, +507, +1163, +406, +-2538, +-2285, +789, +1005, +-1405, +-2044, +21, +1110, +607, +143, +-524, +-70, +1636, +1329, +-636, +-1084, +522, +978, +-127, +-706, +-462, +-31, +667, +392, +-639, +-636, +527, +949, +183, +-322, +-7, +503, +716, +348, +-298, +-269, +355, +505, +-116, +-541, +-312, +179, +305, +-33, +-464, +-280, +277, +425, +-204, +-549, +-279, +129, +80, +-348, +-630, +-332, +214, +54, +-792, +-987, +-88, +-51, +-616, +-1227, +-1268, +-659, +-335, +-81, +-718, +4376, +11477, +5778, +-1970, +-272, +1642, +-973, +-5351, +-7281, +-6891, +-2672, +3193, +-7, +-4939, +911, +7202, +4919, +629, +214, +1744, +2296, +1588, +-2183, +-6087, +-2879, +1197, +-1255, +-4385, +-1998, +1583, +2244, +1509, +876, +599, +2229, +3512, +715, +-1625, +-209, +943, +-848, +-2156, +-1329, +-394, +36, +502, +56, +-46, +1476, +2086, +549, +-412, +521, +1004, +-234, +-1188, +-1288, +-1050, +-434, +-346, +-644, +-305, +722, +1109, +337, +-280, +-52, +5, +78, +-1079, +-2736, +-2774, +-1980, +-1476, +-1451, +-969, +245, +1501, +10820, +16134, +3358, +-4437, +1229, +2611, +-3693, +-10270, +-10079, +-5371, +-873, +1188, +-4267, +-5509, +6273, +12488, +6174, +732, +1904, +4303, +3430, +-849, +-7991, +-10784, +-3524, +1056, +-4652, +-7465 +}; diff --git a/codec2-dev/unittest/raw2h.c b/codec2-dev/unittest/raw2h.c new file mode 100644 index 00000000..d120293c --- /dev/null +++ b/codec2-dev/unittest/raw2h.c @@ -0,0 +1,43 @@ +/* + raw2h.c + David Rowe + 10 April 2013 + + Converts a raw sound file to a C header file. Used for generating arrays to + test Codec2 on embedded systems without disk I/O. +*/ + +#include +#include +#include +#include + +int main(int argc, char *argv[]) { + FILE *fraw, *fheader; + int i, samples, ret; + short sam; + + if (argc != 5) { + printf("usage: %s inputRawFile outputHeaderFile arrayName samples\n", argv[0]); + exit(1); + } + + fraw = fopen(argv[1] ,"rb"); + assert(fraw != NULL); + fheader = fopen(argv[2],"wt"); + assert(fheader != NULL); + samples = atoi(argv[4]); + + fprintf(fheader, "short %s[] = {\n", argv[3]); + for(i=0; i