From 1c31077ea3a5d1e10fd9f20cdf194f40073d13cc Mon Sep 17 00:00:00 2001 From: Eric Kooistra <kooistra@astron.nl> Date: Thu, 9 Dec 2021 17:03:22 +0100 Subject: [PATCH] Prepared working with Lofar1 pfs_coeff_final.m and Apertif run_pfir_coeff.m in lofar2/model dir. --- .../readme_FilterTaskForce.txt | 120 + .../model/data/Coefficient_16KKaiser.dat | 16384 ++++++++++++++++ .../model/data/Coeffs16384Kaiser-quant.dat | 16384 ++++++++++++++++ .../lofar2/model/pfir_coeff_dc_adjust.m | 124 + applications/lofar2/model/pfs_coeff_final.m | 2 +- .../lofar2/model/readme_lofar2_model.txt | 48 +- applications/lofar2/model/run_pfir_coeff.m | 493 + 7 files changed, 33536 insertions(+), 19 deletions(-) create mode 100644 applications/lofar1/FilterTaskForce/readme_FilterTaskForce.txt create mode 100644 applications/lofar2/model/data/Coefficient_16KKaiser.dat create mode 100644 applications/lofar2/model/data/Coeffs16384Kaiser-quant.dat create mode 100644 applications/lofar2/model/pfir_coeff_dc_adjust.m create mode 100644 applications/lofar2/model/run_pfir_coeff.m diff --git a/applications/lofar1/FilterTaskForce/readme_FilterTaskForce.txt b/applications/lofar1/FilterTaskForce/readme_FilterTaskForce.txt new file mode 100644 index 0000000000..a164813545 --- /dev/null +++ b/applications/lofar1/FilterTaskForce/readme_FilterTaskForce.txt @@ -0,0 +1,120 @@ +2021-12-7 Eric Kooistra (Jira L2SDP-215) + +Invertigation of FilterTaskForce.zip contents. + +1) Scope +2) FilterTaskForce + a) Powerpoint presentations: + b) Word documents: + c) MATLAB files: + d) Coefficient files + + + +1) Scope + +I checked the FilterTaskForce.zip that Andre Gunst still had with documents +and Matlab code for the Polyphase Filterbank that is used in LOFAR1. + +Unfortunately the documents and note are not very clear. The most useful +things are: +- the PFB drawings in filterbanks2.ppt +- the filter specification in MeasurementsEffect.ppt + +The pfs_coeff_final.m generates the Coefficient_16KKaiser.dat, these FIR +coefficients are almost the same as in: + + git/hdl/libraries/dsp/filter/src/hex/Coeffs16384Kaiser-quant.dat + +that is used in LOFAR1, but unfortunately not exactly the same. Hence the +most useful files are pfs_coeff_final.m and Coefficient_16KKaiser.dat. For +further analysis in LOFAR2 these files are copied to: + + git/hdl/applications/lofar2/model + + + +2a) FTF Powerpoint presentations: + +* Feb 9 2004 'Filter test bench algorithm verification.ppt' : not clear and not useful. +* Feb 10 2004 '1KHz RFI Impact.ppt': + + Plot of output power and phase over PFB bands, the phase is linear per band + and over all bands. + +* Feb 25 2004 'RFI study.ppt' : not clear and not useful. +* Feb 27 2004 Filter_presentation.ppt : not clear and not useful. +* May 14 2004 'Filter Task Force(final).ppt' : not clear and not useful. +* May 14 2004 filterbanks2.ppt + Diagram of FIR and FFT for PFB, with L = M*N = 256 * 16 = 4096 coefficients. + . M polyphases and M point FFT + . N taps per polyhase + +* Jul 9 2004 FIRprototype.ppt : not clear and not useful. +* Jul 9 2004 FIRprototype2.ppt : not clear and not useful. +* Sep 17 2004 Filtermeeting2.ppt : not clear and not useful, except: + + The filter design method fircls1 LSQ based methods gives good result for the + basic 2-4K design. An interpolation should be applied in order to realize + 4K -> 16K coefficient generation. (Add 16K coefficients within the 4K + coefficients). Two methods are possible: + - Classic: 0 padding + FIR (long if good filter quality) + - FFT : creation of the bandwidth in padding zeros directly in the frequency domain. + ==> FFT interpolation yields best results + +* Oct 11 2004 MeasurementsEffect.ppt: not clear and not useful, except: + + Stop band: -90.5dB + Pass band ripple: -0.45 dB + -3dB -> 40dB: 23.3% + -3dB -> 90.5dB: 32.89% + +* Feb 10 2005 'Quantization results 200MHz.ppt' : not useful. + + +2b) FTF Word documents: + +* Dec 15 2003 Memoonbasebandshift.doc + Idea to shift the bands per station, so that the subband aliasing decorrelates at + the centrals processing. Not used. + +* May 14 2004 'Problematic choice of the filter.doc' + Some knowns pros and cons of critically sampled and oversampled PFB + +* Nov 23 2004 MinuteFTF2806.doc : not clear and not useful. + +RTF documents : all not useful + +* Oct 27 2003 'minutes 3.rtf' +* Jan 22 2004 'Minutes filter-22-01.rtf' +* Feb 27 2004 minutesFTF26-02.rtf +* Mar 10 2004 'RFI discussion.rtf' +* Mar 22 2004 'FTF - minutes_22-03-2004.rtf' +* Jun 28 2004 'Document Plan.rtf' + +Oct 7 2003 'FTFarchive/Lofar station digital filtering.doc' : Forming the Filter task force +Nov 14 2003 FTFarchive/FIRresult14-11.doc : not useful. +Dec 9 2003 FTFarchive/STW-09-12.doc : Tasks and persons overview + +Excel file : all not useful + +* Oct 26 2004 filter2.xls +* Oct 26 2004 filter.xls + + +2c) FTF MATLAB files: + +* Aug 16 2004 pfs_coeff.m : Blackman +* Aug 19 2004 pfs_coeff2.m : Hanning +* Oct 26 2004 pfs_coeff_final.m : Kaiser + - copied to: /dop466_0/kooistra/git/hdl/applications/lofar2/model/pfs_coeff_final.m + - generates Coefficient_16KKaiser.dat + + +2d) FTF Coefficient files + +* Aug 19 2004 Coefficient_16K.dat +* Oct 27 2004 Coefficient_16KKaiser.dat + - copied to: /dop466_0/kooistra/git/hdl/applications/lofar2/model/data/Coefficient_16KKaiser.dat + + diff --git a/applications/lofar2/model/data/Coefficient_16KKaiser.dat b/applications/lofar2/model/data/Coefficient_16KKaiser.dat new file mode 100644 index 0000000000..8e72b42a94 --- /dev/null +++ b/applications/lofar2/model/data/Coefficient_16KKaiser.dat @@ -0,0 +1,16384 @@ +40 +39 +39 +38 +37 +36 +35 +34 +32 +31 +29 +27 +25 +24 +22 +20 +18 +17 +15 +14 +13 +11 +10 +10 +9 +8 +8 +8 +7 +7 +7 +8 +8 +8 +8 +9 +9 +10 +10 +10 +11 +11 +11 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +13 +13 +13 +13 +13 +13 +14 +14 +14 +14 +14 +14 +15 +15 +15 +15 +15 +15 +15 +15 +15 +15 +15 +16 +16 +16 +16 +16 +16 +16 +16 +16 +16 +17 +17 +17 +17 +17 +17 +17 +18 +18 +18 +18 +18 +18 +18 +19 +19 +19 +19 +19 +19 +19 +19 +19 +20 +20 +20 +20 +20 +20 +20 +20 +21 +21 +21 +21 +21 +21 +22 +22 +22 +22 +22 +22 +22 +23 +23 +23 +23 +23 +23 +23 +24 +24 +24 +24 +24 +24 +24 +25 +25 +25 +25 +25 +25 +25 +26 +26 +26 +26 +26 +26 +27 +27 +27 +27 +27 +28 +28 +28 +28 +28 +28 +28 +29 +29 +29 +29 +29 +29 +30 +30 +30 +30 +30 +30 +31 +31 +31 +31 +31 +32 +32 +32 +32 +32 +33 +33 +33 +33 +33 +33 +34 +34 +34 +34 +34 +35 +35 +35 +35 +35 +35 +36 +36 +36 +36 +36 +37 +37 +37 +37 +37 +38 +38 +38 +38 +39 +39 +39 +39 +39 +40 +40 +40 +40 +40 +41 +41 +41 +41 +41 +42 +42 +42 +42 +43 +43 +43 +43 +43 +44 +44 +44 +44 +45 +45 +45 +45 +45 +46 +46 +46 +46 +47 +47 +47 +47 +48 +48 +48 +48 +48 +49 +49 +49 +49 +50 +50 +50 +50 +51 +51 +51 +51 +52 +52 +52 +52 +53 +53 +53 +53 +54 +54 +54 +54 +55 +55 +55 +55 +56 +56 +56 +56 +57 +57 +57 +57 +58 +58 +58 +59 +59 +59 +59 +60 +60 +60 +60 +61 +61 +61 +62 +62 +62 +62 +63 +63 +63 +63 +64 +64 +64 +65 +65 +65 +65 +66 +66 +66 +67 +67 +67 +67 +68 +68 +68 +69 +69 +69 +70 +70 +70 +70 +71 +71 +71 +72 +72 +72 +73 +73 +73 +74 +74 +74 +74 +75 +75 +75 +76 +76 +76 +77 +77 +77 +78 +78 +78 +79 +79 +79 +80 +80 +80 +81 +81 +81 +81 +82 +82 +82 +83 +83 +83 +84 +84 +84 +85 +85 +85 +86 +86 +86 +87 +87 +88 +88 +88 +89 +89 +89 +90 +90 +90 +91 +91 +91 +92 +92 +92 +93 +93 +93 +94 +94 +95 +95 +95 +96 +96 +96 +97 +97 +97 +98 +98 +99 +99 +99 +100 +100 +100 +101 +101 +102 +102 +102 +103 +103 +103 +104 +104 +105 +105 +105 +106 +106 +106 +107 +107 +108 +108 +108 +109 +109 +110 +110 +110 +111 +111 +112 +112 +112 +113 +113 +114 +114 +114 +115 +115 +116 +116 +116 +117 +117 +118 +118 +118 +119 +119 +120 +120 +120 +121 +121 +122 +122 +123 +123 +123 +124 +124 +125 +125 +125 +126 +126 +127 +127 +128 +128 +128 +129 +129 +130 +130 +131 +131 +131 +132 +132 +133 +133 +134 +134 +134 +135 +135 +136 +136 +137 +137 +138 +138 +138 +139 +139 +140 +140 +141 +141 +142 +142 +143 +143 +143 +144 +144 +145 +145 +146 +146 +147 +147 +148 +148 +148 +149 +149 +150 +150 +151 +151 +152 +152 +153 +153 +154 +154 +154 +155 +155 +156 +156 +157 +157 +158 +158 +159 +159 +160 +160 +161 +161 +162 +162 +163 +163 +164 +164 +165 +165 +165 +166 +166 +167 +167 +168 +168 +169 +169 +170 +170 +171 +171 +172 +172 +173 +173 +174 +174 +175 +175 +176 +176 +177 +177 +178 +178 +179 +179 +180 +180 +181 +181 +182 +182 +183 +183 +184 +184 +185 +185 +186 +186 +187 +188 +188 +189 +189 +190 +190 +191 +191 +192 +192 +193 +193 +194 +194 +195 +195 +196 +196 +197 +197 +198 +198 +199 +199 +200 +201 +201 +202 +202 +203 +203 +204 +204 +205 +205 +206 +206 +207 +207 +208 +208 +209 +210 +210 +211 +211 +212 +212 +213 +213 +214 +214 +215 +215 +216 +217 +217 +218 +218 +219 +219 +220 +220 +221 +221 +222 +223 +223 +224 +224 +225 +225 +226 +226 +227 +227 +228 +229 +229 +230 +230 +231 +231 +232 +232 +233 +234 +234 +235 +235 +236 +236 +237 +237 +238 +239 +239 +240 +240 +241 +241 +242 +242 +243 +244 +244 +245 +245 +246 +246 +247 +248 +248 +249 +249 +250 +250 +251 +251 +252 +253 +253 +254 +254 +255 +255 +256 +257 +257 +258 +258 +259 +259 +260 +261 +261 +262 +262 +263 +263 +264 +264 +265 +266 +266 +267 +267 +268 +268 +269 +270 +270 +271 +271 +272 +272 +273 +274 +274 +275 +275 +276 +276 +277 +278 +278 +279 +279 +280 +280 +281 +282 +282 +283 +283 +284 +284 +285 +286 +286 +287 +287 +288 +288 +289 +290 +290 +291 +291 +292 +292 +293 +294 +294 +295 +295 +296 +296 +297 +298 +298 +299 +299 +300 +300 +301 +302 +302 +303 +303 +304 +304 +305 +306 +306 +307 +307 +308 +308 +309 +310 +310 +311 +311 +312 +312 +313 +314 +314 +315 +315 +316 +316 +317 +318 +318 +319 +319 +320 +320 +321 +321 +322 +323 +323 +324 +324 +325 +325 +326 +327 +327 +328 +328 +329 +329 +330 +330 +331 +332 +332 +333 +333 +334 +334 +335 +335 +336 +337 +337 +338 +338 +339 +339 +340 +340 +341 +342 +342 +343 +343 +344 +344 +345 +345 +346 +346 +347 +348 +348 +349 +349 +350 +350 +351 +351 +352 +352 +353 +354 +354 +355 +355 +356 +356 +357 +357 +358 +358 +359 +359 +360 +361 +361 +362 +362 +363 +363 +364 +364 +365 +365 +366 +366 +367 +367 +368 +368 +369 +369 +370 +370 +371 +372 +372 +373 +373 +374 +374 +375 +375 +376 +376 +377 +377 +378 +378 +379 +379 +380 +380 +381 +381 +382 +382 +383 +383 +384 +384 +385 +385 +386 +386 +387 +387 +388 +388 +389 +389 +390 +390 +391 +391 +392 +392 +393 +393 +393 +394 +394 +395 +395 +396 +396 +397 +397 +398 +398 +399 +399 +400 +400 +401 +401 +401 +402 +402 +403 +403 +404 +404 +405 +405 +406 +406 +406 +407 +407 +408 +408 +409 +409 +410 +410 +410 +411 +411 +412 +412 +413 +413 +413 +414 +414 +415 +415 +416 +416 +416 +417 +417 +418 +418 +419 +419 +419 +420 +420 +421 +421 +421 +422 +422 +423 +423 +423 +424 +424 +425 +425 +425 +426 +426 +427 +427 +427 +428 +428 +428 +429 +429 +430 +430 +430 +431 +431 +431 +432 +432 +433 +433 +433 +434 +434 +434 +435 +435 +435 +436 +436 +436 +437 +437 +437 +438 +438 +438 +439 +439 +439 +440 +440 +440 +441 +441 +441 +442 +442 +442 +443 +443 +443 +444 +444 +444 +444 +445 +445 +445 +446 +446 +446 +447 +447 +447 +447 +448 +448 +448 +449 +449 +449 +449 +450 +450 +450 +450 +451 +451 +451 +451 +452 +452 +452 +452 +453 +453 +453 +453 +454 +454 +454 +454 +455 +455 +455 +455 +456 +456 +456 +456 +456 +457 +457 +457 +457 +457 +458 +458 +458 +458 +458 +459 +459 +459 +459 +459 +460 +460 +460 +460 +460 +460 +461 +461 +461 +461 +461 +461 +462 +462 +462 +462 +462 +462 +462 +463 +463 +463 +463 +463 +463 +463 +463 +464 +464 +464 +464 +464 +464 +464 +464 +464 +465 +465 +465 +465 +465 +465 +465 +465 +465 +465 +465 +466 +466 +466 +466 +466 +466 +466 +466 +466 +466 +466 +466 +466 +466 +466 +466 +466 +466 +466 +466 +467 +467 +467 +467 +467 +467 +467 +467 +467 +467 +467 +467 +467 +467 +467 +467 +467 +467 +467 +467 +466 +466 +466 +466 +466 +466 +466 +466 +466 +466 +466 +466 +466 +466 +466 +466 +466 +466 +466 +465 +465 +465 +465 +465 +465 +465 +465 +465 +465 +465 +464 +464 +464 +464 +464 +464 +464 +464 +464 +463 +463 +463 +463 +463 +463 +463 +462 +462 +462 +462 +462 +462 +461 +461 +461 +461 +461 +461 +460 +460 +460 +460 +460 +459 +459 +459 +459 +459 +458 +458 +458 +458 +457 +457 +457 +457 +457 +456 +456 +456 +456 +455 +455 +455 +454 +454 +454 +454 +453 +453 +453 +453 +452 +452 +452 +451 +451 +451 +451 +450 +450 +450 +449 +449 +449 +448 +448 +448 +447 +447 +447 +446 +446 +446 +445 +445 +445 +444 +444 +443 +443 +443 +442 +442 +442 +441 +441 +440 +440 +440 +439 +439 +438 +438 +437 +437 +437 +436 +436 +435 +435 +434 +434 +434 +433 +433 +432 +432 +431 +431 +430 +430 +429 +429 +428 +428 +428 +427 +427 +426 +426 +425 +425 +424 +424 +423 +422 +422 +421 +421 +420 +420 +419 +419 +418 +418 +417 +417 +416 +415 +415 +414 +414 +413 +413 +412 +411 +411 +410 +410 +409 +408 +408 +407 +407 +406 +405 +405 +404 +404 +403 +402 +402 +401 +400 +400 +399 +398 +398 +397 +396 +396 +395 +394 +394 +393 +392 +392 +391 +390 +390 +389 +388 +387 +387 +386 +385 +385 +384 +383 +382 +382 +381 +380 +379 +379 +378 +377 +376 +376 +375 +374 +373 +373 +372 +371 +370 +369 +369 +368 +367 +366 +365 +365 +364 +363 +362 +361 +361 +360 +359 +358 +357 +356 +356 +355 +354 +353 +352 +351 +350 +350 +349 +348 +347 +346 +345 +344 +343 +343 +342 +341 +340 +339 +338 +337 +336 +335 +334 +333 +332 +332 +331 +330 +329 +328 +327 +326 +325 +324 +323 +322 +321 +320 +319 +318 +317 +316 +315 +314 +313 +312 +311 +310 +309 +308 +307 +306 +305 +304 +303 +302 +301 +300 +299 +298 +297 +296 +295 +294 +292 +291 +290 +289 +288 +287 +286 +285 +284 +283 +282 +281 +279 +278 +277 +276 +275 +274 +273 +272 +271 +269 +268 +267 +266 +265 +264 +263 +261 +260 +259 +258 +257 +256 +254 +253 +252 +251 +250 +248 +247 +246 +245 +244 +242 +241 +240 +239 +238 +236 +235 +234 +233 +232 +230 +229 +228 +227 +225 +224 +223 +222 +220 +219 +218 +216 +215 +214 +213 +211 +210 +209 +207 +206 +205 +204 +202 +201 +200 +198 +197 +196 +194 +193 +192 +190 +189 +188 +186 +185 +184 +182 +181 +180 +178 +177 +176 +174 +173 +172 +170 +169 +167 +166 +165 +163 +162 +160 +159 +158 +156 +155 +153 +152 +151 +149 +148 +146 +145 +143 +142 +141 +139 +138 +136 +135 +133 +132 +131 +129 +128 +126 +125 +123 +122 +120 +119 +117 +116 +114 +113 +111 +110 +108 +107 +105 +104 +102 +101 +99 +98 +96 +95 +93 +92 +90 +89 +87 +86 +84 +83 +81 +80 +78 +76 +75 +73 +72 +70 +69 +67 +66 +64 +62 +61 +59 +58 +56 +55 +53 +51 +50 +48 +47 +45 +43 +42 +40 +39 +37 +35 +34 +32 +31 +29 +27 +26 +24 +23 +21 +19 +18 +16 +14 +13 +11 +9 +8 +6 +4 +3 +1 +0 +-2 +-4 +-5 +-7 +-9 +-10 +-12 +-14 +-15 +-17 +-19 +-20 +-22 +-24 +-26 +-27 +-29 +-31 +-32 +-34 +-36 +-37 +-39 +-41 +-42 +-44 +-46 +-48 +-49 +-51 +-53 +-54 +-56 +-58 +-60 +-61 +-63 +-65 +-67 +-68 +-70 +-72 +-73 +-75 +-77 +-79 +-80 +-82 +-84 +-86 +-87 +-89 +-91 +-93 +-94 +-96 +-98 +-100 +-101 +-103 +-105 +-107 +-108 +-110 +-112 +-114 +-116 +-117 +-119 +-121 +-123 +-124 +-126 +-128 +-130 +-132 +-133 +-135 +-137 +-139 +-140 +-142 +-144 +-146 +-148 +-149 +-151 +-153 +-155 +-157 +-158 +-160 +-162 +-164 +-166 +-167 +-169 +-171 +-173 +-175 +-177 +-178 +-180 +-182 +-184 +-186 +-187 +-189 +-191 +-193 +-195 +-197 +-198 +-200 +-202 +-204 +-206 +-207 +-209 +-211 +-213 +-215 +-217 +-218 +-220 +-222 +-224 +-226 +-228 +-229 +-231 +-233 +-235 +-237 +-239 +-240 +-242 +-244 +-246 +-248 +-250 +-251 +-253 +-255 +-257 +-259 +-261 +-263 +-264 +-266 +-268 +-270 +-272 +-274 +-275 +-277 +-279 +-281 +-283 +-285 +-287 +-288 +-290 +-292 +-294 +-296 +-298 +-299 +-301 +-303 +-305 +-307 +-309 +-311 +-312 +-314 +-316 +-318 +-320 +-322 +-324 +-325 +-327 +-329 +-331 +-333 +-335 +-336 +-338 +-340 +-342 +-344 +-346 +-348 +-349 +-351 +-353 +-355 +-357 +-359 +-360 +-362 +-364 +-366 +-368 +-370 +-372 +-373 +-375 +-377 +-379 +-381 +-383 +-384 +-386 +-388 +-390 +-392 +-394 +-395 +-397 +-399 +-401 +-403 +-405 +-406 +-408 +-410 +-412 +-414 +-416 +-417 +-419 +-421 +-423 +-425 +-427 +-428 +-430 +-432 +-434 +-436 +-437 +-439 +-441 +-443 +-445 +-447 +-448 +-450 +-452 +-454 +-456 +-457 +-459 +-461 +-463 +-465 +-466 +-468 +-470 +-472 +-474 +-475 +-477 +-479 +-481 +-483 +-484 +-486 +-488 +-490 +-491 +-493 +-495 +-497 +-499 +-500 +-502 +-504 +-506 +-507 +-509 +-511 +-513 +-514 +-516 +-518 +-520 +-521 +-523 +-525 +-527 +-528 +-530 +-532 +-534 +-535 +-537 +-539 +-541 +-542 +-544 +-546 +-548 +-549 +-551 +-553 +-554 +-556 +-558 +-560 +-561 +-563 +-565 +-566 +-568 +-570 +-572 +-573 +-575 +-577 +-578 +-580 +-582 +-583 +-585 +-587 +-588 +-590 +-592 +-593 +-595 +-597 +-598 +-600 +-602 +-603 +-605 +-607 +-608 +-610 +-612 +-613 +-615 +-616 +-618 +-620 +-621 +-623 +-625 +-626 +-628 +-629 +-631 +-633 +-634 +-636 +-637 +-639 +-641 +-642 +-644 +-645 +-647 +-649 +-650 +-652 +-653 +-655 +-656 +-658 +-660 +-661 +-663 +-664 +-666 +-667 +-669 +-670 +-672 +-673 +-675 +-676 +-678 +-680 +-681 +-683 +-684 +-686 +-687 +-689 +-690 +-692 +-693 +-695 +-696 +-697 +-699 +-700 +-702 +-703 +-705 +-706 +-708 +-709 +-711 +-712 +-713 +-715 +-716 +-718 +-719 +-721 +-722 +-723 +-725 +-726 +-728 +-729 +-730 +-732 +-733 +-735 +-736 +-737 +-739 +-740 +-741 +-743 +-744 +-746 +-747 +-748 +-750 +-751 +-752 +-754 +-755 +-756 +-757 +-759 +-760 +-761 +-763 +-764 +-765 +-767 +-768 +-769 +-770 +-772 +-773 +-774 +-775 +-777 +-778 +-779 +-780 +-782 +-783 +-784 +-785 +-787 +-788 +-789 +-790 +-791 +-793 +-794 +-795 +-796 +-797 +-798 +-800 +-801 +-802 +-803 +-804 +-805 +-807 +-808 +-809 +-810 +-811 +-812 +-813 +-814 +-815 +-817 +-818 +-819 +-820 +-821 +-822 +-823 +-824 +-825 +-826 +-827 +-828 +-829 +-830 +-831 +-832 +-833 +-834 +-835 +-836 +-837 +-838 +-839 +-840 +-841 +-842 +-843 +-844 +-845 +-846 +-847 +-848 +-849 +-850 +-851 +-852 +-853 +-854 +-854 +-855 +-856 +-857 +-858 +-859 +-860 +-861 +-861 +-862 +-863 +-864 +-865 +-866 +-866 +-867 +-868 +-869 +-870 +-871 +-871 +-872 +-873 +-874 +-874 +-875 +-876 +-877 +-877 +-878 +-879 +-880 +-880 +-881 +-882 +-882 +-883 +-884 +-885 +-885 +-886 +-887 +-887 +-888 +-889 +-889 +-890 +-890 +-891 +-892 +-892 +-893 +-894 +-894 +-895 +-895 +-896 +-896 +-897 +-898 +-898 +-899 +-899 +-900 +-900 +-901 +-901 +-902 +-902 +-903 +-903 +-904 +-904 +-905 +-905 +-906 +-906 +-907 +-907 +-907 +-908 +-908 +-909 +-909 +-910 +-910 +-910 +-911 +-911 +-911 +-912 +-912 +-913 +-913 +-913 +-914 +-914 +-914 +-914 +-915 +-915 +-915 +-916 +-916 +-916 +-916 +-917 +-917 +-917 +-917 +-918 +-918 +-918 +-918 +-919 +-919 +-919 +-919 +-919 +-919 +-920 +-920 +-920 +-920 +-920 +-920 +-920 +-921 +-921 +-921 +-921 +-921 +-921 +-921 +-921 +-921 +-921 +-921 +-921 +-921 +-921 +-922 +-922 +-922 +-922 +-922 +-922 +-921 +-921 +-921 +-921 +-921 +-921 +-921 +-921 +-921 +-921 +-921 +-921 +-921 +-921 +-920 +-920 +-920 +-920 +-920 +-920 +-920 +-919 +-919 +-919 +-919 +-919 +-918 +-918 +-918 +-918 +-917 +-917 +-917 +-917 +-916 +-916 +-916 +-916 +-915 +-915 +-915 +-914 +-914 +-914 +-913 +-913 +-913 +-912 +-912 +-912 +-911 +-911 +-910 +-910 +-910 +-909 +-909 +-908 +-908 +-907 +-907 +-907 +-906 +-906 +-905 +-905 +-904 +-904 +-903 +-903 +-902 +-901 +-901 +-900 +-900 +-899 +-899 +-898 +-897 +-897 +-896 +-896 +-895 +-894 +-894 +-893 +-892 +-892 +-891 +-890 +-890 +-889 +-888 +-888 +-887 +-886 +-886 +-885 +-884 +-883 +-883 +-882 +-881 +-880 +-879 +-879 +-878 +-877 +-876 +-875 +-875 +-874 +-873 +-872 +-871 +-870 +-869 +-869 +-868 +-867 +-866 +-865 +-864 +-863 +-862 +-861 +-860 +-859 +-858 +-857 +-856 +-855 +-854 +-853 +-852 +-851 +-850 +-849 +-848 +-847 +-846 +-845 +-844 +-843 +-842 +-841 +-840 +-838 +-837 +-836 +-835 +-834 +-833 +-832 +-830 +-829 +-828 +-827 +-826 +-824 +-823 +-822 +-821 +-820 +-818 +-817 +-816 +-814 +-813 +-812 +-811 +-809 +-808 +-807 +-805 +-804 +-803 +-801 +-800 +-799 +-797 +-796 +-795 +-793 +-792 +-790 +-789 +-788 +-786 +-785 +-783 +-782 +-780 +-779 +-777 +-776 +-774 +-773 +-771 +-770 +-768 +-767 +-765 +-764 +-762 +-761 +-759 +-758 +-756 +-754 +-753 +-751 +-750 +-748 +-746 +-745 +-743 +-741 +-740 +-738 +-737 +-735 +-733 +-731 +-730 +-728 +-726 +-725 +-723 +-721 +-719 +-718 +-716 +-714 +-712 +-711 +-709 +-707 +-705 +-703 +-702 +-700 +-698 +-696 +-694 +-692 +-691 +-689 +-687 +-685 +-683 +-681 +-679 +-677 +-676 +-674 +-672 +-670 +-668 +-666 +-664 +-662 +-660 +-658 +-656 +-654 +-652 +-650 +-648 +-646 +-644 +-642 +-640 +-638 +-636 +-634 +-632 +-630 +-627 +-625 +-623 +-621 +-619 +-617 +-615 +-613 +-611 +-608 +-606 +-604 +-602 +-600 +-598 +-595 +-593 +-591 +-589 +-587 +-584 +-582 +-580 +-578 +-575 +-573 +-571 +-569 +-566 +-564 +-562 +-559 +-557 +-555 +-552 +-550 +-548 +-546 +-543 +-541 +-538 +-536 +-534 +-531 +-529 +-527 +-524 +-522 +-519 +-517 +-515 +-512 +-510 +-507 +-505 +-502 +-500 +-497 +-495 +-493 +-490 +-488 +-485 +-483 +-480 +-478 +-475 +-472 +-470 +-467 +-465 +-462 +-460 +-457 +-455 +-452 +-449 +-447 +-444 +-442 +-439 +-436 +-434 +-431 +-429 +-426 +-423 +-421 +-418 +-415 +-413 +-410 +-407 +-405 +-402 +-399 +-397 +-394 +-391 +-388 +-386 +-383 +-380 +-378 +-375 +-372 +-369 +-367 +-364 +-361 +-358 +-355 +-353 +-350 +-347 +-344 +-341 +-339 +-336 +-333 +-330 +-327 +-324 +-322 +-319 +-316 +-313 +-310 +-307 +-304 +-302 +-299 +-296 +-293 +-290 +-287 +-284 +-281 +-278 +-275 +-272 +-270 +-267 +-264 +-261 +-258 +-255 +-252 +-249 +-246 +-243 +-240 +-237 +-234 +-231 +-228 +-225 +-222 +-219 +-216 +-213 +-210 +-207 +-204 +-201 +-198 +-195 +-191 +-188 +-185 +-182 +-179 +-176 +-173 +-170 +-167 +-164 +-161 +-158 +-154 +-151 +-148 +-145 +-142 +-139 +-136 +-133 +-129 +-126 +-123 +-120 +-117 +-114 +-110 +-107 +-104 +-101 +-98 +-95 +-91 +-88 +-85 +-82 +-79 +-75 +-72 +-69 +-66 +-63 +-59 +-56 +-53 +-50 +-46 +-43 +-40 +-37 +-33 +-30 +-27 +-24 +-20 +-17 +-14 +-11 +-7 +-4 +-1 +3 +6 +9 +12 +16 +19 +22 +26 +29 +32 +36 +39 +42 +46 +49 +52 +56 +59 +62 +66 +69 +72 +76 +79 +82 +86 +89 +92 +96 +99 +102 +106 +109 +113 +116 +119 +123 +126 +129 +133 +136 +140 +143 +146 +150 +153 +157 +160 +163 +167 +170 +174 +177 +180 +184 +187 +191 +194 +197 +201 +204 +208 +211 +215 +218 +221 +225 +228 +232 +235 +239 +242 +245 +249 +252 +256 +259 +263 +266 +269 +273 +276 +280 +283 +287 +290 +294 +297 +300 +304 +307 +311 +314 +318 +321 +325 +328 +332 +335 +338 +342 +345 +349 +352 +356 +359 +363 +366 +370 +373 +376 +380 +383 +387 +390 +394 +397 +401 +404 +408 +411 +414 +418 +421 +425 +428 +432 +435 +439 +442 +446 +449 +452 +456 +459 +463 +466 +470 +473 +477 +480 +483 +487 +490 +494 +497 +501 +504 +507 +511 +514 +518 +521 +525 +528 +531 +535 +538 +542 +545 +549 +552 +555 +559 +562 +566 +569 +572 +576 +579 +583 +586 +589 +593 +596 +600 +603 +606 +610 +613 +617 +620 +623 +627 +630 +633 +637 +640 +644 +647 +650 +654 +657 +660 +664 +667 +670 +674 +677 +680 +684 +687 +690 +694 +697 +700 +704 +707 +710 +714 +717 +720 +723 +727 +730 +733 +737 +740 +743 +746 +750 +753 +756 +760 +763 +766 +769 +773 +776 +779 +782 +786 +789 +792 +795 +798 +802 +805 +808 +811 +814 +818 +821 +824 +827 +830 +834 +837 +840 +843 +846 +849 +852 +856 +859 +862 +865 +868 +871 +874 +877 +881 +884 +887 +890 +893 +896 +899 +902 +905 +908 +911 +914 +917 +921 +924 +927 +930 +933 +936 +939 +942 +945 +948 +951 +954 +957 +960 +963 +966 +969 +971 +974 +977 +980 +983 +986 +989 +992 +995 +998 +1001 +1004 +1006 +1009 +1012 +1015 +1018 +1021 +1024 +1026 +1029 +1032 +1035 +1038 +1041 +1043 +1046 +1049 +1052 +1055 +1057 +1060 +1063 +1066 +1068 +1071 +1074 +1076 +1079 +1082 +1085 +1087 +1090 +1093 +1095 +1098 +1101 +1103 +1106 +1109 +1111 +1114 +1117 +1119 +1122 +1124 +1127 +1129 +1132 +1135 +1137 +1140 +1142 +1145 +1147 +1150 +1152 +1155 +1157 +1160 +1162 +1165 +1167 +1170 +1172 +1175 +1177 +1180 +1182 +1184 +1187 +1189 +1192 +1194 +1196 +1199 +1201 +1203 +1206 +1208 +1210 +1213 +1215 +1217 +1220 +1222 +1224 +1226 +1229 +1231 +1233 +1235 +1238 +1240 +1242 +1244 +1246 +1249 +1251 +1253 +1255 +1257 +1259 +1262 +1264 +1266 +1268 +1270 +1272 +1274 +1276 +1278 +1280 +1282 +1284 +1286 +1288 +1290 +1292 +1294 +1296 +1298 +1300 +1302 +1304 +1306 +1308 +1310 +1312 +1314 +1315 +1317 +1319 +1321 +1323 +1325 +1326 +1328 +1330 +1332 +1334 +1335 +1337 +1339 +1341 +1342 +1344 +1346 +1347 +1349 +1351 +1353 +1354 +1356 +1357 +1359 +1361 +1362 +1364 +1365 +1367 +1369 +1370 +1372 +1373 +1375 +1376 +1378 +1379 +1381 +1382 +1384 +1385 +1387 +1388 +1389 +1391 +1392 +1394 +1395 +1396 +1398 +1399 +1400 +1402 +1403 +1404 +1406 +1407 +1408 +1409 +1411 +1412 +1413 +1414 +1415 +1417 +1418 +1419 +1420 +1421 +1422 +1423 +1425 +1426 +1427 +1428 +1429 +1430 +1431 +1432 +1433 +1434 +1435 +1436 +1437 +1438 +1439 +1440 +1441 +1442 +1442 +1443 +1444 +1445 +1446 +1447 +1448 +1448 +1449 +1450 +1451 +1452 +1452 +1453 +1454 +1455 +1455 +1456 +1457 +1457 +1458 +1459 +1459 +1460 +1460 +1461 +1462 +1462 +1463 +1463 +1464 +1464 +1465 +1465 +1466 +1466 +1467 +1467 +1468 +1468 +1469 +1469 +1469 +1470 +1470 +1470 +1471 +1471 +1471 +1472 +1472 +1472 +1473 +1473 +1473 +1473 +1473 +1474 +1474 +1474 +1474 +1474 +1474 +1475 +1475 +1475 +1475 +1475 +1475 +1475 +1475 +1475 +1475 +1475 +1475 +1475 +1475 +1475 +1475 +1475 +1475 +1475 +1475 +1474 +1474 +1474 +1474 +1474 +1474 +1473 +1473 +1473 +1473 +1472 +1472 +1472 +1471 +1471 +1471 +1471 +1470 +1470 +1469 +1469 +1469 +1468 +1468 +1467 +1467 +1466 +1466 +1465 +1465 +1464 +1464 +1463 +1463 +1462 +1461 +1461 +1460 +1460 +1459 +1458 +1458 +1457 +1456 +1456 +1455 +1454 +1453 +1453 +1452 +1451 +1450 +1449 +1449 +1448 +1447 +1446 +1445 +1444 +1443 +1442 +1441 +1440 +1439 +1438 +1437 +1436 +1435 +1434 +1433 +1432 +1431 +1430 +1429 +1428 +1427 +1426 +1424 +1423 +1422 +1421 +1420 +1418 +1417 +1416 +1415 +1413 +1412 +1411 +1409 +1408 +1407 +1405 +1404 +1403 +1401 +1400 +1398 +1397 +1396 +1394 +1393 +1391 +1390 +1388 +1387 +1385 +1383 +1382 +1380 +1379 +1377 +1375 +1374 +1372 +1370 +1369 +1367 +1365 +1364 +1362 +1360 +1358 +1357 +1355 +1353 +1351 +1349 +1347 +1346 +1344 +1342 +1340 +1338 +1336 +1334 +1332 +1330 +1328 +1326 +1324 +1322 +1320 +1318 +1316 +1314 +1312 +1310 +1308 +1305 +1303 +1301 +1299 +1297 +1295 +1292 +1290 +1288 +1286 +1283 +1281 +1279 +1277 +1274 +1272 +1270 +1267 +1265 +1262 +1260 +1258 +1255 +1253 +1250 +1248 +1245 +1243 +1240 +1238 +1235 +1233 +1230 +1228 +1225 +1222 +1220 +1217 +1215 +1212 +1209 +1207 +1204 +1201 +1199 +1196 +1193 +1190 +1188 +1185 +1182 +1179 +1176 +1174 +1171 +1168 +1165 +1162 +1159 +1156 +1153 +1150 +1147 +1145 +1142 +1139 +1136 +1133 +1130 +1127 +1123 +1120 +1117 +1114 +1111 +1108 +1105 +1102 +1099 +1096 +1092 +1089 +1086 +1083 +1080 +1076 +1073 +1070 +1067 +1063 +1060 +1057 +1053 +1050 +1047 +1043 +1040 +1037 +1033 +1030 +1026 +1023 +1019 +1016 +1013 +1009 +1006 +1002 +999 +995 +991 +988 +984 +981 +977 +974 +970 +966 +963 +959 +955 +952 +948 +944 +941 +937 +933 +930 +926 +922 +918 +914 +911 +907 +903 +899 +895 +892 +888 +884 +880 +876 +872 +868 +864 +860 +856 +852 +848 +844 +840 +836 +832 +828 +824 +820 +816 +812 +808 +804 +800 +796 +792 +788 +783 +779 +775 +771 +767 +762 +758 +754 +750 +746 +741 +737 +733 +728 +724 +720 +716 +711 +707 +703 +698 +694 +689 +685 +681 +676 +672 +667 +663 +659 +654 +650 +645 +641 +636 +632 +627 +623 +618 +614 +609 +605 +600 +595 +591 +586 +582 +577 +572 +568 +563 +558 +554 +549 +544 +540 +535 +530 +526 +521 +516 +511 +507 +502 +497 +492 +488 +483 +478 +473 +468 +464 +459 +454 +449 +444 +439 +434 +430 +425 +420 +415 +410 +405 +400 +395 +390 +385 +380 +375 +370 +365 +360 +355 +350 +345 +340 +335 +330 +325 +320 +315 +310 +305 +300 +295 +290 +285 +280 +274 +269 +264 +259 +254 +249 +244 +238 +233 +228 +223 +218 +212 +207 +202 +197 +192 +186 +181 +176 +171 +165 +160 +155 +150 +144 +139 +134 +129 +123 +118 +113 +107 +102 +97 +91 +86 +81 +75 +70 +65 +59 +54 +48 +43 +38 +32 +27 +21 +16 +11 +5 +0 +-6 +-11 +-16 +-22 +-27 +-33 +-38 +-44 +-49 +-55 +-60 +-66 +-71 +-77 +-82 +-87 +-93 +-98 +-104 +-109 +-115 +-121 +-126 +-132 +-137 +-143 +-148 +-154 +-159 +-165 +-170 +-176 +-181 +-187 +-192 +-198 +-204 +-209 +-215 +-220 +-226 +-231 +-237 +-243 +-248 +-254 +-259 +-265 +-271 +-276 +-282 +-287 +-293 +-299 +-304 +-310 +-315 +-321 +-327 +-332 +-338 +-344 +-349 +-355 +-360 +-366 +-372 +-377 +-383 +-389 +-394 +-400 +-405 +-411 +-417 +-422 +-428 +-434 +-439 +-445 +-451 +-456 +-462 +-468 +-473 +-479 +-485 +-490 +-496 +-502 +-507 +-513 +-518 +-524 +-530 +-535 +-541 +-547 +-552 +-558 +-564 +-569 +-575 +-581 +-586 +-592 +-598 +-603 +-609 +-615 +-620 +-626 +-632 +-637 +-643 +-648 +-654 +-660 +-665 +-671 +-677 +-682 +-688 +-694 +-699 +-705 +-711 +-716 +-722 +-727 +-733 +-739 +-744 +-750 +-756 +-761 +-767 +-772 +-778 +-784 +-789 +-795 +-800 +-806 +-812 +-817 +-823 +-828 +-834 +-840 +-845 +-851 +-856 +-862 +-867 +-873 +-879 +-884 +-890 +-895 +-901 +-906 +-912 +-917 +-923 +-928 +-934 +-940 +-945 +-951 +-956 +-962 +-967 +-973 +-978 +-984 +-989 +-995 +-1000 +-1006 +-1011 +-1016 +-1022 +-1027 +-1033 +-1038 +-1044 +-1049 +-1055 +-1060 +-1065 +-1071 +-1076 +-1082 +-1087 +-1093 +-1098 +-1103 +-1109 +-1114 +-1119 +-1125 +-1130 +-1136 +-1141 +-1146 +-1152 +-1157 +-1162 +-1168 +-1173 +-1178 +-1183 +-1189 +-1194 +-1199 +-1205 +-1210 +-1215 +-1220 +-1226 +-1231 +-1236 +-1241 +-1247 +-1252 +-1257 +-1262 +-1267 +-1273 +-1278 +-1283 +-1288 +-1293 +-1298 +-1304 +-1309 +-1314 +-1319 +-1324 +-1329 +-1334 +-1339 +-1345 +-1350 +-1355 +-1360 +-1365 +-1370 +-1375 +-1380 +-1385 +-1390 +-1395 +-1400 +-1405 +-1410 +-1415 +-1420 +-1425 +-1430 +-1435 +-1440 +-1445 +-1449 +-1454 +-1459 +-1464 +-1469 +-1474 +-1479 +-1484 +-1488 +-1493 +-1498 +-1503 +-1508 +-1512 +-1517 +-1522 +-1527 +-1531 +-1536 +-1541 +-1546 +-1550 +-1555 +-1560 +-1564 +-1569 +-1574 +-1578 +-1583 +-1588 +-1592 +-1597 +-1602 +-1606 +-1611 +-1615 +-1620 +-1624 +-1629 +-1633 +-1638 +-1642 +-1647 +-1651 +-1656 +-1660 +-1665 +-1669 +-1674 +-1678 +-1682 +-1687 +-1691 +-1695 +-1700 +-1704 +-1709 +-1713 +-1717 +-1721 +-1726 +-1730 +-1734 +-1738 +-1743 +-1747 +-1751 +-1755 +-1759 +-1764 +-1768 +-1772 +-1776 +-1780 +-1784 +-1788 +-1792 +-1797 +-1801 +-1805 +-1809 +-1813 +-1817 +-1821 +-1825 +-1829 +-1833 +-1836 +-1840 +-1844 +-1848 +-1852 +-1856 +-1860 +-1864 +-1867 +-1871 +-1875 +-1879 +-1883 +-1886 +-1890 +-1894 +-1898 +-1901 +-1905 +-1909 +-1912 +-1916 +-1920 +-1923 +-1927 +-1930 +-1934 +-1937 +-1941 +-1945 +-1948 +-1952 +-1955 +-1958 +-1962 +-1965 +-1969 +-1972 +-1976 +-1979 +-1982 +-1986 +-1989 +-1992 +-1996 +-1999 +-2002 +-2005 +-2009 +-2012 +-2015 +-2018 +-2021 +-2025 +-2028 +-2031 +-2034 +-2037 +-2040 +-2043 +-2046 +-2049 +-2052 +-2055 +-2058 +-2061 +-2064 +-2067 +-2070 +-2073 +-2076 +-2079 +-2082 +-2084 +-2087 +-2090 +-2093 +-2095 +-2098 +-2101 +-2104 +-2106 +-2109 +-2112 +-2114 +-2117 +-2120 +-2122 +-2125 +-2127 +-2130 +-2132 +-2135 +-2137 +-2140 +-2142 +-2145 +-2147 +-2150 +-2152 +-2154 +-2157 +-2159 +-2161 +-2164 +-2166 +-2168 +-2170 +-2173 +-2175 +-2177 +-2179 +-2181 +-2183 +-2186 +-2188 +-2190 +-2192 +-2194 +-2196 +-2198 +-2200 +-2202 +-2204 +-2206 +-2208 +-2209 +-2211 +-2213 +-2215 +-2217 +-2219 +-2220 +-2222 +-2224 +-2226 +-2227 +-2229 +-2231 +-2232 +-2234 +-2236 +-2237 +-2239 +-2240 +-2242 +-2243 +-2245 +-2246 +-2248 +-2249 +-2251 +-2252 +-2253 +-2255 +-2256 +-2257 +-2259 +-2260 +-2261 +-2262 +-2264 +-2265 +-2266 +-2267 +-2268 +-2269 +-2271 +-2272 +-2273 +-2274 +-2275 +-2276 +-2277 +-2278 +-2279 +-2279 +-2280 +-2281 +-2282 +-2283 +-2284 +-2285 +-2285 +-2286 +-2287 +-2287 +-2288 +-2289 +-2289 +-2290 +-2291 +-2291 +-2292 +-2292 +-2293 +-2293 +-2294 +-2294 +-2295 +-2295 +-2296 +-2296 +-2296 +-2297 +-2297 +-2297 +-2298 +-2298 +-2298 +-2298 +-2298 +-2299 +-2299 +-2299 +-2299 +-2299 +-2299 +-2299 +-2299 +-2299 +-2299 +-2299 +-2299 +-2299 +-2299 +-2299 +-2299 +-2298 +-2298 +-2298 +-2298 +-2298 +-2297 +-2297 +-2297 +-2296 +-2296 +-2296 +-2295 +-2295 +-2294 +-2294 +-2293 +-2293 +-2292 +-2292 +-2291 +-2290 +-2290 +-2289 +-2288 +-2288 +-2287 +-2286 +-2286 +-2285 +-2284 +-2283 +-2282 +-2281 +-2281 +-2280 +-2279 +-2278 +-2277 +-2276 +-2275 +-2274 +-2273 +-2272 +-2270 +-2269 +-2268 +-2267 +-2266 +-2265 +-2263 +-2262 +-2261 +-2259 +-2258 +-2257 +-2255 +-2254 +-2253 +-2251 +-2250 +-2248 +-2247 +-2245 +-2244 +-2242 +-2240 +-2239 +-2237 +-2235 +-2234 +-2232 +-2230 +-2229 +-2227 +-2225 +-2223 +-2221 +-2219 +-2218 +-2216 +-2214 +-2212 +-2210 +-2208 +-2206 +-2204 +-2202 +-2200 +-2197 +-2195 +-2193 +-2191 +-2189 +-2187 +-2184 +-2182 +-2180 +-2177 +-2175 +-2173 +-2170 +-2168 +-2166 +-2163 +-2161 +-2158 +-2156 +-2153 +-2150 +-2148 +-2145 +-2143 +-2140 +-2137 +-2135 +-2132 +-2129 +-2126 +-2124 +-2121 +-2118 +-2115 +-2112 +-2109 +-2107 +-2104 +-2101 +-2098 +-2095 +-2092 +-2089 +-2085 +-2082 +-2079 +-2076 +-2073 +-2070 +-2067 +-2063 +-2060 +-2057 +-2054 +-2050 +-2047 +-2044 +-2040 +-2037 +-2033 +-2030 +-2026 +-2023 +-2019 +-2016 +-2012 +-2009 +-2005 +-2002 +-1998 +-1994 +-1991 +-1987 +-1983 +-1979 +-1976 +-1972 +-1968 +-1964 +-1960 +-1956 +-1952 +-1948 +-1945 +-1941 +-1937 +-1933 +-1929 +-1924 +-1920 +-1916 +-1912 +-1908 +-1904 +-1900 +-1895 +-1891 +-1887 +-1883 +-1878 +-1874 +-1870 +-1865 +-1861 +-1857 +-1852 +-1848 +-1843 +-1839 +-1834 +-1830 +-1825 +-1821 +-1816 +-1811 +-1807 +-1802 +-1797 +-1793 +-1788 +-1783 +-1778 +-1774 +-1769 +-1764 +-1759 +-1754 +-1749 +-1745 +-1740 +-1735 +-1730 +-1725 +-1720 +-1715 +-1710 +-1705 +-1699 +-1694 +-1689 +-1684 +-1679 +-1674 +-1668 +-1663 +-1658 +-1653 +-1647 +-1642 +-1637 +-1631 +-1626 +-1621 +-1615 +-1610 +-1604 +-1599 +-1593 +-1588 +-1582 +-1577 +-1571 +-1566 +-1560 +-1554 +-1549 +-1543 +-1537 +-1532 +-1526 +-1520 +-1514 +-1508 +-1503 +-1497 +-1491 +-1485 +-1479 +-1473 +-1467 +-1461 +-1455 +-1450 +-1444 +-1437 +-1431 +-1425 +-1419 +-1413 +-1407 +-1401 +-1395 +-1389 +-1382 +-1376 +-1370 +-1364 +-1357 +-1351 +-1345 +-1339 +-1332 +-1326 +-1320 +-1313 +-1307 +-1300 +-1294 +-1287 +-1281 +-1274 +-1268 +-1261 +-1255 +-1248 +-1242 +-1235 +-1228 +-1222 +-1215 +-1208 +-1202 +-1195 +-1188 +-1182 +-1175 +-1168 +-1161 +-1154 +-1148 +-1141 +-1134 +-1127 +-1120 +-1113 +-1106 +-1099 +-1092 +-1085 +-1078 +-1071 +-1064 +-1057 +-1050 +-1043 +-1036 +-1029 +-1022 +-1015 +-1007 +-1000 +-993 +-986 +-979 +-971 +-964 +-957 +-949 +-942 +-935 +-928 +-920 +-913 +-905 +-898 +-891 +-883 +-876 +-868 +-861 +-853 +-846 +-838 +-831 +-823 +-816 +-808 +-800 +-793 +-785 +-778 +-770 +-762 +-755 +-747 +-739 +-732 +-724 +-716 +-708 +-700 +-693 +-685 +-677 +-669 +-661 +-654 +-646 +-638 +-630 +-622 +-614 +-606 +-598 +-590 +-582 +-574 +-566 +-558 +-550 +-542 +-534 +-526 +-518 +-510 +-502 +-494 +-486 +-477 +-469 +-461 +-453 +-445 +-437 +-428 +-420 +-412 +-404 +-395 +-387 +-379 +-371 +-362 +-354 +-346 +-337 +-329 +-321 +-312 +-304 +-296 +-287 +-279 +-270 +-262 +-254 +-245 +-237 +-228 +-220 +-211 +-203 +-194 +-186 +-177 +-169 +-160 +-152 +-143 +-134 +-126 +-117 +-109 +-100 +-91 +-83 +-74 +-66 +-57 +-48 +-40 +-31 +-22 +-13 +-5 +4 +13 +21 +30 +39 +48 +56 +65 +74 +83 +91 +100 +109 +118 +127 +135 +144 +153 +162 +171 +180 +189 +197 +206 +215 +224 +233 +242 +251 +260 +269 +278 +286 +295 +304 +313 +322 +331 +340 +349 +358 +367 +376 +385 +394 +403 +412 +421 +430 +439 +448 +457 +466 +475 +484 +493 +502 +511 +520 +529 +538 +547 +557 +566 +575 +584 +593 +602 +611 +620 +629 +638 +647 +656 +665 +675 +684 +693 +702 +711 +720 +729 +738 +747 +757 +766 +775 +784 +793 +802 +811 +820 +829 +839 +848 +857 +866 +875 +884 +893 +902 +912 +921 +930 +939 +948 +957 +966 +975 +985 +994 +1003 +1012 +1021 +1030 +1039 +1048 +1057 +1067 +1076 +1085 +1094 +1103 +1112 +1121 +1130 +1139 +1148 +1158 +1167 +1176 +1185 +1194 +1203 +1212 +1221 +1230 +1239 +1248 +1257 +1266 +1276 +1285 +1294 +1303 +1312 +1321 +1330 +1339 +1348 +1357 +1366 +1375 +1384 +1393 +1402 +1411 +1420 +1429 +1438 +1447 +1456 +1465 +1474 +1483 +1492 +1500 +1509 +1518 +1527 +1536 +1545 +1554 +1563 +1572 +1581 +1590 +1598 +1607 +1616 +1625 +1634 +1643 +1651 +1660 +1669 +1678 +1687 +1695 +1704 +1713 +1722 +1731 +1739 +1748 +1757 +1766 +1774 +1783 +1792 +1800 +1809 +1818 +1826 +1835 +1844 +1852 +1861 +1870 +1878 +1887 +1895 +1904 +1912 +1921 +1930 +1938 +1947 +1955 +1964 +1972 +1981 +1989 +1998 +2006 +2015 +2023 +2031 +2040 +2048 +2057 +2065 +2073 +2082 +2090 +2098 +2107 +2115 +2123 +2132 +2140 +2148 +2156 +2165 +2173 +2181 +2189 +2197 +2205 +2214 +2222 +2230 +2238 +2246 +2254 +2262 +2270 +2278 +2286 +2294 +2302 +2310 +2318 +2326 +2334 +2342 +2350 +2358 +2366 +2374 +2382 +2390 +2397 +2405 +2413 +2421 +2428 +2436 +2444 +2452 +2459 +2467 +2475 +2482 +2490 +2498 +2505 +2513 +2520 +2528 +2536 +2543 +2551 +2558 +2566 +2573 +2580 +2588 +2595 +2603 +2610 +2617 +2625 +2632 +2639 +2647 +2654 +2661 +2668 +2675 +2683 +2690 +2697 +2704 +2711 +2718 +2725 +2732 +2739 +2746 +2753 +2760 +2767 +2774 +2781 +2788 +2795 +2802 +2809 +2816 +2822 +2829 +2836 +2843 +2849 +2856 +2863 +2869 +2876 +2883 +2889 +2896 +2902 +2909 +2915 +2922 +2928 +2935 +2941 +2948 +2954 +2960 +2967 +2973 +2979 +2985 +2992 +2998 +3004 +3010 +3016 +3023 +3029 +3035 +3041 +3047 +3053 +3059 +3065 +3071 +3077 +3083 +3089 +3094 +3100 +3106 +3112 +3118 +3123 +3129 +3135 +3140 +3146 +3152 +3157 +3163 +3168 +3174 +3179 +3185 +3190 +3196 +3201 +3206 +3212 +3217 +3222 +3228 +3233 +3238 +3243 +3248 +3253 +3259 +3264 +3269 +3274 +3279 +3284 +3289 +3294 +3298 +3303 +3308 +3313 +3318 +3322 +3327 +3332 +3337 +3341 +3346 +3350 +3355 +3360 +3364 +3369 +3373 +3377 +3382 +3386 +3391 +3395 +3399 +3404 +3408 +3412 +3416 +3420 +3424 +3428 +3433 +3437 +3441 +3445 +3449 +3452 +3456 +3460 +3464 +3468 +3472 +3475 +3479 +3483 +3486 +3490 +3494 +3497 +3501 +3504 +3508 +3511 +3515 +3518 +3521 +3525 +3528 +3531 +3534 +3538 +3541 +3544 +3547 +3550 +3553 +3556 +3559 +3562 +3565 +3568 +3571 +3574 +3576 +3579 +3582 +3585 +3587 +3590 +3593 +3595 +3598 +3600 +3603 +3605 +3608 +3610 +3612 +3615 +3617 +3619 +3621 +3624 +3626 +3628 +3630 +3632 +3634 +3636 +3638 +3640 +3642 +3644 +3646 +3647 +3649 +3651 +3653 +3654 +3656 +3658 +3659 +3661 +3662 +3664 +3665 +3667 +3668 +3669 +3671 +3672 +3673 +3674 +3675 +3677 +3678 +3679 +3680 +3681 +3682 +3683 +3683 +3684 +3685 +3686 +3687 +3687 +3688 +3689 +3689 +3690 +3691 +3691 +3691 +3692 +3692 +3693 +3693 +3693 +3694 +3694 +3694 +3694 +3694 +3694 +3694 +3695 +3694 +3694 +3694 +3694 +3694 +3694 +3694 +3693 +3693 +3693 +3692 +3692 +3692 +3691 +3691 +3690 +3689 +3689 +3688 +3687 +3687 +3686 +3685 +3684 +3683 +3683 +3682 +3681 +3680 +3679 +3677 +3676 +3675 +3674 +3673 +3671 +3670 +3669 +3667 +3666 +3664 +3663 +3661 +3660 +3658 +3657 +3655 +3653 +3652 +3650 +3648 +3646 +3644 +3642 +3640 +3638 +3636 +3634 +3632 +3630 +3628 +3625 +3623 +3621 +3618 +3616 +3614 +3611 +3609 +3606 +3604 +3601 +3598 +3596 +3593 +3590 +3587 +3585 +3582 +3579 +3576 +3573 +3570 +3567 +3564 +3561 +3558 +3554 +3551 +3548 +3544 +3541 +3538 +3534 +3531 +3527 +3524 +3520 +3517 +3513 +3509 +3506 +3502 +3498 +3494 +3490 +3486 +3482 +3478 +3474 +3470 +3466 +3462 +3458 +3454 +3449 +3445 +3441 +3436 +3432 +3428 +3423 +3419 +3414 +3410 +3405 +3400 +3396 +3391 +3386 +3381 +3376 +3371 +3367 +3362 +3357 +3352 +3346 +3341 +3336 +3331 +3326 +3320 +3315 +3310 +3304 +3299 +3294 +3288 +3283 +3277 +3271 +3266 +3260 +3254 +3249 +3243 +3237 +3231 +3225 +3219 +3213 +3207 +3201 +3195 +3189 +3183 +3177 +3170 +3164 +3158 +3151 +3145 +3139 +3132 +3126 +3119 +3113 +3106 +3099 +3093 +3086 +3079 +3072 +3066 +3059 +3052 +3045 +3038 +3031 +3024 +3017 +3010 +3003 +2995 +2988 +2981 +2974 +2966 +2959 +2951 +2944 +2936 +2929 +2921 +2914 +2906 +2898 +2891 +2883 +2875 +2867 +2860 +2852 +2844 +2836 +2828 +2820 +2812 +2804 +2796 +2787 +2779 +2771 +2763 +2754 +2746 +2738 +2729 +2721 +2712 +2704 +2695 +2687 +2678 +2669 +2661 +2652 +2643 +2634 +2625 +2616 +2608 +2599 +2590 +2581 +2572 +2562 +2553 +2544 +2535 +2526 +2517 +2507 +2498 +2489 +2479 +2470 +2460 +2451 +2441 +2432 +2422 +2412 +2403 +2393 +2383 +2374 +2364 +2354 +2344 +2334 +2324 +2314 +2304 +2294 +2284 +2274 +2264 +2254 +2244 +2233 +2223 +2213 +2202 +2192 +2182 +2171 +2161 +2150 +2140 +2129 +2119 +2108 +2097 +2087 +2076 +2065 +2054 +2044 +2033 +2022 +2011 +2000 +1989 +1978 +1967 +1956 +1945 +1934 +1923 +1911 +1900 +1889 +1878 +1866 +1855 +1844 +1832 +1821 +1809 +1798 +1786 +1775 +1763 +1752 +1740 +1728 +1717 +1705 +1693 +1681 +1670 +1658 +1646 +1634 +1622 +1610 +1598 +1586 +1574 +1562 +1550 +1538 +1525 +1513 +1501 +1489 +1476 +1464 +1452 +1439 +1427 +1415 +1402 +1390 +1377 +1365 +1352 +1340 +1327 +1314 +1302 +1289 +1276 +1264 +1251 +1238 +1225 +1212 +1199 +1186 +1174 +1161 +1148 +1135 +1122 +1109 +1095 +1082 +1069 +1056 +1043 +1030 +1016 +1003 +990 +977 +963 +950 +937 +923 +910 +896 +883 +869 +856 +842 +829 +815 +801 +788 +774 +760 +747 +733 +719 +705 +692 +678 +664 +650 +636 +622 +608 +594 +580 +566 +552 +538 +524 +510 +496 +482 +468 +454 +439 +425 +411 +397 +382 +368 +354 +339 +325 +311 +296 +282 +268 +253 +239 +224 +210 +195 +181 +166 +151 +137 +122 +108 +93 +78 +64 +49 +34 +19 +5 +-10 +-25 +-40 +-55 +-69 +-84 +-99 +-114 +-129 +-144 +-159 +-174 +-189 +-204 +-219 +-234 +-249 +-264 +-279 +-294 +-309 +-324 +-339 +-355 +-370 +-385 +-400 +-415 +-430 +-446 +-461 +-476 +-491 +-507 +-522 +-537 +-553 +-568 +-583 +-599 +-614 +-629 +-645 +-660 +-676 +-691 +-706 +-722 +-737 +-753 +-768 +-784 +-799 +-815 +-830 +-846 +-861 +-877 +-893 +-908 +-924 +-939 +-955 +-971 +-986 +-1002 +-1017 +-1033 +-1049 +-1064 +-1080 +-1096 +-1111 +-1127 +-1143 +-1159 +-1174 +-1190 +-1206 +-1222 +-1237 +-1253 +-1269 +-1285 +-1300 +-1316 +-1332 +-1348 +-1364 +-1379 +-1395 +-1411 +-1427 +-1443 +-1458 +-1474 +-1490 +-1506 +-1522 +-1538 +-1554 +-1569 +-1585 +-1601 +-1617 +-1633 +-1649 +-1665 +-1681 +-1697 +-1712 +-1728 +-1744 +-1760 +-1776 +-1792 +-1808 +-1824 +-1840 +-1856 +-1872 +-1887 +-1903 +-1919 +-1935 +-1951 +-1967 +-1983 +-1999 +-2015 +-2031 +-2047 +-2063 +-2079 +-2094 +-2110 +-2126 +-2142 +-2158 +-2174 +-2190 +-2206 +-2222 +-2238 +-2254 +-2269 +-2285 +-2301 +-2317 +-2333 +-2349 +-2365 +-2381 +-2397 +-2412 +-2428 +-2444 +-2460 +-2476 +-2492 +-2508 +-2524 +-2539 +-2555 +-2571 +-2587 +-2603 +-2618 +-2634 +-2650 +-2666 +-2682 +-2697 +-2713 +-2729 +-2745 +-2761 +-2776 +-2792 +-2808 +-2823 +-2839 +-2855 +-2871 +-2886 +-2902 +-2918 +-2933 +-2949 +-2965 +-2980 +-2996 +-3012 +-3027 +-3043 +-3058 +-3074 +-3090 +-3105 +-3121 +-3136 +-3152 +-3167 +-3183 +-3198 +-3214 +-3229 +-3245 +-3260 +-3276 +-3291 +-3306 +-3322 +-3337 +-3353 +-3368 +-3383 +-3399 +-3414 +-3429 +-3444 +-3460 +-3475 +-3490 +-3506 +-3521 +-3536 +-3551 +-3566 +-3581 +-3597 +-3612 +-3627 +-3642 +-3657 +-3672 +-3687 +-3702 +-3717 +-3732 +-3747 +-3762 +-3777 +-3792 +-3807 +-3822 +-3837 +-3852 +-3866 +-3881 +-3896 +-3911 +-3926 +-3940 +-3955 +-3970 +-3984 +-3999 +-4014 +-4028 +-4043 +-4058 +-4072 +-4087 +-4101 +-4116 +-4130 +-4145 +-4159 +-4173 +-4188 +-4202 +-4217 +-4231 +-4245 +-4260 +-4274 +-4288 +-4302 +-4316 +-4331 +-4345 +-4359 +-4373 +-4387 +-4401 +-4415 +-4429 +-4443 +-4457 +-4471 +-4485 +-4499 +-4513 +-4526 +-4540 +-4554 +-4568 +-4581 +-4595 +-4609 +-4622 +-4636 +-4650 +-4663 +-4677 +-4690 +-4704 +-4717 +-4730 +-4744 +-4757 +-4771 +-4784 +-4797 +-4810 +-4824 +-4837 +-4850 +-4863 +-4876 +-4889 +-4902 +-4915 +-4928 +-4941 +-4954 +-4967 +-4980 +-4993 +-5005 +-5018 +-5031 +-5044 +-5056 +-5069 +-5081 +-5094 +-5107 +-5119 +-5131 +-5144 +-5156 +-5169 +-5181 +-5193 +-5206 +-5218 +-5230 +-5242 +-5254 +-5266 +-5278 +-5290 +-5302 +-5314 +-5326 +-5338 +-5350 +-5362 +-5374 +-5385 +-5397 +-5409 +-5420 +-5432 +-5443 +-5455 +-5466 +-5478 +-5489 +-5501 +-5512 +-5523 +-5534 +-5546 +-5557 +-5568 +-5579 +-5590 +-5601 +-5612 +-5623 +-5634 +-5645 +-5656 +-5666 +-5677 +-5688 +-5698 +-5709 +-5720 +-5730 +-5741 +-5751 +-5761 +-5772 +-5782 +-5792 +-5803 +-5813 +-5823 +-5833 +-5843 +-5853 +-5863 +-5873 +-5883 +-5893 +-5903 +-5912 +-5922 +-5932 +-5941 +-5951 +-5960 +-5970 +-5979 +-5989 +-5998 +-6007 +-6017 +-6026 +-6035 +-6044 +-6053 +-6062 +-6071 +-6080 +-6089 +-6098 +-6107 +-6116 +-6124 +-6133 +-6142 +-6150 +-6159 +-6167 +-6176 +-6184 +-6192 +-6201 +-6209 +-6217 +-6225 +-6233 +-6241 +-6249 +-6257 +-6265 +-6273 +-6281 +-6288 +-6296 +-6304 +-6311 +-6319 +-6326 +-6334 +-6341 +-6348 +-6356 +-6363 +-6370 +-6377 +-6384 +-6391 +-6398 +-6405 +-6412 +-6419 +-6426 +-6432 +-6439 +-6446 +-6452 +-6459 +-6465 +-6471 +-6478 +-6484 +-6490 +-6496 +-6502 +-6509 +-6515 +-6520 +-6526 +-6532 +-6538 +-6544 +-6549 +-6555 +-6561 +-6566 +-6571 +-6577 +-6582 +-6587 +-6593 +-6598 +-6603 +-6608 +-6613 +-6618 +-6623 +-6628 +-6632 +-6637 +-6642 +-6646 +-6651 +-6655 +-6660 +-6664 +-6668 +-6673 +-6677 +-6681 +-6685 +-6689 +-6693 +-6697 +-6701 +-6705 +-6708 +-6712 +-6715 +-6719 +-6722 +-6726 +-6729 +-6732 +-6736 +-6739 +-6742 +-6745 +-6748 +-6751 +-6754 +-6757 +-6759 +-6762 +-6765 +-6767 +-6770 +-6772 +-6774 +-6777 +-6779 +-6781 +-6783 +-6785 +-6787 +-6789 +-6791 +-6793 +-6795 +-6796 +-6798 +-6799 +-6801 +-6802 +-6804 +-6805 +-6806 +-6807 +-6808 +-6809 +-6810 +-6811 +-6812 +-6813 +-6814 +-6814 +-6815 +-6815 +-6816 +-6816 +-6816 +-6817 +-6817 +-6817 +-6817 +-6817 +-6817 +-6817 +-6816 +-6816 +-6816 +-6815 +-6815 +-6814 +-6814 +-6813 +-6812 +-6811 +-6811 +-6810 +-6809 +-6807 +-6806 +-6805 +-6804 +-6802 +-6801 +-6799 +-6798 +-6796 +-6795 +-6793 +-6791 +-6789 +-6787 +-6785 +-6783 +-6781 +-6778 +-6776 +-6774 +-6771 +-6769 +-6766 +-6763 +-6760 +-6758 +-6755 +-6752 +-6749 +-6746 +-6742 +-6739 +-6736 +-6733 +-6729 +-6726 +-6722 +-6718 +-6715 +-6711 +-6707 +-6703 +-6699 +-6695 +-6691 +-6686 +-6682 +-6678 +-6673 +-6669 +-6664 +-6659 +-6655 +-6650 +-6645 +-6640 +-6635 +-6630 +-6624 +-6619 +-6614 +-6608 +-6603 +-6597 +-6592 +-6586 +-6580 +-6575 +-6569 +-6563 +-6557 +-6550 +-6544 +-6538 +-6532 +-6525 +-6519 +-6512 +-6505 +-6499 +-6492 +-6485 +-6478 +-6471 +-6464 +-6457 +-6449 +-6442 +-6435 +-6427 +-6420 +-6412 +-6404 +-6397 +-6389 +-6381 +-6373 +-6365 +-6357 +-6348 +-6340 +-6332 +-6323 +-6315 +-6306 +-6297 +-6289 +-6280 +-6271 +-6262 +-6253 +-6244 +-6235 +-6225 +-6216 +-6206 +-6197 +-6187 +-6178 +-6168 +-6158 +-6148 +-6138 +-6128 +-6118 +-6108 +-6098 +-6087 +-6077 +-6066 +-6056 +-6045 +-6034 +-6024 +-6013 +-6002 +-5991 +-5980 +-5968 +-5957 +-5946 +-5934 +-5923 +-5911 +-5900 +-5888 +-5876 +-5864 +-5852 +-5840 +-5828 +-5816 +-5804 +-5791 +-5779 +-5766 +-5754 +-5741 +-5728 +-5715 +-5703 +-5690 +-5677 +-5663 +-5650 +-5637 +-5624 +-5610 +-5597 +-5583 +-5569 +-5556 +-5542 +-5528 +-5514 +-5500 +-5486 +-5471 +-5457 +-5443 +-5428 +-5414 +-5399 +-5385 +-5370 +-5355 +-5340 +-5325 +-5310 +-5295 +-5280 +-5264 +-5249 +-5233 +-5218 +-5202 +-5187 +-5171 +-5155 +-5139 +-5123 +-5107 +-5091 +-5075 +-5058 +-5042 +-5025 +-5009 +-4992 +-4976 +-4959 +-4942 +-4925 +-4908 +-4891 +-4874 +-4856 +-4839 +-4822 +-4804 +-4787 +-4769 +-4751 +-4733 +-4716 +-4698 +-4680 +-4661 +-4643 +-4625 +-4607 +-4588 +-4570 +-4551 +-4533 +-4514 +-4495 +-4476 +-4457 +-4438 +-4419 +-4400 +-4381 +-4361 +-4342 +-4322 +-4303 +-4283 +-4263 +-4244 +-4224 +-4204 +-4184 +-4163 +-4143 +-4123 +-4103 +-4082 +-4062 +-4041 +-4020 +-4000 +-3979 +-3958 +-3937 +-3916 +-3895 +-3874 +-3852 +-3831 +-3810 +-3788 +-3767 +-3745 +-3723 +-3701 +-3679 +-3658 +-3635 +-3613 +-3591 +-3569 +-3547 +-3524 +-3502 +-3479 +-3456 +-3434 +-3411 +-3388 +-3365 +-3342 +-3319 +-3296 +-3273 +-3249 +-3226 +-3202 +-3179 +-3155 +-3131 +-3108 +-3084 +-3060 +-3036 +-3012 +-2988 +-2963 +-2939 +-2915 +-2890 +-2866 +-2841 +-2816 +-2792 +-2767 +-2742 +-2717 +-2692 +-2667 +-2642 +-2616 +-2591 +-2566 +-2540 +-2515 +-2489 +-2463 +-2437 +-2412 +-2386 +-2360 +-2334 +-2307 +-2281 +-2255 +-2228 +-2202 +-2176 +-2149 +-2122 +-2096 +-2069 +-2042 +-2015 +-1988 +-1961 +-1934 +-1906 +-1879 +-1852 +-1824 +-1797 +-1769 +-1741 +-1714 +-1686 +-1658 +-1630 +-1602 +-1574 +-1546 +-1518 +-1489 +-1461 +-1432 +-1404 +-1375 +-1347 +-1318 +-1289 +-1260 +-1231 +-1202 +-1173 +-1144 +-1115 +-1085 +-1056 +-1027 +-997 +-968 +-938 +-908 +-879 +-849 +-819 +-789 +-759 +-729 +-698 +-668 +-638 +-608 +-577 +-547 +-516 +-485 +-455 +-424 +-393 +-362 +-331 +-300 +-269 +-238 +-206 +-175 +-144 +-112 +-81 +-49 +-17 +14 +46 +78 +110 +142 +174 +206 +238 +270 +303 +335 +367 +400 +433 +465 +498 +531 +563 +596 +629 +662 +695 +728 +762 +795 +828 +862 +895 +929 +962 +996 +1029 +1063 +1097 +1131 +1165 +1199 +1233 +1267 +1301 +1335 +1370 +1404 +1439 +1473 +1508 +1542 +1577 +1612 +1646 +1681 +1716 +1751 +1786 +1821 +1856 +1891 +1927 +1962 +1997 +2033 +2068 +2104 +2139 +2175 +2211 +2247 +2282 +2318 +2354 +2390 +2426 +2462 +2499 +2535 +2571 +2607 +2644 +2680 +2717 +2753 +2790 +2826 +2863 +2900 +2937 +2974 +3011 +3048 +3085 +3122 +3159 +3196 +3233 +3271 +3308 +3345 +3383 +3420 +3458 +3496 +3533 +3571 +3609 +3646 +3684 +3722 +3760 +3798 +3836 +3874 +3913 +3951 +3989 +4027 +4066 +4104 +4143 +4181 +4220 +4258 +4297 +4336 +4374 +4413 +4452 +4491 +4530 +4569 +4608 +4647 +4686 +4725 +4765 +4804 +4843 +4883 +4922 +4961 +5001 +5040 +5080 +5120 +5159 +5199 +5239 +5279 +5318 +5358 +5398 +5438 +5478 +5518 +5558 +5599 +5639 +5679 +5719 +5760 +5800 +5840 +5881 +5921 +5962 +6002 +6043 +6084 +6124 +6165 +6206 +6247 +6287 +6328 +6369 +6410 +6451 +6492 +6533 +6574 +6615 +6657 +6698 +6739 +6780 +6822 +6863 +6904 +6946 +6987 +7029 +7070 +7112 +7154 +7195 +7237 +7279 +7320 +7362 +7404 +7446 +7488 +7530 +7572 +7613 +7656 +7698 +7740 +7782 +7824 +7866 +7908 +7950 +7993 +8035 +8077 +8120 +8162 +8205 +8247 +8289 +8332 +8374 +8417 +8460 +8502 +8545 +8588 +8630 +8673 +8716 +8759 +8801 +8844 +8887 +8930 +8973 +9016 +9059 +9102 +9145 +9188 +9231 +9274 +9317 +9360 +9403 +9447 +9490 +9533 +9576 +9620 +9663 +9706 +9750 +9793 +9836 +9880 +9923 +9967 +10010 +10054 +10097 +10141 +10184 +10228 +10271 +10315 +10359 +10402 +10446 +10490 +10533 +10577 +10621 +10665 +10708 +10752 +10796 +10840 +10884 +10928 +10971 +11015 +11059 +11103 +11147 +11191 +11235 +11279 +11323 +11367 +11411 +11455 +11499 +11543 +11587 +11631 +11675 +11720 +11764 +11808 +11852 +11896 +11940 +11984 +12029 +12073 +12117 +12161 +12206 +12250 +12294 +12338 +12383 +12427 +12471 +12515 +12560 +12604 +12648 +12693 +12737 +12781 +12826 +12870 +12914 +12959 +13003 +13047 +13092 +13136 +13181 +13225 +13269 +13314 +13358 +13403 +13447 +13491 +13536 +13580 +13625 +13669 +13713 +13758 +13802 +13847 +13891 +13936 +13980 +14024 +14069 +14113 +14158 +14202 +14247 +14291 +14335 +14380 +14424 +14469 +14513 +14557 +14602 +14646 +14691 +14735 +14779 +14824 +14868 +14913 +14957 +15001 +15046 +15090 +15134 +15179 +15223 +15267 +15312 +15356 +15400 +15445 +15489 +15533 +15578 +15622 +15666 +15710 +15755 +15799 +15843 +15887 +15931 +15976 +16020 +16064 +16108 +16152 +16196 +16241 +16285 +16329 +16373 +16417 +16461 +16505 +16549 +16593 +16637 +16681 +16725 +16769 +16813 +16857 +16901 +16945 +16989 +17032 +17076 +17120 +17164 +17208 +17252 +17295 +17339 +17383 +17427 +17470 +17514 +17558 +17601 +17645 +17688 +17732 +17776 +17819 +17863 +17906 +17950 +17993 +18036 +18080 +18123 +18167 +18210 +18253 +18297 +18340 +18383 +18426 +18469 +18513 +18556 +18599 +18642 +18685 +18728 +18771 +18814 +18857 +18900 +18943 +18986 +19029 +19072 +19114 +19157 +19200 +19243 +19285 +19328 +19371 +19413 +19456 +19498 +19541 +19583 +19626 +19668 +19711 +19753 +19795 +19838 +19880 +19922 +19964 +20007 +20049 +20091 +20133 +20175 +20217 +20259 +20301 +20343 +20385 +20426 +20468 +20510 +20552 +20593 +20635 +20677 +20718 +20760 +20801 +20843 +20884 +20926 +20967 +21008 +21050 +21091 +21132 +21173 +21214 +21255 +21296 +21337 +21378 +21419 +21460 +21501 +21542 +21583 +21623 +21664 +21705 +21745 +21786 +21826 +21867 +21907 +21947 +21988 +22028 +22068 +22109 +22149 +22189 +22229 +22269 +22309 +22349 +22389 +22428 +22468 +22508 +22548 +22587 +22627 +22666 +22706 +22745 +22785 +22824 +22863 +22903 +22942 +22981 +23020 +23059 +23098 +23137 +23176 +23215 +23254 +23293 +23331 +23370 +23408 +23447 +23486 +23524 +23562 +23601 +23639 +23677 +23715 +23754 +23792 +23830 +23868 +23905 +23943 +23981 +24019 +24056 +24094 +24132 +24169 +24207 +24244 +24281 +24319 +24356 +24393 +24430 +24467 +24504 +24541 +24578 +24615 +24652 +24688 +24725 +24762 +24798 +24835 +24871 +24907 +24944 +24980 +25016 +25052 +25088 +25124 +25160 +25196 +25232 +25267 +25303 +25339 +25374 +25410 +25445 +25480 +25516 +25551 +25586 +25621 +25656 +25691 +25726 +25761 +25795 +25830 +25865 +25899 +25934 +25968 +26003 +26037 +26071 +26105 +26139 +26173 +26207 +26241 +26275 +26309 +26342 +26376 +26410 +26443 +26476 +26510 +26543 +26576 +26609 +26642 +26675 +26708 +26741 +26774 +26807 +26839 +26872 +26904 +26937 +26969 +27001 +27033 +27066 +27098 +27130 +27161 +27193 +27225 +27257 +27288 +27320 +27351 +27383 +27414 +27445 +27476 +27507 +27538 +27569 +27600 +27631 +27662 +27692 +27723 +27753 +27783 +27814 +27844 +27874 +27904 +27934 +27964 +27994 +28024 +28053 +28083 +28112 +28142 +28171 +28201 +28230 +28259 +28288 +28317 +28346 +28374 +28403 +28432 +28460 +28489 +28517 +28546 +28574 +28602 +28630 +28658 +28686 +28714 +28741 +28769 +28797 +28824 +28851 +28879 +28906 +28933 +28960 +28987 +29014 +29041 +29067 +29094 +29121 +29147 +29173 +29200 +29226 +29252 +29278 +29304 +29330 +29356 +29381 +29407 +29432 +29458 +29483 +29508 +29534 +29559 +29584 +29609 +29633 +29658 +29683 +29707 +29732 +29756 +29780 +29805 +29829 +29853 +29877 +29900 +29924 +29948 +29971 +29995 +30018 +30041 +30065 +30088 +30111 +30134 +30157 +30179 +30202 +30224 +30247 +30269 +30292 +30314 +30336 +30358 +30380 +30402 +30423 +30445 +30466 +30488 +30509 +30530 +30552 +30573 +30594 +30614 +30635 +30656 +30677 +30697 +30717 +30738 +30758 +30778 +30798 +30818 +30838 +30858 +30877 +30897 +30916 +30936 +30955 +30974 +30993 +31012 +31031 +31050 +31068 +31087 +31105 +31124 +31142 +31160 +31178 +31196 +31214 +31232 +31250 +31267 +31285 +31302 +31320 +31337 +31354 +31371 +31388 +31405 +31421 +31438 +31454 +31471 +31487 +31503 +31520 +31536 +31551 +31567 +31583 +31599 +31614 +31630 +31645 +31660 +31675 +31690 +31705 +31720 +31735 +31749 +31764 +31778 +31793 +31807 +31821 +31835 +31849 +31863 +31876 +31890 +31903 +31917 +31930 +31943 +31956 +31969 +31982 +31995 +32008 +32020 +32033 +32045 +32057 +32069 +32082 +32094 +32105 +32117 +32129 +32140 +32152 +32163 +32174 +32185 +32196 +32207 +32218 +32229 +32240 +32250 +32260 +32271 +32281 +32291 +32301 +32311 +32321 +32330 +32340 +32349 +32359 +32368 +32377 +32386 +32395 +32404 +32413 +32421 +32430 +32438 +32447 +32455 +32463 +32471 +32479 +32487 +32494 +32502 +32509 +32517 +32524 +32531 +32538 +32545 +32552 +32559 +32565 +32572 +32578 +32584 +32591 +32597 +32603 +32609 +32614 +32620 +32626 +32631 +32636 +32642 +32647 +32652 +32657 +32661 +32666 +32671 +32675 +32680 +32684 +32688 +32692 +32696 +32700 +32704 +32707 +32711 +32714 +32718 +32721 +32724 +32727 +32730 +32733 +32735 +32738 +32740 +32743 +32745 +32747 +32749 +32751 +32753 +32755 +32756 +32758 +32759 +32760 +32762 +32763 +32764 +32764 +32765 +32766 +32766 +32767 +32767 +32767 +32767 +32767 +32767 +32767 +32767 +32766 +32766 +32765 +32764 +32764 +32763 +32762 +32760 +32759 +32758 +32756 +32755 +32753 +32751 +32749 +32747 +32745 +32743 +32740 +32738 +32735 +32733 +32730 +32727 +32724 +32721 +32718 +32714 +32711 +32707 +32704 +32700 +32696 +32692 +32688 +32684 +32680 +32675 +32671 +32666 +32661 +32657 +32652 +32647 +32642 +32636 +32631 +32626 +32620 +32614 +32609 +32603 +32597 +32591 +32584 +32578 +32572 +32565 +32559 +32552 +32545 +32538 +32531 +32524 +32517 +32509 +32502 +32494 +32487 +32479 +32471 +32463 +32455 +32447 +32438 +32430 +32421 +32413 +32404 +32395 +32386 +32377 +32368 +32359 +32349 +32340 +32330 +32321 +32311 +32301 +32291 +32281 +32271 +32260 +32250 +32240 +32229 +32218 +32207 +32196 +32185 +32174 +32163 +32152 +32140 +32129 +32117 +32105 +32094 +32082 +32069 +32057 +32045 +32033 +32020 +32008 +31995 +31982 +31969 +31956 +31943 +31930 +31917 +31903 +31890 +31876 +31863 +31849 +31835 +31821 +31807 +31793 +31778 +31764 +31749 +31735 +31720 +31705 +31690 +31675 +31660 +31645 +31630 +31614 +31599 +31583 +31567 +31551 +31536 +31520 +31503 +31487 +31471 +31454 +31438 +31421 +31405 +31388 +31371 +31354 +31337 +31320 +31302 +31285 +31267 +31250 +31232 +31214 +31196 +31178 +31160 +31142 +31124 +31105 +31087 +31068 +31050 +31031 +31012 +30993 +30974 +30955 +30936 +30916 +30897 +30877 +30858 +30838 +30818 +30798 +30778 +30758 +30738 +30717 +30697 +30677 +30656 +30635 +30614 +30594 +30573 +30552 +30530 +30509 +30488 +30466 +30445 +30423 +30402 +30380 +30358 +30336 +30314 +30292 +30269 +30247 +30224 +30202 +30179 +30157 +30134 +30111 +30088 +30065 +30041 +30018 +29995 +29971 +29948 +29924 +29900 +29877 +29853 +29829 +29805 +29780 +29756 +29732 +29707 +29683 +29658 +29633 +29609 +29584 +29559 +29534 +29508 +29483 +29458 +29432 +29407 +29381 +29356 +29330 +29304 +29278 +29252 +29226 +29200 +29173 +29147 +29121 +29094 +29067 +29041 +29014 +28987 +28960 +28933 +28906 +28879 +28851 +28824 +28797 +28769 +28741 +28714 +28686 +28658 +28630 +28602 +28574 +28546 +28517 +28489 +28460 +28432 +28403 +28374 +28346 +28317 +28288 +28259 +28230 +28201 +28171 +28142 +28112 +28083 +28053 +28024 +27994 +27964 +27934 +27904 +27874 +27844 +27814 +27783 +27753 +27723 +27692 +27662 +27631 +27600 +27569 +27538 +27507 +27476 +27445 +27414 +27383 +27351 +27320 +27288 +27257 +27225 +27193 +27161 +27130 +27098 +27066 +27033 +27001 +26969 +26937 +26904 +26872 +26839 +26807 +26774 +26741 +26708 +26675 +26642 +26609 +26576 +26543 +26510 +26476 +26443 +26410 +26376 +26342 +26309 +26275 +26241 +26207 +26173 +26139 +26105 +26071 +26037 +26003 +25968 +25934 +25899 +25865 +25830 +25795 +25761 +25726 +25691 +25656 +25621 +25586 +25551 +25516 +25480 +25445 +25410 +25374 +25339 +25303 +25267 +25232 +25196 +25160 +25124 +25088 +25052 +25016 +24980 +24944 +24907 +24871 +24835 +24798 +24762 +24725 +24688 +24652 +24615 +24578 +24541 +24504 +24467 +24430 +24393 +24356 +24319 +24281 +24244 +24207 +24169 +24132 +24094 +24056 +24019 +23981 +23943 +23905 +23868 +23830 +23792 +23754 +23715 +23677 +23639 +23601 +23562 +23524 +23486 +23447 +23408 +23370 +23331 +23293 +23254 +23215 +23176 +23137 +23098 +23059 +23020 +22981 +22942 +22903 +22863 +22824 +22785 +22745 +22706 +22666 +22627 +22587 +22548 +22508 +22468 +22428 +22389 +22349 +22309 +22269 +22229 +22189 +22149 +22109 +22068 +22028 +21988 +21947 +21907 +21867 +21826 +21786 +21745 +21705 +21664 +21623 +21583 +21542 +21501 +21460 +21419 +21378 +21337 +21296 +21255 +21214 +21173 +21132 +21091 +21050 +21008 +20967 +20926 +20884 +20843 +20801 +20760 +20718 +20677 +20635 +20593 +20552 +20510 +20468 +20426 +20385 +20343 +20301 +20259 +20217 +20175 +20133 +20091 +20049 +20007 +19964 +19922 +19880 +19838 +19795 +19753 +19711 +19668 +19626 +19583 +19541 +19498 +19456 +19413 +19371 +19328 +19285 +19243 +19200 +19157 +19114 +19072 +19029 +18986 +18943 +18900 +18857 +18814 +18771 +18728 +18685 +18642 +18599 +18556 +18513 +18469 +18426 +18383 +18340 +18297 +18253 +18210 +18167 +18123 +18080 +18036 +17993 +17950 +17906 +17863 +17819 +17776 +17732 +17688 +17645 +17601 +17558 +17514 +17470 +17427 +17383 +17339 +17295 +17252 +17208 +17164 +17120 +17076 +17032 +16989 +16945 +16901 +16857 +16813 +16769 +16725 +16681 +16637 +16593 +16549 +16505 +16461 +16417 +16373 +16329 +16285 +16241 +16196 +16152 +16108 +16064 +16020 +15976 +15931 +15887 +15843 +15799 +15755 +15710 +15666 +15622 +15578 +15533 +15489 +15445 +15400 +15356 +15312 +15267 +15223 +15179 +15134 +15090 +15046 +15001 +14957 +14913 +14868 +14824 +14779 +14735 +14691 +14646 +14602 +14557 +14513 +14469 +14424 +14380 +14335 +14291 +14247 +14202 +14158 +14113 +14069 +14024 +13980 +13936 +13891 +13847 +13802 +13758 +13713 +13669 +13625 +13580 +13536 +13491 +13447 +13403 +13358 +13314 +13269 +13225 +13181 +13136 +13092 +13047 +13003 +12959 +12914 +12870 +12826 +12781 +12737 +12693 +12648 +12604 +12560 +12515 +12471 +12427 +12383 +12338 +12294 +12250 +12206 +12161 +12117 +12073 +12029 +11984 +11940 +11896 +11852 +11808 +11764 +11720 +11675 +11631 +11587 +11543 +11499 +11455 +11411 +11367 +11323 +11279 +11235 +11191 +11147 +11103 +11059 +11015 +10971 +10928 +10884 +10840 +10796 +10752 +10708 +10665 +10621 +10577 +10533 +10490 +10446 +10402 +10359 +10315 +10271 +10228 +10184 +10141 +10097 +10054 +10010 +9967 +9923 +9880 +9836 +9793 +9750 +9706 +9663 +9620 +9576 +9533 +9490 +9447 +9403 +9360 +9317 +9274 +9231 +9188 +9145 +9102 +9059 +9016 +8973 +8930 +8887 +8844 +8801 +8759 +8716 +8673 +8630 +8588 +8545 +8502 +8460 +8417 +8374 +8332 +8289 +8247 +8205 +8162 +8120 +8077 +8035 +7993 +7950 +7908 +7866 +7824 +7782 +7740 +7698 +7656 +7613 +7572 +7530 +7488 +7446 +7404 +7362 +7320 +7279 +7237 +7195 +7154 +7112 +7070 +7029 +6987 +6946 +6904 +6863 +6822 +6780 +6739 +6698 +6657 +6615 +6574 +6533 +6492 +6451 +6410 +6369 +6328 +6287 +6247 +6206 +6165 +6124 +6084 +6043 +6002 +5962 +5921 +5881 +5840 +5800 +5760 +5719 +5679 +5639 +5599 +5558 +5518 +5478 +5438 +5398 +5358 +5318 +5279 +5239 +5199 +5159 +5120 +5080 +5040 +5001 +4961 +4922 +4883 +4843 +4804 +4765 +4725 +4686 +4647 +4608 +4569 +4530 +4491 +4452 +4413 +4374 +4336 +4297 +4258 +4220 +4181 +4143 +4104 +4066 +4027 +3989 +3951 +3913 +3874 +3836 +3798 +3760 +3722 +3684 +3646 +3609 +3571 +3533 +3496 +3458 +3420 +3383 +3345 +3308 +3271 +3233 +3196 +3159 +3122 +3085 +3048 +3011 +2974 +2937 +2900 +2863 +2826 +2790 +2753 +2717 +2680 +2644 +2607 +2571 +2535 +2499 +2462 +2426 +2390 +2354 +2318 +2282 +2247 +2211 +2175 +2139 +2104 +2068 +2033 +1997 +1962 +1927 +1891 +1856 +1821 +1786 +1751 +1716 +1681 +1646 +1612 +1577 +1542 +1508 +1473 +1439 +1404 +1370 +1335 +1301 +1267 +1233 +1199 +1165 +1131 +1097 +1063 +1029 +996 +962 +929 +895 +862 +828 +795 +762 +728 +695 +662 +629 +596 +563 +531 +498 +465 +433 +400 +367 +335 +303 +270 +238 +206 +174 +142 +110 +78 +46 +14 +-17 +-49 +-81 +-112 +-144 +-175 +-206 +-238 +-269 +-300 +-331 +-362 +-393 +-424 +-455 +-485 +-516 +-547 +-577 +-608 +-638 +-668 +-698 +-729 +-759 +-789 +-819 +-849 +-879 +-908 +-938 +-968 +-997 +-1027 +-1056 +-1085 +-1115 +-1144 +-1173 +-1202 +-1231 +-1260 +-1289 +-1318 +-1347 +-1375 +-1404 +-1432 +-1461 +-1489 +-1518 +-1546 +-1574 +-1602 +-1630 +-1658 +-1686 +-1714 +-1741 +-1769 +-1797 +-1824 +-1852 +-1879 +-1906 +-1934 +-1961 +-1988 +-2015 +-2042 +-2069 +-2096 +-2122 +-2149 +-2176 +-2202 +-2228 +-2255 +-2281 +-2307 +-2334 +-2360 +-2386 +-2412 +-2437 +-2463 +-2489 +-2515 +-2540 +-2566 +-2591 +-2616 +-2642 +-2667 +-2692 +-2717 +-2742 +-2767 +-2792 +-2816 +-2841 +-2866 +-2890 +-2915 +-2939 +-2963 +-2988 +-3012 +-3036 +-3060 +-3084 +-3108 +-3131 +-3155 +-3179 +-3202 +-3226 +-3249 +-3273 +-3296 +-3319 +-3342 +-3365 +-3388 +-3411 +-3434 +-3456 +-3479 +-3502 +-3524 +-3547 +-3569 +-3591 +-3613 +-3635 +-3658 +-3679 +-3701 +-3723 +-3745 +-3767 +-3788 +-3810 +-3831 +-3852 +-3874 +-3895 +-3916 +-3937 +-3958 +-3979 +-4000 +-4020 +-4041 +-4062 +-4082 +-4103 +-4123 +-4143 +-4163 +-4184 +-4204 +-4224 +-4244 +-4263 +-4283 +-4303 +-4322 +-4342 +-4361 +-4381 +-4400 +-4419 +-4438 +-4457 +-4476 +-4495 +-4514 +-4533 +-4551 +-4570 +-4588 +-4607 +-4625 +-4643 +-4661 +-4680 +-4698 +-4716 +-4733 +-4751 +-4769 +-4787 +-4804 +-4822 +-4839 +-4856 +-4874 +-4891 +-4908 +-4925 +-4942 +-4959 +-4976 +-4992 +-5009 +-5025 +-5042 +-5058 +-5075 +-5091 +-5107 +-5123 +-5139 +-5155 +-5171 +-5187 +-5202 +-5218 +-5233 +-5249 +-5264 +-5280 +-5295 +-5310 +-5325 +-5340 +-5355 +-5370 +-5385 +-5399 +-5414 +-5428 +-5443 +-5457 +-5471 +-5486 +-5500 +-5514 +-5528 +-5542 +-5556 +-5569 +-5583 +-5597 +-5610 +-5624 +-5637 +-5650 +-5663 +-5677 +-5690 +-5703 +-5715 +-5728 +-5741 +-5754 +-5766 +-5779 +-5791 +-5804 +-5816 +-5828 +-5840 +-5852 +-5864 +-5876 +-5888 +-5900 +-5911 +-5923 +-5934 +-5946 +-5957 +-5968 +-5980 +-5991 +-6002 +-6013 +-6024 +-6034 +-6045 +-6056 +-6066 +-6077 +-6087 +-6098 +-6108 +-6118 +-6128 +-6138 +-6148 +-6158 +-6168 +-6178 +-6187 +-6197 +-6206 +-6216 +-6225 +-6235 +-6244 +-6253 +-6262 +-6271 +-6280 +-6289 +-6297 +-6306 +-6315 +-6323 +-6332 +-6340 +-6348 +-6357 +-6365 +-6373 +-6381 +-6389 +-6397 +-6404 +-6412 +-6420 +-6427 +-6435 +-6442 +-6449 +-6457 +-6464 +-6471 +-6478 +-6485 +-6492 +-6499 +-6505 +-6512 +-6519 +-6525 +-6532 +-6538 +-6544 +-6550 +-6557 +-6563 +-6569 +-6575 +-6580 +-6586 +-6592 +-6597 +-6603 +-6608 +-6614 +-6619 +-6624 +-6630 +-6635 +-6640 +-6645 +-6650 +-6655 +-6659 +-6664 +-6669 +-6673 +-6678 +-6682 +-6686 +-6691 +-6695 +-6699 +-6703 +-6707 +-6711 +-6715 +-6718 +-6722 +-6726 +-6729 +-6733 +-6736 +-6739 +-6742 +-6746 +-6749 +-6752 +-6755 +-6758 +-6760 +-6763 +-6766 +-6769 +-6771 +-6774 +-6776 +-6778 +-6781 +-6783 +-6785 +-6787 +-6789 +-6791 +-6793 +-6795 +-6796 +-6798 +-6799 +-6801 +-6802 +-6804 +-6805 +-6806 +-6807 +-6809 +-6810 +-6811 +-6811 +-6812 +-6813 +-6814 +-6814 +-6815 +-6815 +-6816 +-6816 +-6816 +-6817 +-6817 +-6817 +-6817 +-6817 +-6817 +-6817 +-6816 +-6816 +-6816 +-6815 +-6815 +-6814 +-6814 +-6813 +-6812 +-6811 +-6810 +-6809 +-6808 +-6807 +-6806 +-6805 +-6804 +-6802 +-6801 +-6799 +-6798 +-6796 +-6795 +-6793 +-6791 +-6789 +-6787 +-6785 +-6783 +-6781 +-6779 +-6777 +-6774 +-6772 +-6770 +-6767 +-6765 +-6762 +-6759 +-6757 +-6754 +-6751 +-6748 +-6745 +-6742 +-6739 +-6736 +-6732 +-6729 +-6726 +-6722 +-6719 +-6715 +-6712 +-6708 +-6705 +-6701 +-6697 +-6693 +-6689 +-6685 +-6681 +-6677 +-6673 +-6668 +-6664 +-6660 +-6655 +-6651 +-6646 +-6642 +-6637 +-6632 +-6628 +-6623 +-6618 +-6613 +-6608 +-6603 +-6598 +-6593 +-6587 +-6582 +-6577 +-6571 +-6566 +-6561 +-6555 +-6549 +-6544 +-6538 +-6532 +-6526 +-6520 +-6515 +-6509 +-6502 +-6496 +-6490 +-6484 +-6478 +-6471 +-6465 +-6459 +-6452 +-6446 +-6439 +-6432 +-6426 +-6419 +-6412 +-6405 +-6398 +-6391 +-6384 +-6377 +-6370 +-6363 +-6356 +-6348 +-6341 +-6334 +-6326 +-6319 +-6311 +-6304 +-6296 +-6288 +-6281 +-6273 +-6265 +-6257 +-6249 +-6241 +-6233 +-6225 +-6217 +-6209 +-6201 +-6192 +-6184 +-6176 +-6167 +-6159 +-6150 +-6142 +-6133 +-6124 +-6116 +-6107 +-6098 +-6089 +-6080 +-6071 +-6062 +-6053 +-6044 +-6035 +-6026 +-6017 +-6007 +-5998 +-5989 +-5979 +-5970 +-5960 +-5951 +-5941 +-5932 +-5922 +-5912 +-5903 +-5893 +-5883 +-5873 +-5863 +-5853 +-5843 +-5833 +-5823 +-5813 +-5803 +-5792 +-5782 +-5772 +-5761 +-5751 +-5741 +-5730 +-5720 +-5709 +-5698 +-5688 +-5677 +-5666 +-5656 +-5645 +-5634 +-5623 +-5612 +-5601 +-5590 +-5579 +-5568 +-5557 +-5546 +-5534 +-5523 +-5512 +-5501 +-5489 +-5478 +-5466 +-5455 +-5443 +-5432 +-5420 +-5409 +-5397 +-5385 +-5374 +-5362 +-5350 +-5338 +-5326 +-5314 +-5302 +-5290 +-5278 +-5266 +-5254 +-5242 +-5230 +-5218 +-5206 +-5193 +-5181 +-5169 +-5156 +-5144 +-5131 +-5119 +-5107 +-5094 +-5081 +-5069 +-5056 +-5044 +-5031 +-5018 +-5005 +-4993 +-4980 +-4967 +-4954 +-4941 +-4928 +-4915 +-4902 +-4889 +-4876 +-4863 +-4850 +-4837 +-4824 +-4810 +-4797 +-4784 +-4771 +-4757 +-4744 +-4730 +-4717 +-4704 +-4690 +-4677 +-4663 +-4650 +-4636 +-4622 +-4609 +-4595 +-4581 +-4568 +-4554 +-4540 +-4526 +-4513 +-4499 +-4485 +-4471 +-4457 +-4443 +-4429 +-4415 +-4401 +-4387 +-4373 +-4359 +-4345 +-4331 +-4316 +-4302 +-4288 +-4274 +-4260 +-4245 +-4231 +-4217 +-4202 +-4188 +-4173 +-4159 +-4145 +-4130 +-4116 +-4101 +-4087 +-4072 +-4058 +-4043 +-4028 +-4014 +-3999 +-3984 +-3970 +-3955 +-3940 +-3926 +-3911 +-3896 +-3881 +-3866 +-3852 +-3837 +-3822 +-3807 +-3792 +-3777 +-3762 +-3747 +-3732 +-3717 +-3702 +-3687 +-3672 +-3657 +-3642 +-3627 +-3612 +-3597 +-3581 +-3566 +-3551 +-3536 +-3521 +-3506 +-3490 +-3475 +-3460 +-3444 +-3429 +-3414 +-3399 +-3383 +-3368 +-3353 +-3337 +-3322 +-3306 +-3291 +-3276 +-3260 +-3245 +-3229 +-3214 +-3198 +-3183 +-3167 +-3152 +-3136 +-3121 +-3105 +-3090 +-3074 +-3058 +-3043 +-3027 +-3012 +-2996 +-2980 +-2965 +-2949 +-2933 +-2918 +-2902 +-2886 +-2871 +-2855 +-2839 +-2823 +-2808 +-2792 +-2776 +-2761 +-2745 +-2729 +-2713 +-2697 +-2682 +-2666 +-2650 +-2634 +-2618 +-2603 +-2587 +-2571 +-2555 +-2539 +-2524 +-2508 +-2492 +-2476 +-2460 +-2444 +-2428 +-2412 +-2397 +-2381 +-2365 +-2349 +-2333 +-2317 +-2301 +-2285 +-2269 +-2254 +-2238 +-2222 +-2206 +-2190 +-2174 +-2158 +-2142 +-2126 +-2110 +-2094 +-2079 +-2063 +-2047 +-2031 +-2015 +-1999 +-1983 +-1967 +-1951 +-1935 +-1919 +-1903 +-1887 +-1872 +-1856 +-1840 +-1824 +-1808 +-1792 +-1776 +-1760 +-1744 +-1728 +-1712 +-1697 +-1681 +-1665 +-1649 +-1633 +-1617 +-1601 +-1585 +-1569 +-1554 +-1538 +-1522 +-1506 +-1490 +-1474 +-1458 +-1443 +-1427 +-1411 +-1395 +-1379 +-1364 +-1348 +-1332 +-1316 +-1300 +-1285 +-1269 +-1253 +-1237 +-1222 +-1206 +-1190 +-1174 +-1159 +-1143 +-1127 +-1111 +-1096 +-1080 +-1064 +-1049 +-1033 +-1017 +-1002 +-986 +-971 +-955 +-939 +-924 +-908 +-893 +-877 +-861 +-846 +-830 +-815 +-799 +-784 +-768 +-753 +-737 +-722 +-706 +-691 +-676 +-660 +-645 +-629 +-614 +-599 +-583 +-568 +-553 +-537 +-522 +-507 +-491 +-476 +-461 +-446 +-430 +-415 +-400 +-385 +-370 +-355 +-339 +-324 +-309 +-294 +-279 +-264 +-249 +-234 +-219 +-204 +-189 +-174 +-159 +-144 +-129 +-114 +-99 +-84 +-69 +-55 +-40 +-25 +-10 +5 +19 +34 +49 +64 +78 +93 +108 +122 +137 +151 +166 +181 +195 +210 +224 +239 +253 +268 +282 +296 +311 +325 +339 +354 +368 +382 +397 +411 +425 +439 +454 +468 +482 +496 +510 +524 +538 +552 +566 +580 +594 +608 +622 +636 +650 +664 +678 +692 +705 +719 +733 +747 +760 +774 +788 +801 +815 +829 +842 +856 +869 +883 +896 +910 +923 +937 +950 +963 +977 +990 +1003 +1016 +1030 +1043 +1056 +1069 +1082 +1095 +1109 +1122 +1135 +1148 +1161 +1174 +1186 +1199 +1212 +1225 +1238 +1251 +1264 +1276 +1289 +1302 +1314 +1327 +1340 +1352 +1365 +1377 +1390 +1402 +1415 +1427 +1439 +1452 +1464 +1476 +1489 +1501 +1513 +1525 +1538 +1550 +1562 +1574 +1586 +1598 +1610 +1622 +1634 +1646 +1658 +1670 +1681 +1693 +1705 +1717 +1728 +1740 +1752 +1763 +1775 +1786 +1798 +1809 +1821 +1832 +1844 +1855 +1866 +1878 +1889 +1900 +1911 +1923 +1934 +1945 +1956 +1967 +1978 +1989 +2000 +2011 +2022 +2033 +2044 +2054 +2065 +2076 +2087 +2097 +2108 +2119 +2129 +2140 +2150 +2161 +2171 +2182 +2192 +2202 +2213 +2223 +2233 +2244 +2254 +2264 +2274 +2284 +2294 +2304 +2314 +2324 +2334 +2344 +2354 +2364 +2374 +2383 +2393 +2403 +2412 +2422 +2432 +2441 +2451 +2460 +2470 +2479 +2489 +2498 +2507 +2517 +2526 +2535 +2544 +2553 +2562 +2572 +2581 +2590 +2599 +2608 +2616 +2625 +2634 +2643 +2652 +2661 +2669 +2678 +2687 +2695 +2704 +2712 +2721 +2729 +2738 +2746 +2754 +2763 +2771 +2779 +2787 +2796 +2804 +2812 +2820 +2828 +2836 +2844 +2852 +2860 +2867 +2875 +2883 +2891 +2898 +2906 +2914 +2921 +2929 +2936 +2944 +2951 +2959 +2966 +2974 +2981 +2988 +2995 +3003 +3010 +3017 +3024 +3031 +3038 +3045 +3052 +3059 +3066 +3072 +3079 +3086 +3093 +3099 +3106 +3113 +3119 +3126 +3132 +3139 +3145 +3151 +3158 +3164 +3170 +3177 +3183 +3189 +3195 +3201 +3207 +3213 +3219 +3225 +3231 +3237 +3243 +3249 +3254 +3260 +3266 +3271 +3277 +3283 +3288 +3294 +3299 +3304 +3310 +3315 +3320 +3326 +3331 +3336 +3341 +3346 +3352 +3357 +3362 +3367 +3371 +3376 +3381 +3386 +3391 +3396 +3400 +3405 +3410 +3414 +3419 +3423 +3428 +3432 +3436 +3441 +3445 +3449 +3454 +3458 +3462 +3466 +3470 +3474 +3478 +3482 +3486 +3490 +3494 +3498 +3502 +3506 +3509 +3513 +3517 +3520 +3524 +3527 +3531 +3534 +3538 +3541 +3544 +3548 +3551 +3554 +3558 +3561 +3564 +3567 +3570 +3573 +3576 +3579 +3582 +3585 +3587 +3590 +3593 +3596 +3598 +3601 +3604 +3606 +3609 +3611 +3614 +3616 +3618 +3621 +3623 +3625 +3628 +3630 +3632 +3634 +3636 +3638 +3640 +3642 +3644 +3646 +3648 +3650 +3652 +3653 +3655 +3657 +3658 +3660 +3661 +3663 +3664 +3666 +3667 +3669 +3670 +3671 +3673 +3674 +3675 +3676 +3677 +3679 +3680 +3681 +3682 +3683 +3683 +3684 +3685 +3686 +3687 +3687 +3688 +3689 +3689 +3690 +3691 +3691 +3692 +3692 +3692 +3693 +3693 +3693 +3694 +3694 +3694 +3694 +3694 +3694 +3694 +3695 +3694 +3694 +3694 +3694 +3694 +3694 +3694 +3693 +3693 +3693 +3692 +3692 +3691 +3691 +3691 +3690 +3689 +3689 +3688 +3687 +3687 +3686 +3685 +3684 +3683 +3683 +3682 +3681 +3680 +3679 +3678 +3677 +3675 +3674 +3673 +3672 +3671 +3669 +3668 +3667 +3665 +3664 +3662 +3661 +3659 +3658 +3656 +3654 +3653 +3651 +3649 +3647 +3646 +3644 +3642 +3640 +3638 +3636 +3634 +3632 +3630 +3628 +3626 +3624 +3621 +3619 +3617 +3615 +3612 +3610 +3608 +3605 +3603 +3600 +3598 +3595 +3593 +3590 +3587 +3585 +3582 +3579 +3576 +3574 +3571 +3568 +3565 +3562 +3559 +3556 +3553 +3550 +3547 +3544 +3541 +3538 +3534 +3531 +3528 +3525 +3521 +3518 +3515 +3511 +3508 +3504 +3501 +3497 +3494 +3490 +3486 +3483 +3479 +3475 +3472 +3468 +3464 +3460 +3456 +3452 +3449 +3445 +3441 +3437 +3433 +3428 +3424 +3420 +3416 +3412 +3408 +3404 +3399 +3395 +3391 +3386 +3382 +3377 +3373 +3369 +3364 +3360 +3355 +3350 +3346 +3341 +3337 +3332 +3327 +3322 +3318 +3313 +3308 +3303 +3298 +3294 +3289 +3284 +3279 +3274 +3269 +3264 +3259 +3253 +3248 +3243 +3238 +3233 +3228 +3222 +3217 +3212 +3206 +3201 +3196 +3190 +3185 +3179 +3174 +3168 +3163 +3157 +3152 +3146 +3140 +3135 +3129 +3123 +3118 +3112 +3106 +3100 +3094 +3089 +3083 +3077 +3071 +3065 +3059 +3053 +3047 +3041 +3035 +3029 +3023 +3016 +3010 +3004 +2998 +2992 +2985 +2979 +2973 +2967 +2960 +2954 +2948 +2941 +2935 +2928 +2922 +2915 +2909 +2902 +2896 +2889 +2883 +2876 +2869 +2863 +2856 +2849 +2843 +2836 +2829 +2822 +2816 +2809 +2802 +2795 +2788 +2781 +2774 +2767 +2760 +2753 +2746 +2739 +2732 +2725 +2718 +2711 +2704 +2697 +2690 +2683 +2675 +2668 +2661 +2654 +2647 +2639 +2632 +2625 +2617 +2610 +2603 +2595 +2588 +2580 +2573 +2566 +2558 +2551 +2543 +2536 +2528 +2520 +2513 +2505 +2498 +2490 +2482 +2475 +2467 +2459 +2452 +2444 +2436 +2428 +2421 +2413 +2405 +2397 +2390 +2382 +2374 +2366 +2358 +2350 +2342 +2334 +2326 +2318 +2310 +2302 +2294 +2286 +2278 +2270 +2262 +2254 +2246 +2238 +2230 +2222 +2214 +2205 +2197 +2189 +2181 +2173 +2165 +2156 +2148 +2140 +2132 +2123 +2115 +2107 +2098 +2090 +2082 +2073 +2065 +2057 +2048 +2040 +2031 +2023 +2015 +2006 +1998 +1989 +1981 +1972 +1964 +1955 +1947 +1938 +1930 +1921 +1912 +1904 +1895 +1887 +1878 +1870 +1861 +1852 +1844 +1835 +1826 +1818 +1809 +1800 +1792 +1783 +1774 +1766 +1757 +1748 +1739 +1731 +1722 +1713 +1704 +1695 +1687 +1678 +1669 +1660 +1651 +1643 +1634 +1625 +1616 +1607 +1598 +1590 +1581 +1572 +1563 +1554 +1545 +1536 +1527 +1518 +1509 +1500 +1492 +1483 +1474 +1465 +1456 +1447 +1438 +1429 +1420 +1411 +1402 +1393 +1384 +1375 +1366 +1357 +1348 +1339 +1330 +1321 +1312 +1303 +1294 +1285 +1276 +1266 +1257 +1248 +1239 +1230 +1221 +1212 +1203 +1194 +1185 +1176 +1167 +1158 +1148 +1139 +1130 +1121 +1112 +1103 +1094 +1085 +1076 +1067 +1057 +1048 +1039 +1030 +1021 +1012 +1003 +994 +985 +975 +966 +957 +948 +939 +930 +921 +912 +902 +893 +884 +875 +866 +857 +848 +839 +829 +820 +811 +802 +793 +784 +775 +766 +757 +747 +738 +729 +720 +711 +702 +693 +684 +675 +665 +656 +647 +638 +629 +620 +611 +602 +593 +584 +575 +566 +557 +547 +538 +529 +520 +511 +502 +493 +484 +475 +466 +457 +448 +439 +430 +421 +412 +403 +394 +385 +376 +367 +358 +349 +340 +331 +322 +313 +304 +295 +286 +278 +269 +260 +251 +242 +233 +224 +215 +206 +197 +189 +180 +171 +162 +153 +144 +135 +127 +118 +109 +100 +91 +83 +74 +65 +56 +48 +39 +30 +21 +13 +4 +-5 +-13 +-22 +-31 +-40 +-48 +-57 +-66 +-74 +-83 +-91 +-100 +-109 +-117 +-126 +-134 +-143 +-152 +-160 +-169 +-177 +-186 +-194 +-203 +-211 +-220 +-228 +-237 +-245 +-254 +-262 +-270 +-279 +-287 +-296 +-304 +-312 +-321 +-329 +-337 +-346 +-354 +-362 +-371 +-379 +-387 +-395 +-404 +-412 +-420 +-428 +-437 +-445 +-453 +-461 +-469 +-477 +-486 +-494 +-502 +-510 +-518 +-526 +-534 +-542 +-550 +-558 +-566 +-574 +-582 +-590 +-598 +-606 +-614 +-622 +-630 +-638 +-646 +-654 +-661 +-669 +-677 +-685 +-693 +-700 +-708 +-716 +-724 +-732 +-739 +-747 +-755 +-762 +-770 +-778 +-785 +-793 +-800 +-808 +-816 +-823 +-831 +-838 +-846 +-853 +-861 +-868 +-876 +-883 +-891 +-898 +-905 +-913 +-920 +-928 +-935 +-942 +-949 +-957 +-964 +-971 +-979 +-986 +-993 +-1000 +-1007 +-1015 +-1022 +-1029 +-1036 +-1043 +-1050 +-1057 +-1064 +-1071 +-1078 +-1085 +-1092 +-1099 +-1106 +-1113 +-1120 +-1127 +-1134 +-1141 +-1148 +-1154 +-1161 +-1168 +-1175 +-1182 +-1188 +-1195 +-1202 +-1208 +-1215 +-1222 +-1228 +-1235 +-1242 +-1248 +-1255 +-1261 +-1268 +-1274 +-1281 +-1287 +-1294 +-1300 +-1307 +-1313 +-1320 +-1326 +-1332 +-1339 +-1345 +-1351 +-1357 +-1364 +-1370 +-1376 +-1382 +-1389 +-1395 +-1401 +-1407 +-1413 +-1419 +-1425 +-1431 +-1437 +-1444 +-1450 +-1455 +-1461 +-1467 +-1473 +-1479 +-1485 +-1491 +-1497 +-1503 +-1508 +-1514 +-1520 +-1526 +-1532 +-1537 +-1543 +-1549 +-1554 +-1560 +-1566 +-1571 +-1577 +-1582 +-1588 +-1593 +-1599 +-1604 +-1610 +-1615 +-1621 +-1626 +-1631 +-1637 +-1642 +-1647 +-1653 +-1658 +-1663 +-1668 +-1674 +-1679 +-1684 +-1689 +-1694 +-1699 +-1705 +-1710 +-1715 +-1720 +-1725 +-1730 +-1735 +-1740 +-1745 +-1749 +-1754 +-1759 +-1764 +-1769 +-1774 +-1778 +-1783 +-1788 +-1793 +-1797 +-1802 +-1807 +-1811 +-1816 +-1821 +-1825 +-1830 +-1834 +-1839 +-1843 +-1848 +-1852 +-1857 +-1861 +-1865 +-1870 +-1874 +-1878 +-1883 +-1887 +-1891 +-1895 +-1900 +-1904 +-1908 +-1912 +-1916 +-1920 +-1924 +-1929 +-1933 +-1937 +-1941 +-1945 +-1948 +-1952 +-1956 +-1960 +-1964 +-1968 +-1972 +-1976 +-1979 +-1983 +-1987 +-1991 +-1994 +-1998 +-2002 +-2005 +-2009 +-2012 +-2016 +-2019 +-2023 +-2026 +-2030 +-2033 +-2037 +-2040 +-2044 +-2047 +-2050 +-2054 +-2057 +-2060 +-2063 +-2067 +-2070 +-2073 +-2076 +-2079 +-2082 +-2085 +-2089 +-2092 +-2095 +-2098 +-2101 +-2104 +-2107 +-2109 +-2112 +-2115 +-2118 +-2121 +-2124 +-2126 +-2129 +-2132 +-2135 +-2137 +-2140 +-2143 +-2145 +-2148 +-2150 +-2153 +-2156 +-2158 +-2161 +-2163 +-2166 +-2168 +-2170 +-2173 +-2175 +-2177 +-2180 +-2182 +-2184 +-2187 +-2189 +-2191 +-2193 +-2195 +-2197 +-2200 +-2202 +-2204 +-2206 +-2208 +-2210 +-2212 +-2214 +-2216 +-2218 +-2219 +-2221 +-2223 +-2225 +-2227 +-2229 +-2230 +-2232 +-2234 +-2235 +-2237 +-2239 +-2240 +-2242 +-2244 +-2245 +-2247 +-2248 +-2250 +-2251 +-2253 +-2254 +-2255 +-2257 +-2258 +-2259 +-2261 +-2262 +-2263 +-2265 +-2266 +-2267 +-2268 +-2269 +-2270 +-2272 +-2273 +-2274 +-2275 +-2276 +-2277 +-2278 +-2279 +-2280 +-2281 +-2281 +-2282 +-2283 +-2284 +-2285 +-2286 +-2286 +-2287 +-2288 +-2288 +-2289 +-2290 +-2290 +-2291 +-2292 +-2292 +-2293 +-2293 +-2294 +-2294 +-2295 +-2295 +-2296 +-2296 +-2296 +-2297 +-2297 +-2297 +-2298 +-2298 +-2298 +-2298 +-2298 +-2299 +-2299 +-2299 +-2299 +-2299 +-2299 +-2299 +-2299 +-2299 +-2299 +-2299 +-2299 +-2299 +-2299 +-2299 +-2299 +-2298 +-2298 +-2298 +-2298 +-2298 +-2297 +-2297 +-2297 +-2296 +-2296 +-2296 +-2295 +-2295 +-2294 +-2294 +-2293 +-2293 +-2292 +-2292 +-2291 +-2291 +-2290 +-2289 +-2289 +-2288 +-2287 +-2287 +-2286 +-2285 +-2285 +-2284 +-2283 +-2282 +-2281 +-2280 +-2279 +-2279 +-2278 +-2277 +-2276 +-2275 +-2274 +-2273 +-2272 +-2271 +-2269 +-2268 +-2267 +-2266 +-2265 +-2264 +-2262 +-2261 +-2260 +-2259 +-2257 +-2256 +-2255 +-2253 +-2252 +-2251 +-2249 +-2248 +-2246 +-2245 +-2243 +-2242 +-2240 +-2239 +-2237 +-2236 +-2234 +-2232 +-2231 +-2229 +-2227 +-2226 +-2224 +-2222 +-2220 +-2219 +-2217 +-2215 +-2213 +-2211 +-2209 +-2208 +-2206 +-2204 +-2202 +-2200 +-2198 +-2196 +-2194 +-2192 +-2190 +-2188 +-2186 +-2183 +-2181 +-2179 +-2177 +-2175 +-2173 +-2170 +-2168 +-2166 +-2164 +-2161 +-2159 +-2157 +-2154 +-2152 +-2150 +-2147 +-2145 +-2142 +-2140 +-2137 +-2135 +-2132 +-2130 +-2127 +-2125 +-2122 +-2120 +-2117 +-2114 +-2112 +-2109 +-2106 +-2104 +-2101 +-2098 +-2095 +-2093 +-2090 +-2087 +-2084 +-2082 +-2079 +-2076 +-2073 +-2070 +-2067 +-2064 +-2061 +-2058 +-2055 +-2052 +-2049 +-2046 +-2043 +-2040 +-2037 +-2034 +-2031 +-2028 +-2025 +-2021 +-2018 +-2015 +-2012 +-2009 +-2005 +-2002 +-1999 +-1996 +-1992 +-1989 +-1986 +-1982 +-1979 +-1976 +-1972 +-1969 +-1965 +-1962 +-1958 +-1955 +-1952 +-1948 +-1945 +-1941 +-1937 +-1934 +-1930 +-1927 +-1923 +-1920 +-1916 +-1912 +-1909 +-1905 +-1901 +-1898 +-1894 +-1890 +-1886 +-1883 +-1879 +-1875 +-1871 +-1867 +-1864 +-1860 +-1856 +-1852 +-1848 +-1844 +-1840 +-1836 +-1833 +-1829 +-1825 +-1821 +-1817 +-1813 +-1809 +-1805 +-1801 +-1797 +-1792 +-1788 +-1784 +-1780 +-1776 +-1772 +-1768 +-1764 +-1759 +-1755 +-1751 +-1747 +-1743 +-1738 +-1734 +-1730 +-1726 +-1721 +-1717 +-1713 +-1709 +-1704 +-1700 +-1695 +-1691 +-1687 +-1682 +-1678 +-1674 +-1669 +-1665 +-1660 +-1656 +-1651 +-1647 +-1642 +-1638 +-1633 +-1629 +-1624 +-1620 +-1615 +-1611 +-1606 +-1602 +-1597 +-1592 +-1588 +-1583 +-1578 +-1574 +-1569 +-1564 +-1560 +-1555 +-1550 +-1546 +-1541 +-1536 +-1531 +-1527 +-1522 +-1517 +-1512 +-1508 +-1503 +-1498 +-1493 +-1488 +-1484 +-1479 +-1474 +-1469 +-1464 +-1459 +-1454 +-1449 +-1445 +-1440 +-1435 +-1430 +-1425 +-1420 +-1415 +-1410 +-1405 +-1400 +-1395 +-1390 +-1385 +-1380 +-1375 +-1370 +-1365 +-1360 +-1355 +-1350 +-1345 +-1339 +-1334 +-1329 +-1324 +-1319 +-1314 +-1309 +-1304 +-1298 +-1293 +-1288 +-1283 +-1278 +-1273 +-1267 +-1262 +-1257 +-1252 +-1247 +-1241 +-1236 +-1231 +-1226 +-1220 +-1215 +-1210 +-1205 +-1199 +-1194 +-1189 +-1183 +-1178 +-1173 +-1168 +-1162 +-1157 +-1152 +-1146 +-1141 +-1136 +-1130 +-1125 +-1119 +-1114 +-1109 +-1103 +-1098 +-1093 +-1087 +-1082 +-1076 +-1071 +-1065 +-1060 +-1055 +-1049 +-1044 +-1038 +-1033 +-1027 +-1022 +-1016 +-1011 +-1006 +-1000 +-995 +-989 +-984 +-978 +-973 +-967 +-962 +-956 +-951 +-945 +-940 +-934 +-928 +-923 +-917 +-912 +-906 +-901 +-895 +-890 +-884 +-879 +-873 +-867 +-862 +-856 +-851 +-845 +-840 +-834 +-828 +-823 +-817 +-812 +-806 +-800 +-795 +-789 +-784 +-778 +-772 +-767 +-761 +-756 +-750 +-744 +-739 +-733 +-727 +-722 +-716 +-711 +-705 +-699 +-694 +-688 +-682 +-677 +-671 +-665 +-660 +-654 +-648 +-643 +-637 +-632 +-626 +-620 +-615 +-609 +-603 +-598 +-592 +-586 +-581 +-575 +-569 +-564 +-558 +-552 +-547 +-541 +-535 +-530 +-524 +-518 +-513 +-507 +-502 +-496 +-490 +-485 +-479 +-473 +-468 +-462 +-456 +-451 +-445 +-439 +-434 +-428 +-422 +-417 +-411 +-405 +-400 +-394 +-389 +-383 +-377 +-372 +-366 +-360 +-355 +-349 +-344 +-338 +-332 +-327 +-321 +-315 +-310 +-304 +-299 +-293 +-287 +-282 +-276 +-271 +-265 +-259 +-254 +-248 +-243 +-237 +-231 +-226 +-220 +-215 +-209 +-204 +-198 +-192 +-187 +-181 +-176 +-170 +-165 +-159 +-154 +-148 +-143 +-137 +-132 +-126 +-121 +-115 +-109 +-104 +-98 +-93 +-87 +-82 +-77 +-71 +-66 +-60 +-55 +-49 +-44 +-38 +-33 +-27 +-22 +-16 +-11 +-6 +0 +5 +11 +16 +21 +27 +32 +38 +43 +48 +54 +59 +65 +70 +75 +81 +86 +91 +97 +102 +107 +113 +118 +123 +129 +134 +139 +144 +150 +155 +160 +165 +171 +176 +181 +186 +192 +197 +202 +207 +212 +218 +223 +228 +233 +238 +244 +249 +254 +259 +264 +269 +274 +280 +285 +290 +295 +300 +305 +310 +315 +320 +325 +330 +335 +340 +345 +350 +355 +360 +365 +370 +375 +380 +385 +390 +395 +400 +405 +410 +415 +420 +425 +430 +434 +439 +444 +449 +454 +459 +464 +468 +473 +478 +483 +488 +492 +497 +502 +507 +511 +516 +521 +526 +530 +535 +540 +544 +549 +554 +558 +563 +568 +572 +577 +582 +586 +591 +595 +600 +605 +609 +614 +618 +623 +627 +632 +636 +641 +645 +650 +654 +659 +663 +667 +672 +676 +681 +685 +689 +694 +698 +703 +707 +711 +716 +720 +724 +728 +733 +737 +741 +746 +750 +754 +758 +762 +767 +771 +775 +779 +783 +788 +792 +796 +800 +804 +808 +812 +816 +820 +824 +828 +832 +836 +840 +844 +848 +852 +856 +860 +864 +868 +872 +876 +880 +884 +888 +892 +895 +899 +903 +907 +911 +914 +918 +922 +926 +930 +933 +937 +941 +944 +948 +952 +955 +959 +963 +966 +970 +974 +977 +981 +984 +988 +991 +995 +999 +1002 +1006 +1009 +1013 +1016 +1019 +1023 +1026 +1030 +1033 +1037 +1040 +1043 +1047 +1050 +1053 +1057 +1060 +1063 +1067 +1070 +1073 +1076 +1080 +1083 +1086 +1089 +1092 +1096 +1099 +1102 +1105 +1108 +1111 +1114 +1117 +1120 +1123 +1127 +1130 +1133 +1136 +1139 +1142 +1145 +1147 +1150 +1153 +1156 +1159 +1162 +1165 +1168 +1171 +1174 +1176 +1179 +1182 +1185 +1188 +1190 +1193 +1196 +1199 +1201 +1204 +1207 +1209 +1212 +1215 +1217 +1220 +1222 +1225 +1228 +1230 +1233 +1235 +1238 +1240 +1243 +1245 +1248 +1250 +1253 +1255 +1258 +1260 +1262 +1265 +1267 +1270 +1272 +1274 +1277 +1279 +1281 +1283 +1286 +1288 +1290 +1292 +1295 +1297 +1299 +1301 +1303 +1305 +1308 +1310 +1312 +1314 +1316 +1318 +1320 +1322 +1324 +1326 +1328 +1330 +1332 +1334 +1336 +1338 +1340 +1342 +1344 +1346 +1347 +1349 +1351 +1353 +1355 +1357 +1358 +1360 +1362 +1364 +1365 +1367 +1369 +1370 +1372 +1374 +1375 +1377 +1379 +1380 +1382 +1383 +1385 +1387 +1388 +1390 +1391 +1393 +1394 +1396 +1397 +1398 +1400 +1401 +1403 +1404 +1405 +1407 +1408 +1409 +1411 +1412 +1413 +1415 +1416 +1417 +1418 +1420 +1421 +1422 +1423 +1424 +1426 +1427 +1428 +1429 +1430 +1431 +1432 +1433 +1434 +1435 +1436 +1437 +1438 +1439 +1440 +1441 +1442 +1443 +1444 +1445 +1446 +1447 +1448 +1449 +1449 +1450 +1451 +1452 +1453 +1453 +1454 +1455 +1456 +1456 +1457 +1458 +1458 +1459 +1460 +1460 +1461 +1461 +1462 +1463 +1463 +1464 +1464 +1465 +1465 +1466 +1466 +1467 +1467 +1468 +1468 +1469 +1469 +1469 +1470 +1470 +1471 +1471 +1471 +1471 +1472 +1472 +1472 +1473 +1473 +1473 +1473 +1474 +1474 +1474 +1474 +1474 +1474 +1475 +1475 +1475 +1475 +1475 +1475 +1475 +1475 +1475 +1475 +1475 +1475 +1475 +1475 +1475 +1475 +1475 +1475 +1475 +1475 +1474 +1474 +1474 +1474 +1474 +1474 +1473 +1473 +1473 +1473 +1473 +1472 +1472 +1472 +1471 +1471 +1471 +1470 +1470 +1470 +1469 +1469 +1469 +1468 +1468 +1467 +1467 +1466 +1466 +1465 +1465 +1464 +1464 +1463 +1463 +1462 +1462 +1461 +1460 +1460 +1459 +1459 +1458 +1457 +1457 +1456 +1455 +1455 +1454 +1453 +1452 +1452 +1451 +1450 +1449 +1448 +1448 +1447 +1446 +1445 +1444 +1443 +1442 +1442 +1441 +1440 +1439 +1438 +1437 +1436 +1435 +1434 +1433 +1432 +1431 +1430 +1429 +1428 +1427 +1426 +1425 +1423 +1422 +1421 +1420 +1419 +1418 +1417 +1415 +1414 +1413 +1412 +1411 +1409 +1408 +1407 +1406 +1404 +1403 +1402 +1400 +1399 +1398 +1396 +1395 +1394 +1392 +1391 +1389 +1388 +1387 +1385 +1384 +1382 +1381 +1379 +1378 +1376 +1375 +1373 +1372 +1370 +1369 +1367 +1365 +1364 +1362 +1361 +1359 +1357 +1356 +1354 +1353 +1351 +1349 +1347 +1346 +1344 +1342 +1341 +1339 +1337 +1335 +1334 +1332 +1330 +1328 +1326 +1325 +1323 +1321 +1319 +1317 +1315 +1314 +1312 +1310 +1308 +1306 +1304 +1302 +1300 +1298 +1296 +1294 +1292 +1290 +1288 +1286 +1284 +1282 +1280 +1278 +1276 +1274 +1272 +1270 +1268 +1266 +1264 +1262 +1259 +1257 +1255 +1253 +1251 +1249 +1246 +1244 +1242 +1240 +1238 +1235 +1233 +1231 +1229 +1226 +1224 +1222 +1220 +1217 +1215 +1213 +1210 +1208 +1206 +1203 +1201 +1199 +1196 +1194 +1192 +1189 +1187 +1184 +1182 +1180 +1177 +1175 +1172 +1170 +1167 +1165 +1162 +1160 +1157 +1155 +1152 +1150 +1147 +1145 +1142 +1140 +1137 +1135 +1132 +1129 +1127 +1124 +1122 +1119 +1117 +1114 +1111 +1109 +1106 +1103 +1101 +1098 +1095 +1093 +1090 +1087 +1085 +1082 +1079 +1076 +1074 +1071 +1068 +1066 +1063 +1060 +1057 +1055 +1052 +1049 +1046 +1043 +1041 +1038 +1035 +1032 +1029 +1026 +1024 +1021 +1018 +1015 +1012 +1009 +1006 +1004 +1001 +998 +995 +992 +989 +986 +983 +980 +977 +974 +971 +969 +966 +963 +960 +957 +954 +951 +948 +945 +942 +939 +936 +933 +930 +927 +924 +921 +917 +914 +911 +908 +905 +902 +899 +896 +893 +890 +887 +884 +881 +877 +874 +871 +868 +865 +862 +859 +856 +852 +849 +846 +843 +840 +837 +834 +830 +827 +824 +821 +818 +814 +811 +808 +805 +802 +798 +795 +792 +789 +786 +782 +779 +776 +773 +769 +766 +763 +760 +756 +753 +750 +746 +743 +740 +737 +733 +730 +727 +723 +720 +717 +714 +710 +707 +704 +700 +697 +694 +690 +687 +684 +680 +677 +674 +670 +667 +664 +660 +657 +654 +650 +647 +644 +640 +637 +633 +630 +627 +623 +620 +617 +613 +610 +606 +603 +600 +596 +593 +589 +586 +583 +579 +576 +572 +569 +566 +562 +559 +555 +552 +549 +545 +542 +538 +535 +531 +528 +525 +521 +518 +514 +511 +507 +504 +501 +497 +494 +490 +487 +483 +480 +477 +473 +470 +466 +463 +459 +456 +452 +449 +446 +442 +439 +435 +432 +428 +425 +421 +418 +414 +411 +408 +404 +401 +397 +394 +390 +387 +383 +380 +376 +373 +370 +366 +363 +359 +356 +352 +349 +345 +342 +338 +335 +332 +328 +325 +321 +318 +314 +311 +307 +304 +300 +297 +294 +290 +287 +283 +280 +276 +273 +269 +266 +263 +259 +256 +252 +249 +245 +242 +239 +235 +232 +228 +225 +221 +218 +215 +211 +208 +204 +201 +197 +194 +191 +187 +184 +180 +177 +174 +170 +167 +163 +160 +157 +153 +150 +146 +143 +140 +136 +133 +129 +126 +123 +119 +116 +113 +109 +106 +102 +99 +96 +92 +89 +86 +82 +79 +76 +72 +69 +66 +62 +59 +56 +52 +49 +46 +42 +39 +36 +32 +29 +26 +22 +19 +16 +12 +9 +6 +3 +-1 +-4 +-7 +-11 +-14 +-17 +-20 +-24 +-27 +-30 +-33 +-37 +-40 +-43 +-46 +-50 +-53 +-56 +-59 +-63 +-66 +-69 +-72 +-75 +-79 +-82 +-85 +-88 +-91 +-95 +-98 +-101 +-104 +-107 +-110 +-114 +-117 +-120 +-123 +-126 +-129 +-133 +-136 +-139 +-142 +-145 +-148 +-151 +-154 +-158 +-161 +-164 +-167 +-170 +-173 +-176 +-179 +-182 +-185 +-188 +-191 +-195 +-198 +-201 +-204 +-207 +-210 +-213 +-216 +-219 +-222 +-225 +-228 +-231 +-234 +-237 +-240 +-243 +-246 +-249 +-252 +-255 +-258 +-261 +-264 +-267 +-270 +-272 +-275 +-278 +-281 +-284 +-287 +-290 +-293 +-296 +-299 +-302 +-304 +-307 +-310 +-313 +-316 +-319 +-322 +-324 +-327 +-330 +-333 +-336 +-339 +-341 +-344 +-347 +-350 +-353 +-355 +-358 +-361 +-364 +-367 +-369 +-372 +-375 +-378 +-380 +-383 +-386 +-388 +-391 +-394 +-397 +-399 +-402 +-405 +-407 +-410 +-413 +-415 +-418 +-421 +-423 +-426 +-429 +-431 +-434 +-436 +-439 +-442 +-444 +-447 +-449 +-452 +-455 +-457 +-460 +-462 +-465 +-467 +-470 +-472 +-475 +-478 +-480 +-483 +-485 +-488 +-490 +-493 +-495 +-497 +-500 +-502 +-505 +-507 +-510 +-512 +-515 +-517 +-519 +-522 +-524 +-527 +-529 +-531 +-534 +-536 +-538 +-541 +-543 +-546 +-548 +-550 +-552 +-555 +-557 +-559 +-562 +-564 +-566 +-569 +-571 +-573 +-575 +-578 +-580 +-582 +-584 +-587 +-589 +-591 +-593 +-595 +-598 +-600 +-602 +-604 +-606 +-608 +-611 +-613 +-615 +-617 +-619 +-621 +-623 +-625 +-627 +-630 +-632 +-634 +-636 +-638 +-640 +-642 +-644 +-646 +-648 +-650 +-652 +-654 +-656 +-658 +-660 +-662 +-664 +-666 +-668 +-670 +-672 +-674 +-676 +-677 +-679 +-681 +-683 +-685 +-687 +-689 +-691 +-692 +-694 +-696 +-698 +-700 +-702 +-703 +-705 +-707 +-709 +-711 +-712 +-714 +-716 +-718 +-719 +-721 +-723 +-725 +-726 +-728 +-730 +-731 +-733 +-735 +-737 +-738 +-740 +-741 +-743 +-745 +-746 +-748 +-750 +-751 +-753 +-754 +-756 +-758 +-759 +-761 +-762 +-764 +-765 +-767 +-768 +-770 +-771 +-773 +-774 +-776 +-777 +-779 +-780 +-782 +-783 +-785 +-786 +-788 +-789 +-790 +-792 +-793 +-795 +-796 +-797 +-799 +-800 +-801 +-803 +-804 +-805 +-807 +-808 +-809 +-811 +-812 +-813 +-814 +-816 +-817 +-818 +-820 +-821 +-822 +-823 +-824 +-826 +-827 +-828 +-829 +-830 +-832 +-833 +-834 +-835 +-836 +-837 +-838 +-840 +-841 +-842 +-843 +-844 +-845 +-846 +-847 +-848 +-849 +-850 +-851 +-852 +-853 +-854 +-855 +-856 +-857 +-858 +-859 +-860 +-861 +-862 +-863 +-864 +-865 +-866 +-867 +-868 +-869 +-869 +-870 +-871 +-872 +-873 +-874 +-875 +-875 +-876 +-877 +-878 +-879 +-879 +-880 +-881 +-882 +-883 +-883 +-884 +-885 +-886 +-886 +-887 +-888 +-888 +-889 +-890 +-890 +-891 +-892 +-892 +-893 +-894 +-894 +-895 +-896 +-896 +-897 +-897 +-898 +-899 +-899 +-900 +-900 +-901 +-901 +-902 +-903 +-903 +-904 +-904 +-905 +-905 +-906 +-906 +-907 +-907 +-907 +-908 +-908 +-909 +-909 +-910 +-910 +-910 +-911 +-911 +-912 +-912 +-912 +-913 +-913 +-913 +-914 +-914 +-914 +-915 +-915 +-915 +-916 +-916 +-916 +-916 +-917 +-917 +-917 +-917 +-918 +-918 +-918 +-918 +-919 +-919 +-919 +-919 +-919 +-920 +-920 +-920 +-920 +-920 +-920 +-920 +-921 +-921 +-921 +-921 +-921 +-921 +-921 +-921 +-921 +-921 +-921 +-921 +-921 +-921 +-922 +-922 +-922 +-922 +-922 +-922 +-921 +-921 +-921 +-921 +-921 +-921 +-921 +-921 +-921 +-921 +-921 +-921 +-921 +-921 +-920 +-920 +-920 +-920 +-920 +-920 +-920 +-919 +-919 +-919 +-919 +-919 +-919 +-918 +-918 +-918 +-918 +-917 +-917 +-917 +-917 +-916 +-916 +-916 +-916 +-915 +-915 +-915 +-914 +-914 +-914 +-914 +-913 +-913 +-913 +-912 +-912 +-911 +-911 +-911 +-910 +-910 +-910 +-909 +-909 +-908 +-908 +-907 +-907 +-907 +-906 +-906 +-905 +-905 +-904 +-904 +-903 +-903 +-902 +-902 +-901 +-901 +-900 +-900 +-899 +-899 +-898 +-898 +-897 +-896 +-896 +-895 +-895 +-894 +-894 +-893 +-892 +-892 +-891 +-890 +-890 +-889 +-889 +-888 +-887 +-887 +-886 +-885 +-885 +-884 +-883 +-882 +-882 +-881 +-880 +-880 +-879 +-878 +-877 +-877 +-876 +-875 +-874 +-874 +-873 +-872 +-871 +-871 +-870 +-869 +-868 +-867 +-866 +-866 +-865 +-864 +-863 +-862 +-861 +-861 +-860 +-859 +-858 +-857 +-856 +-855 +-854 +-854 +-853 +-852 +-851 +-850 +-849 +-848 +-847 +-846 +-845 +-844 +-843 +-842 +-841 +-840 +-839 +-838 +-837 +-836 +-835 +-834 +-833 +-832 +-831 +-830 +-829 +-828 +-827 +-826 +-825 +-824 +-823 +-822 +-821 +-820 +-819 +-818 +-817 +-815 +-814 +-813 +-812 +-811 +-810 +-809 +-808 +-807 +-805 +-804 +-803 +-802 +-801 +-800 +-798 +-797 +-796 +-795 +-794 +-793 +-791 +-790 +-789 +-788 +-787 +-785 +-784 +-783 +-782 +-780 +-779 +-778 +-777 +-775 +-774 +-773 +-772 +-770 +-769 +-768 +-767 +-765 +-764 +-763 +-761 +-760 +-759 +-757 +-756 +-755 +-754 +-752 +-751 +-750 +-748 +-747 +-746 +-744 +-743 +-741 +-740 +-739 +-737 +-736 +-735 +-733 +-732 +-730 +-729 +-728 +-726 +-725 +-723 +-722 +-721 +-719 +-718 +-716 +-715 +-713 +-712 +-711 +-709 +-708 +-706 +-705 +-703 +-702 +-700 +-699 +-697 +-696 +-695 +-693 +-692 +-690 +-689 +-687 +-686 +-684 +-683 +-681 +-680 +-678 +-676 +-675 +-673 +-672 +-670 +-669 +-667 +-666 +-664 +-663 +-661 +-660 +-658 +-656 +-655 +-653 +-652 +-650 +-649 +-647 +-645 +-644 +-642 +-641 +-639 +-637 +-636 +-634 +-633 +-631 +-629 +-628 +-626 +-625 +-623 +-621 +-620 +-618 +-616 +-615 +-613 +-612 +-610 +-608 +-607 +-605 +-603 +-602 +-600 +-598 +-597 +-595 +-593 +-592 +-590 +-588 +-587 +-585 +-583 +-582 +-580 +-578 +-577 +-575 +-573 +-572 +-570 +-568 +-566 +-565 +-563 +-561 +-560 +-558 +-556 +-554 +-553 +-551 +-549 +-548 +-546 +-544 +-542 +-541 +-539 +-537 +-535 +-534 +-532 +-530 +-528 +-527 +-525 +-523 +-521 +-520 +-518 +-516 +-514 +-513 +-511 +-509 +-507 +-506 +-504 +-502 +-500 +-499 +-497 +-495 +-493 +-491 +-490 +-488 +-486 +-484 +-483 +-481 +-479 +-477 +-475 +-474 +-472 +-470 +-468 +-466 +-465 +-463 +-461 +-459 +-457 +-456 +-454 +-452 +-450 +-448 +-447 +-445 +-443 +-441 +-439 +-437 +-436 +-434 +-432 +-430 +-428 +-427 +-425 +-423 +-421 +-419 +-417 +-416 +-414 +-412 +-410 +-408 +-406 +-405 +-403 +-401 +-399 +-397 +-395 +-394 +-392 +-390 +-388 +-386 +-384 +-383 +-381 +-379 +-377 +-375 +-373 +-372 +-370 +-368 +-366 +-364 +-362 +-360 +-359 +-357 +-355 +-353 +-351 +-349 +-348 +-346 +-344 +-342 +-340 +-338 +-336 +-335 +-333 +-331 +-329 +-327 +-325 +-324 +-322 +-320 +-318 +-316 +-314 +-312 +-311 +-309 +-307 +-305 +-303 +-301 +-299 +-298 +-296 +-294 +-292 +-290 +-288 +-287 +-285 +-283 +-281 +-279 +-277 +-275 +-274 +-272 +-270 +-268 +-266 +-264 +-263 +-261 +-259 +-257 +-255 +-253 +-251 +-250 +-248 +-246 +-244 +-242 +-240 +-239 +-237 +-235 +-233 +-231 +-229 +-228 +-226 +-224 +-222 +-220 +-218 +-217 +-215 +-213 +-211 +-209 +-207 +-206 +-204 +-202 +-200 +-198 +-197 +-195 +-193 +-191 +-189 +-187 +-186 +-184 +-182 +-180 +-178 +-177 +-175 +-173 +-171 +-169 +-167 +-166 +-164 +-162 +-160 +-158 +-157 +-155 +-153 +-151 +-149 +-148 +-146 +-144 +-142 +-140 +-139 +-137 +-135 +-133 +-132 +-130 +-128 +-126 +-124 +-123 +-121 +-119 +-117 +-116 +-114 +-112 +-110 +-108 +-107 +-105 +-103 +-101 +-100 +-98 +-96 +-94 +-93 +-91 +-89 +-87 +-86 +-84 +-82 +-80 +-79 +-77 +-75 +-73 +-72 +-70 +-68 +-67 +-65 +-63 +-61 +-60 +-58 +-56 +-54 +-53 +-51 +-49 +-48 +-46 +-44 +-42 +-41 +-39 +-37 +-36 +-34 +-32 +-31 +-29 +-27 +-26 +-24 +-22 +-20 +-19 +-17 +-15 +-14 +-12 +-10 +-9 +-7 +-5 +-4 +-2 +0 +1 +3 +4 +6 +8 +9 +11 +13 +14 +16 +18 +19 +21 +23 +24 +26 +27 +29 +31 +32 +34 +35 +37 +39 +40 +42 +43 +45 +47 +48 +50 +51 +53 +55 +56 +58 +59 +61 +62 +64 +66 +67 +69 +70 +72 +73 +75 +76 +78 +80 +81 +83 +84 +86 +87 +89 +90 +92 +93 +95 +96 +98 +99 +101 +102 +104 +105 +107 +108 +110 +111 +113 +114 +116 +117 +119 +120 +122 +123 +125 +126 +128 +129 +131 +132 +133 +135 +136 +138 +139 +141 +142 +143 +145 +146 +148 +149 +151 +152 +153 +155 +156 +158 +159 +160 +162 +163 +165 +166 +167 +169 +170 +172 +173 +174 +176 +177 +178 +180 +181 +182 +184 +185 +186 +188 +189 +190 +192 +193 +194 +196 +197 +198 +200 +201 +202 +204 +205 +206 +207 +209 +210 +211 +213 +214 +215 +216 +218 +219 +220 +222 +223 +224 +225 +227 +228 +229 +230 +232 +233 +234 +235 +236 +238 +239 +240 +241 +242 +244 +245 +246 +247 +248 +250 +251 +252 +253 +254 +256 +257 +258 +259 +260 +261 +263 +264 +265 +266 +267 +268 +269 +271 +272 +273 +274 +275 +276 +277 +278 +279 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +343 +344 +345 +346 +347 +348 +349 +350 +350 +351 +352 +353 +354 +355 +356 +356 +357 +358 +359 +360 +361 +361 +362 +363 +364 +365 +365 +366 +367 +368 +369 +369 +370 +371 +372 +373 +373 +374 +375 +376 +376 +377 +378 +379 +379 +380 +381 +382 +382 +383 +384 +385 +385 +386 +387 +387 +388 +389 +390 +390 +391 +392 +392 +393 +394 +394 +395 +396 +396 +397 +398 +398 +399 +400 +400 +401 +402 +402 +403 +404 +404 +405 +405 +406 +407 +407 +408 +408 +409 +410 +410 +411 +411 +412 +413 +413 +414 +414 +415 +415 +416 +417 +417 +418 +418 +419 +419 +420 +420 +421 +421 +422 +422 +423 +424 +424 +425 +425 +426 +426 +427 +427 +428 +428 +428 +429 +429 +430 +430 +431 +431 +432 +432 +433 +433 +434 +434 +434 +435 +435 +436 +436 +437 +437 +437 +438 +438 +439 +439 +440 +440 +440 +441 +441 +442 +442 +442 +443 +443 +443 +444 +444 +445 +445 +445 +446 +446 +446 +447 +447 +447 +448 +448 +448 +449 +449 +449 +450 +450 +450 +451 +451 +451 +451 +452 +452 +452 +453 +453 +453 +453 +454 +454 +454 +454 +455 +455 +455 +456 +456 +456 +456 +457 +457 +457 +457 +457 +458 +458 +458 +458 +459 +459 +459 +459 +459 +460 +460 +460 +460 +460 +461 +461 +461 +461 +461 +461 +462 +462 +462 +462 +462 +462 +463 +463 +463 +463 +463 +463 +463 +464 +464 +464 +464 +464 +464 +464 +464 +464 +465 +465 +465 +465 +465 +465 +465 +465 +465 +465 +465 +466 +466 +466 +466 +466 +466 +466 +466 +466 +466 +466 +466 +466 +466 +466 +466 +466 +466 +466 +467 +467 +467 +467 +467 +467 +467 +467 +467 +467 +467 +467 +467 +467 +467 +467 +467 +467 +467 +467 +466 +466 +466 +466 +466 +466 +466 +466 +466 +466 +466 +466 +466 +466 +466 +466 +466 +466 +466 +466 +465 +465 +465 +465 +465 +465 +465 +465 +465 +465 +465 +464 +464 +464 +464 +464 +464 +464 +464 +464 +463 +463 +463 +463 +463 +463 +463 +463 +462 +462 +462 +462 +462 +462 +462 +461 +461 +461 +461 +461 +461 +460 +460 +460 +460 +460 +460 +459 +459 +459 +459 +459 +458 +458 +458 +458 +458 +457 +457 +457 +457 +457 +456 +456 +456 +456 +456 +455 +455 +455 +455 +454 +454 +454 +454 +453 +453 +453 +453 +452 +452 +452 +452 +451 +451 +451 +451 +450 +450 +450 +450 +449 +449 +449 +449 +448 +448 +448 +447 +447 +447 +447 +446 +446 +446 +445 +445 +445 +444 +444 +444 +444 +443 +443 +443 +442 +442 +442 +441 +441 +441 +440 +440 +440 +439 +439 +439 +438 +438 +438 +437 +437 +437 +436 +436 +436 +435 +435 +435 +434 +434 +434 +433 +433 +433 +432 +432 +431 +431 +431 +430 +430 +430 +429 +429 +428 +428 +428 +427 +427 +427 +426 +426 +425 +425 +425 +424 +424 +423 +423 +423 +422 +422 +421 +421 +421 +420 +420 +419 +419 +419 +418 +418 +417 +417 +416 +416 +416 +415 +415 +414 +414 +413 +413 +413 +412 +412 +411 +411 +410 +410 +410 +409 +409 +408 +408 +407 +407 +406 +406 +406 +405 +405 +404 +404 +403 +403 +402 +402 +401 +401 +401 +400 +400 +399 +399 +398 +398 +397 +397 +396 +396 +395 +395 +394 +394 +393 +393 +393 +392 +392 +391 +391 +390 +390 +389 +389 +388 +388 +387 +387 +386 +386 +385 +385 +384 +384 +383 +383 +382 +382 +381 +381 +380 +380 +379 +379 +378 +378 +377 +377 +376 +376 +375 +375 +374 +374 +373 +373 +372 +372 +371 +370 +370 +369 +369 +368 +368 +367 +367 +366 +366 +365 +365 +364 +364 +363 +363 +362 +362 +361 +361 +360 +359 +359 +358 +358 +357 +357 +356 +356 +355 +355 +354 +354 +353 +352 +352 +351 +351 +350 +350 +349 +349 +348 +348 +347 +346 +346 +345 +345 +344 +344 +343 +343 +342 +342 +341 +340 +340 +339 +339 +338 +338 +337 +337 +336 +335 +335 +334 +334 +333 +333 +332 +332 +331 +330 +330 +329 +329 +328 +328 +327 +327 +326 +325 +325 +324 +324 +323 +323 +322 +321 +321 +320 +320 +319 +319 +318 +318 +317 +316 +316 +315 +315 +314 +314 +313 +312 +312 +311 +311 +310 +310 +309 +308 +308 +307 +307 +306 +306 +305 +304 +304 +303 +303 +302 +302 +301 +300 +300 +299 +299 +298 +298 +297 +296 +296 +295 +295 +294 +294 +293 +292 +292 +291 +291 +290 +290 +289 +288 +288 +287 +287 +286 +286 +285 +284 +284 +283 +283 +282 +282 +281 +280 +280 +279 +279 +278 +278 +277 +276 +276 +275 +275 +274 +274 +273 +272 +272 +271 +271 +270 +270 +269 +268 +268 +267 +267 +266 +266 +265 +264 +264 +263 +263 +262 +262 +261 +261 +260 +259 +259 +258 +258 +257 +257 +256 +255 +255 +254 +254 +253 +253 +252 +251 +251 +250 +250 +249 +249 +248 +248 +247 +246 +246 +245 +245 +244 +244 +243 +242 +242 +241 +241 +240 +240 +239 +239 +238 +237 +237 +236 +236 +235 +235 +234 +234 +233 +232 +232 +231 +231 +230 +230 +229 +229 +228 +227 +227 +226 +226 +225 +225 +224 +224 +223 +223 +222 +221 +221 +220 +220 +219 +219 +218 +218 +217 +217 +216 +215 +215 +214 +214 +213 +213 +212 +212 +211 +211 +210 +210 +209 +208 +208 +207 +207 +206 +206 +205 +205 +204 +204 +203 +203 +202 +202 +201 +201 +200 +199 +199 +198 +198 +197 +197 +196 +196 +195 +195 +194 +194 +193 +193 +192 +192 +191 +191 +190 +190 +189 +189 +188 +188 +187 +186 +186 +185 +185 +184 +184 +183 +183 +182 +182 +181 +181 +180 +180 +179 +179 +178 +178 +177 +177 +176 +176 +175 +175 +174 +174 +173 +173 +172 +172 +171 +171 +170 +170 +169 +169 +168 +168 +167 +167 +166 +166 +165 +165 +165 +164 +164 +163 +163 +162 +162 +161 +161 +160 +160 +159 +159 +158 +158 +157 +157 +156 +156 +155 +155 +154 +154 +154 +153 +153 +152 +152 +151 +151 +150 +150 +149 +149 +148 +148 +148 +147 +147 +146 +146 +145 +145 +144 +144 +143 +143 +143 +142 +142 +141 +141 +140 +140 +139 +139 +138 +138 +138 +137 +137 +136 +136 +135 +135 +134 +134 +134 +133 +133 +132 +132 +131 +131 +131 +130 +130 +129 +129 +128 +128 +128 +127 +127 +126 +126 +125 +125 +125 +124 +124 +123 +123 +123 +122 +122 +121 +121 +120 +120 +120 +119 +119 +118 +118 +118 +117 +117 +116 +116 +116 +115 +115 +114 +114 +114 +113 +113 +112 +112 +112 +111 +111 +110 +110 +110 +109 +109 +108 +108 +108 +107 +107 +106 +106 +106 +105 +105 +105 +104 +104 +103 +103 +103 +102 +102 +102 +101 +101 +100 +100 +100 +99 +99 +99 +98 +98 +97 +97 +97 +96 +96 +96 +95 +95 +95 +94 +94 +93 +93 +93 +92 +92 +92 +91 +91 +91 +90 +90 +90 +89 +89 +89 +88 +88 +88 +87 +87 +86 +86 +86 +85 +85 +85 +84 +84 +84 +83 +83 +83 +82 +82 +82 +81 +81 +81 +81 +80 +80 +80 +79 +79 +79 +78 +78 +78 +77 +77 +77 +76 +76 +76 +75 +75 +75 +74 +74 +74 +74 +73 +73 +73 +72 +72 +72 +71 +71 +71 +70 +70 +70 +70 +69 +69 +69 +68 +68 +68 +67 +67 +67 +67 +66 +66 +66 +65 +65 +65 +65 +64 +64 +64 +63 +63 +63 +63 +62 +62 +62 +62 +61 +61 +61 +60 +60 +60 +60 +59 +59 +59 +59 +58 +58 +58 +57 +57 +57 +57 +56 +56 +56 +56 +55 +55 +55 +55 +54 +54 +54 +54 +53 +53 +53 +53 +52 +52 +52 +52 +51 +51 +51 +51 +50 +50 +50 +50 +49 +49 +49 +49 +48 +48 +48 +48 +48 +47 +47 +47 +47 +46 +46 +46 +46 +45 +45 +45 +45 +45 +44 +44 +44 +44 +43 +43 +43 +43 +43 +42 +42 +42 +42 +41 +41 +41 +41 +41 +40 +40 +40 +40 +40 +39 +39 +39 +39 +39 +38 +38 +38 +38 +37 +37 +37 +37 +37 +36 +36 +36 +36 +36 +35 +35 +35 +35 +35 +35 +34 +34 +34 +34 +34 +33 +33 +33 +33 +33 +33 +32 +32 +32 +32 +32 +31 +31 +31 +31 +31 +30 +30 +30 +30 +30 +30 +29 +29 +29 +29 +29 +29 +28 +28 +28 +28 +28 +28 +28 +27 +27 +27 +27 +27 +26 +26 +26 +26 +26 +26 +25 +25 +25 +25 +25 +25 +25 +24 +24 +24 +24 +24 +24 +24 +23 +23 +23 +23 +23 +23 +23 +22 +22 +22 +22 +22 +22 +22 +21 +21 +21 +21 +21 +21 +20 +20 +20 +20 +20 +20 +20 +20 +19 +19 +19 +19 +19 +19 +19 +19 +19 +18 +18 +18 +18 +18 +18 +18 +17 +17 +17 +17 +17 +17 +17 +16 +16 +16 +16 +16 +16 +16 +16 +16 +16 +15 +15 +15 +15 +15 +15 +15 +15 +15 +15 +15 +14 +14 +14 +14 +14 +14 +13 +13 +13 +13 +13 +13 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +12 +11 +11 +11 +10 +10 +10 +9 +9 +8 +8 +8 +8 +7 +7 +7 +8 +8 +8 +9 +10 +10 +11 +13 +14 +15 +17 +18 +20 +22 +24 +25 +27 +29 +31 +32 +34 +35 +36 +37 +38 +39 +39 +40 diff --git a/applications/lofar2/model/data/Coeffs16384Kaiser-quant.dat b/applications/lofar2/model/data/Coeffs16384Kaiser-quant.dat new file mode 100644 index 0000000000..1ac50a3c78 --- /dev/null +++ b/applications/lofar2/model/data/Coeffs16384Kaiser-quant.dat @@ -0,0 +1,16384 @@ +36 +36 +35 +35 +34 +33 +32 +31 +29 +28 +26 +25 +23 +21 +20 +18 +17 +15 +14 +12 +11 +10 +9 +9 +8 +8 +7 +7 +7 +7 +7 +7 +7 +7 +8 +8 +8 +9 +9 +9 +10 +10 +10 +10 +11 +11 +11 +11 +11 +11 +11 +11 +11 +11 +11 +11 +11 +11 +11 +11 +11 +11 +11 +11 +11 +11 +12 +12 +12 +12 +12 +12 +13 +13 +13 +13 +13 +13 +13 +13 +14 +14 +14 +14 +14 +14 +14 +14 +14 +14 +14 +14 +14 +14 +15 +15 +15 +15 +15 +15 +15 +15 +16 +16 +16 +16 +16 +16 +16 +17 +17 +17 +17 +17 +17 +17 +17 +17 +17 +18 +18 +18 +18 +18 +18 +18 +18 +18 +19 +19 +19 +19 +19 +19 +19 +20 +20 +20 +20 +20 +20 +20 +21 +21 +21 +21 +21 +21 +21 +21 +22 +22 +22 +22 +22 +22 +22 +22 +23 +23 +23 +23 +23 +23 +23 +24 +24 +24 +24 +24 +24 +25 +25 +25 +25 +25 +25 +26 +26 +26 +26 +26 +26 +26 +27 +27 +27 +27 +27 +27 +27 +28 +28 +28 +28 +28 +28 +29 +29 +29 +29 +29 +29 +30 +30 +30 +30 +30 +31 +31 +31 +31 +31 +31 +32 +32 +32 +32 +32 +32 +33 +33 +33 +33 +33 +33 +34 +34 +34 +34 +34 +35 +35 +35 +35 +35 +36 +36 +36 +36 +36 +37 +37 +37 +37 +37 +37 +38 +38 +38 +38 +38 +39 +39 +39 +39 +39 +40 +40 +40 +40 +40 +41 +41 +41 +41 +42 +42 +42 +42 +42 +43 +43 +43 +43 +43 +44 +44 +44 +44 +44 +45 +45 +45 +45 +46 +46 +46 +46 +46 +47 +47 +47 +47 +48 +48 +48 +48 +49 +49 +49 +49 +50 +50 +50 +50 +50 +51 +51 +51 +51 +52 +52 +52 +52 +53 +53 +53 +53 +54 +54 +54 +54 +55 +55 +55 +55 +56 +56 +56 +56 +57 +57 +57 +57 +58 +58 +58 +58 +59 +59 +59 +59 +60 +60 +60 +60 +61 +61 +61 +62 +62 +62 +62 +63 +63 +63 +63 +64 +64 +64 +65 +65 +65 +65 +66 +66 +66 +67 +67 +67 +67 +68 +68 +68 +69 +69 +69 +69 +70 +70 +70 +71 +71 +71 +71 +72 +72 +72 +73 +73 +73 +74 +74 +74 +74 +75 +75 +75 +76 +76 +76 +77 +77 +77 +77 +78 +78 +78 +79 +79 +79 +80 +80 +80 +81 +81 +81 +82 +82 +82 +83 +83 +83 +84 +84 +84 +85 +85 +85 +85 +86 +86 +86 +87 +87 +87 +88 +88 +88 +89 +89 +89 +90 +90 +90 +91 +91 +92 +92 +92 +93 +93 +93 +94 +94 +94 +95 +95 +95 +96 +96 +96 +97 +97 +97 +98 +98 +99 +99 +99 +100 +100 +100 +101 +101 +101 +102 +102 +103 +103 +103 +104 +104 +104 +105 +105 +105 +106 +106 +107 +107 +107 +108 +108 +108 +109 +109 +110 +110 +110 +111 +111 +112 +112 +112 +113 +113 +113 +114 +114 +115 +115 +115 +116 +116 +117 +117 +117 +118 +118 +119 +119 +119 +120 +120 +121 +121 +121 +122 +122 +123 +123 +123 +124 +124 +125 +125 +125 +126 +126 +127 +127 +127 +128 +128 +129 +129 +130 +130 +130 +131 +131 +132 +132 +132 +133 +133 +134 +134 +135 +135 +135 +136 +136 +137 +137 +138 +138 +138 +139 +139 +140 +140 +141 +141 +141 +142 +142 +143 +143 +144 +144 +145 +145 +145 +146 +146 +147 +147 +148 +148 +149 +149 +149 +150 +150 +151 +151 +152 +152 +153 +153 +153 +154 +154 +155 +155 +156 +156 +157 +157 +158 +158 +159 +159 +159 +160 +160 +161 +161 +162 +162 +163 +163 +164 +164 +165 +165 +165 +166 +166 +167 +167 +168 +168 +169 +169 +170 +170 +171 +171 +172 +172 +173 +173 +174 +174 +174 +175 +175 +176 +176 +177 +177 +178 +178 +179 +179 +180 +180 +181 +181 +182 +182 +183 +183 +184 +184 +185 +185 +186 +186 +187 +187 +188 +188 +189 +189 +190 +190 +191 +191 +192 +192 +193 +193 +194 +194 +195 +195 +196 +196 +197 +197 +198 +198 +199 +199 +200 +200 +201 +201 +202 +202 +203 +203 +204 +204 +205 +205 +206 +206 +207 +207 +208 +208 +209 +209 +210 +210 +211 +211 +212 +212 +213 +213 +214 +214 +215 +215 +216 +217 +217 +218 +218 +219 +219 +220 +220 +221 +221 +222 +222 +223 +223 +224 +224 +225 +225 +226 +226 +227 +227 +228 +229 +229 +230 +230 +231 +231 +232 +232 +233 +233 +234 +234 +235 +235 +236 +236 +237 +237 +238 +239 +239 +240 +240 +241 +241 +242 +242 +243 +243 +244 +244 +245 +245 +246 +247 +247 +248 +248 +249 +249 +250 +250 +251 +251 +252 +252 +253 +253 +254 +255 +255 +256 +256 +257 +257 +258 +258 +259 +259 +260 +260 +261 +261 +262 +263 +263 +264 +264 +265 +265 +266 +266 +267 +267 +268 +268 +269 +270 +270 +271 +271 +272 +272 +273 +273 +274 +274 +275 +275 +276 +277 +277 +278 +278 +279 +279 +280 +280 +281 +281 +282 +282 +283 +283 +284 +285 +285 +286 +286 +287 +287 +288 +288 +289 +289 +290 +290 +291 +291 +292 +293 +293 +294 +294 +295 +295 +296 +296 +297 +297 +298 +298 +299 +299 +300 +300 +301 +302 +302 +303 +303 +304 +304 +305 +305 +306 +306 +307 +307 +308 +308 +309 +309 +310 +311 +311 +312 +312 +313 +313 +314 +314 +315 +315 +316 +316 +317 +317 +318 +318 +319 +319 +320 +320 +321 +321 +322 +322 +323 +323 +324 +325 +325 +326 +326 +327 +327 +328 +328 +329 +329 +330 +330 +331 +331 +332 +332 +333 +333 +334 +334 +335 +335 +336 +336 +337 +337 +338 +338 +339 +339 +340 +340 +341 +341 +342 +342 +343 +343 +344 +344 +345 +345 +346 +346 +347 +347 +348 +348 +348 +349 +349 +350 +350 +351 +351 +352 +352 +353 +353 +354 +354 +355 +355 +356 +356 +357 +357 +358 +358 +359 +359 +359 +360 +360 +361 +361 +362 +362 +363 +363 +364 +364 +365 +365 +365 +366 +366 +367 +367 +368 +368 +369 +369 +370 +370 +370 +371 +371 +372 +372 +373 +373 +373 +374 +374 +375 +375 +376 +376 +377 +377 +377 +378 +378 +379 +379 +380 +380 +380 +381 +381 +382 +382 +382 +383 +383 +384 +384 +385 +385 +385 +386 +386 +387 +387 +387 +388 +388 +389 +389 +389 +390 +390 +391 +391 +391 +392 +392 +393 +393 +393 +394 +394 +394 +395 +395 +396 +396 +396 +397 +397 +397 +398 +398 +399 +399 +399 +400 +400 +400 +401 +401 +401 +402 +402 +402 +403 +403 +404 +404 +404 +405 +405 +405 +406 +406 +406 +407 +407 +407 +408 +408 +408 +409 +409 +409 +409 +410 +410 +410 +411 +411 +411 +412 +412 +412 +413 +413 +413 +414 +414 +414 +414 +415 +415 +415 +416 +416 +416 +416 +417 +417 +417 +418 +418 +418 +418 +419 +419 +419 +419 +420 +420 +420 +420 +421 +421 +421 +421 +422 +422 +422 +422 +423 +423 +423 +423 +424 +424 +424 +424 +425 +425 +425 +425 +425 +426 +426 +426 +426 +427 +427 +427 +427 +427 +428 +428 +428 +428 +428 +429 +429 +429 +429 +429 +429 +430 +430 +430 +430 +430 +430 +431 +431 +431 +431 +431 +431 +432 +432 +432 +432 +432 +432 +432 +433 +433 +433 +433 +433 +433 +433 +434 +434 +434 +434 +434 +434 +434 +434 +434 +435 +435 +435 +435 +435 +435 +435 +435 +435 +435 +436 +436 +436 +436 +436 +436 +436 +436 +436 +436 +436 +436 +436 +436 +436 +436 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +436 +436 +436 +436 +436 +436 +436 +436 +436 +436 +436 +436 +436 +436 +436 +435 +435 +435 +435 +435 +435 +435 +435 +435 +435 +434 +434 +434 +434 +434 +434 +434 +434 +433 +433 +433 +433 +433 +433 +433 +432 +432 +432 +432 +432 +432 +432 +431 +431 +431 +431 +431 +430 +430 +430 +430 +430 +429 +429 +429 +429 +429 +428 +428 +428 +428 +428 +427 +427 +427 +427 +426 +426 +426 +426 +425 +425 +425 +425 +424 +424 +424 +424 +423 +423 +423 +423 +422 +422 +422 +421 +421 +421 +420 +420 +420 +420 +419 +419 +419 +418 +418 +418 +417 +417 +417 +416 +416 +416 +415 +415 +415 +414 +414 +413 +413 +413 +412 +412 +412 +411 +411 +410 +410 +410 +409 +409 +409 +408 +408 +407 +407 +406 +406 +406 +405 +405 +404 +404 +403 +403 +403 +402 +402 +401 +401 +400 +400 +399 +399 +398 +398 +398 +397 +397 +396 +396 +395 +395 +394 +394 +393 +393 +392 +392 +391 +391 +390 +389 +389 +388 +388 +387 +387 +386 +386 +385 +385 +384 +383 +383 +382 +382 +381 +381 +380 +379 +379 +378 +378 +377 +376 +376 +375 +375 +374 +373 +373 +372 +372 +371 +370 +370 +369 +368 +368 +367 +367 +366 +365 +365 +364 +363 +363 +362 +361 +361 +360 +359 +358 +358 +357 +356 +356 +355 +354 +354 +353 +352 +351 +351 +350 +349 +349 +348 +347 +346 +346 +345 +344 +343 +343 +342 +341 +340 +339 +339 +338 +337 +336 +336 +335 +334 +333 +332 +332 +331 +330 +329 +328 +328 +327 +326 +325 +324 +323 +323 +322 +321 +320 +319 +318 +318 +317 +316 +315 +314 +313 +312 +311 +311 +310 +309 +308 +307 +306 +305 +304 +303 +302 +302 +301 +300 +299 +298 +297 +296 +295 +294 +293 +292 +291 +290 +289 +288 +288 +287 +286 +285 +284 +283 +282 +281 +280 +279 +278 +277 +276 +275 +274 +273 +272 +271 +270 +269 +268 +267 +266 +265 +264 +262 +261 +260 +259 +258 +257 +256 +255 +254 +253 +252 +251 +250 +249 +248 +247 +245 +244 +243 +242 +241 +240 +239 +238 +237 +236 +234 +233 +232 +231 +230 +229 +228 +227 +225 +224 +223 +222 +221 +220 +218 +217 +216 +215 +214 +213 +211 +210 +209 +208 +207 +206 +204 +203 +202 +201 +200 +198 +197 +196 +195 +193 +192 +191 +190 +189 +187 +186 +185 +184 +182 +181 +180 +179 +177 +176 +175 +174 +172 +171 +170 +168 +167 +166 +165 +163 +162 +161 +159 +158 +157 +155 +154 +153 +152 +150 +149 +148 +146 +145 +144 +142 +141 +140 +138 +137 +136 +134 +133 +132 +130 +129 +127 +126 +125 +123 +122 +121 +119 +118 +116 +115 +114 +112 +111 +109 +108 +107 +105 +104 +102 +101 +100 +98 +97 +95 +94 +93 +91 +90 +88 +87 +85 +84 +82 +81 +80 +78 +77 +75 +74 +72 +71 +69 +68 +66 +65 +64 +62 +61 +59 +58 +56 +55 +53 +52 +50 +49 +47 +46 +44 +43 +41 +40 +38 +37 +35 +34 +32 +30 +29 +27 +26 +24 +23 +21 +20 +18 +17 +15 +14 +12 +10 +9 +7 +6 +4 +3 +1 +0 +-2 +-4 +-5 +-7 +-8 +-10 +-11 +-13 +-15 +-16 +-18 +-19 +-21 +-23 +-24 +-26 +-27 +-29 +-31 +-32 +-34 +-35 +-37 +-39 +-40 +-42 +-43 +-45 +-47 +-48 +-50 +-52 +-53 +-55 +-57 +-58 +-60 +-61 +-63 +-65 +-66 +-68 +-70 +-71 +-73 +-75 +-76 +-78 +-80 +-81 +-83 +-84 +-86 +-88 +-89 +-91 +-93 +-94 +-96 +-98 +-99 +-101 +-103 +-105 +-106 +-108 +-110 +-111 +-113 +-115 +-116 +-118 +-120 +-121 +-123 +-125 +-126 +-128 +-130 +-132 +-133 +-135 +-137 +-138 +-140 +-142 +-143 +-145 +-147 +-149 +-150 +-152 +-154 +-155 +-157 +-159 +-161 +-162 +-164 +-166 +-167 +-169 +-171 +-173 +-174 +-176 +-178 +-180 +-181 +-183 +-185 +-186 +-188 +-190 +-192 +-193 +-195 +-197 +-199 +-200 +-202 +-204 +-206 +-207 +-209 +-211 +-213 +-214 +-216 +-218 +-219 +-221 +-223 +-225 +-226 +-228 +-230 +-232 +-233 +-235 +-237 +-239 +-240 +-242 +-244 +-246 +-247 +-249 +-251 +-253 +-255 +-256 +-258 +-260 +-262 +-263 +-265 +-267 +-269 +-270 +-272 +-274 +-276 +-277 +-279 +-281 +-283 +-284 +-286 +-288 +-290 +-291 +-293 +-295 +-297 +-299 +-300 +-302 +-304 +-306 +-307 +-309 +-311 +-313 +-314 +-316 +-318 +-320 +-321 +-323 +-325 +-327 +-328 +-330 +-332 +-334 +-336 +-337 +-339 +-341 +-343 +-344 +-346 +-348 +-350 +-351 +-353 +-355 +-357 +-358 +-360 +-362 +-364 +-365 +-367 +-369 +-371 +-372 +-374 +-376 +-378 +-379 +-381 +-383 +-385 +-386 +-388 +-390 +-392 +-393 +-395 +-397 +-399 +-400 +-402 +-404 +-406 +-407 +-409 +-411 +-413 +-414 +-416 +-418 +-419 +-421 +-423 +-425 +-426 +-428 +-430 +-432 +-433 +-435 +-437 +-438 +-440 +-442 +-444 +-445 +-447 +-449 +-450 +-452 +-454 +-456 +-457 +-459 +-461 +-462 +-464 +-466 +-468 +-469 +-471 +-473 +-474 +-476 +-478 +-479 +-481 +-483 +-485 +-486 +-488 +-490 +-491 +-493 +-495 +-496 +-498 +-500 +-501 +-503 +-505 +-506 +-508 +-510 +-511 +-513 +-515 +-516 +-518 +-520 +-521 +-523 +-525 +-526 +-528 +-530 +-531 +-533 +-534 +-536 +-538 +-539 +-541 +-543 +-544 +-546 +-547 +-549 +-551 +-552 +-554 +-556 +-557 +-559 +-560 +-562 +-564 +-565 +-567 +-568 +-570 +-572 +-573 +-575 +-576 +-578 +-579 +-581 +-583 +-584 +-586 +-587 +-589 +-590 +-592 +-594 +-595 +-597 +-598 +-600 +-601 +-603 +-604 +-606 +-607 +-609 +-610 +-612 +-614 +-615 +-617 +-618 +-620 +-621 +-623 +-624 +-626 +-627 +-629 +-630 +-632 +-633 +-635 +-636 +-638 +-639 +-640 +-642 +-643 +-645 +-646 +-648 +-649 +-651 +-652 +-654 +-655 +-656 +-658 +-659 +-661 +-662 +-664 +-665 +-666 +-668 +-669 +-671 +-672 +-673 +-675 +-676 +-678 +-679 +-680 +-682 +-683 +-685 +-686 +-687 +-689 +-690 +-691 +-693 +-694 +-695 +-697 +-698 +-699 +-701 +-702 +-703 +-705 +-706 +-707 +-709 +-710 +-711 +-713 +-714 +-715 +-716 +-718 +-719 +-720 +-722 +-723 +-724 +-725 +-727 +-728 +-729 +-730 +-732 +-733 +-734 +-735 +-736 +-738 +-739 +-740 +-741 +-743 +-744 +-745 +-746 +-747 +-748 +-750 +-751 +-752 +-753 +-754 +-755 +-757 +-758 +-759 +-760 +-761 +-762 +-763 +-765 +-766 +-767 +-768 +-769 +-770 +-771 +-772 +-773 +-774 +-776 +-777 +-778 +-779 +-780 +-781 +-782 +-783 +-784 +-785 +-786 +-787 +-788 +-789 +-790 +-791 +-792 +-793 +-794 +-795 +-796 +-797 +-798 +-799 +-800 +-801 +-802 +-803 +-804 +-805 +-806 +-807 +-808 +-808 +-809 +-810 +-811 +-812 +-813 +-814 +-815 +-816 +-816 +-817 +-818 +-819 +-820 +-821 +-822 +-822 +-823 +-824 +-825 +-826 +-827 +-827 +-828 +-829 +-830 +-831 +-831 +-832 +-833 +-834 +-834 +-835 +-836 +-837 +-837 +-838 +-839 +-840 +-840 +-841 +-842 +-842 +-843 +-844 +-844 +-845 +-846 +-846 +-847 +-848 +-848 +-849 +-850 +-850 +-851 +-852 +-852 +-853 +-853 +-854 +-855 +-855 +-856 +-856 +-857 +-857 +-858 +-859 +-859 +-860 +-860 +-861 +-861 +-862 +-862 +-863 +-863 +-864 +-864 +-865 +-865 +-866 +-866 +-867 +-867 +-867 +-868 +-868 +-869 +-869 +-870 +-870 +-870 +-871 +-871 +-871 +-872 +-872 +-873 +-873 +-873 +-874 +-874 +-874 +-875 +-875 +-875 +-876 +-876 +-876 +-876 +-877 +-877 +-877 +-878 +-878 +-878 +-878 +-879 +-879 +-879 +-879 +-879 +-880 +-880 +-880 +-880 +-880 +-881 +-881 +-881 +-881 +-881 +-881 +-881 +-882 +-882 +-882 +-882 +-882 +-882 +-882 +-882 +-882 +-882 +-882 +-882 +-883 +-883 +-883 +-883 +-883 +-883 +-883 +-883 +-883 +-883 +-883 +-883 +-883 +-883 +-882 +-882 +-882 +-882 +-882 +-882 +-882 +-882 +-882 +-882 +-882 +-882 +-881 +-881 +-881 +-881 +-881 +-881 +-880 +-880 +-880 +-880 +-880 +-879 +-879 +-879 +-879 +-879 +-878 +-878 +-878 +-878 +-877 +-877 +-877 +-876 +-876 +-876 +-876 +-875 +-875 +-875 +-874 +-874 +-874 +-873 +-873 +-872 +-872 +-872 +-871 +-871 +-870 +-870 +-870 +-869 +-869 +-868 +-868 +-867 +-867 +-866 +-866 +-865 +-865 +-864 +-864 +-863 +-863 +-862 +-862 +-861 +-861 +-860 +-860 +-859 +-858 +-858 +-857 +-857 +-856 +-855 +-855 +-854 +-854 +-853 +-852 +-852 +-851 +-850 +-850 +-849 +-848 +-847 +-847 +-846 +-845 +-845 +-844 +-843 +-842 +-842 +-841 +-840 +-839 +-838 +-838 +-837 +-836 +-835 +-834 +-833 +-833 +-832 +-831 +-830 +-829 +-828 +-827 +-827 +-826 +-825 +-824 +-823 +-822 +-821 +-820 +-819 +-818 +-817 +-816 +-815 +-814 +-813 +-812 +-811 +-810 +-809 +-808 +-807 +-806 +-805 +-804 +-803 +-802 +-801 +-800 +-798 +-797 +-796 +-795 +-794 +-793 +-792 +-791 +-789 +-788 +-787 +-786 +-785 +-783 +-782 +-781 +-780 +-779 +-777 +-776 +-775 +-774 +-772 +-771 +-770 +-769 +-767 +-766 +-765 +-763 +-762 +-761 +-759 +-758 +-757 +-755 +-754 +-753 +-751 +-750 +-748 +-747 +-746 +-744 +-743 +-741 +-740 +-738 +-737 +-735 +-734 +-733 +-731 +-730 +-728 +-727 +-725 +-724 +-722 +-720 +-719 +-717 +-716 +-714 +-713 +-711 +-710 +-708 +-706 +-705 +-703 +-702 +-700 +-698 +-697 +-695 +-693 +-692 +-690 +-688 +-687 +-685 +-683 +-682 +-680 +-678 +-676 +-675 +-673 +-671 +-669 +-668 +-666 +-664 +-662 +-661 +-659 +-657 +-655 +-653 +-651 +-650 +-648 +-646 +-644 +-642 +-640 +-639 +-637 +-635 +-633 +-631 +-629 +-627 +-625 +-623 +-621 +-619 +-617 +-615 +-614 +-612 +-610 +-608 +-606 +-604 +-602 +-600 +-598 +-596 +-594 +-592 +-589 +-587 +-585 +-583 +-581 +-579 +-577 +-575 +-573 +-571 +-569 +-567 +-564 +-562 +-560 +-558 +-556 +-554 +-552 +-549 +-547 +-545 +-543 +-541 +-538 +-536 +-534 +-532 +-530 +-527 +-525 +-523 +-521 +-518 +-516 +-514 +-512 +-509 +-507 +-505 +-502 +-500 +-498 +-495 +-493 +-491 +-488 +-486 +-484 +-481 +-479 +-477 +-474 +-472 +-469 +-467 +-465 +-462 +-460 +-457 +-455 +-453 +-450 +-448 +-445 +-443 +-440 +-438 +-435 +-433 +-430 +-428 +-425 +-423 +-420 +-418 +-415 +-413 +-410 +-408 +-405 +-403 +-400 +-398 +-395 +-392 +-390 +-387 +-385 +-382 +-380 +-377 +-374 +-372 +-369 +-366 +-364 +-361 +-359 +-356 +-353 +-351 +-348 +-345 +-343 +-340 +-337 +-334 +-332 +-329 +-326 +-324 +-321 +-318 +-315 +-313 +-310 +-307 +-305 +-302 +-299 +-296 +-293 +-291 +-288 +-285 +-282 +-280 +-277 +-274 +-271 +-268 +-266 +-263 +-260 +-257 +-254 +-251 +-248 +-246 +-243 +-240 +-237 +-234 +-231 +-228 +-226 +-223 +-220 +-217 +-214 +-211 +-208 +-205 +-202 +-199 +-196 +-194 +-191 +-188 +-185 +-182 +-179 +-176 +-173 +-170 +-167 +-164 +-161 +-158 +-155 +-152 +-149 +-146 +-143 +-140 +-137 +-134 +-131 +-128 +-125 +-122 +-119 +-116 +-113 +-110 +-107 +-104 +-100 +-97 +-94 +-91 +-88 +-85 +-82 +-79 +-76 +-73 +-70 +-67 +-63 +-60 +-57 +-54 +-51 +-48 +-45 +-42 +-39 +-35 +-32 +-29 +-26 +-23 +-20 +-16 +-13 +-10 +-7 +-4 +-1 +2 +6 +9 +12 +15 +18 +22 +25 +28 +31 +34 +38 +41 +44 +47 +50 +54 +57 +60 +63 +67 +70 +73 +76 +79 +83 +86 +89 +92 +96 +99 +102 +105 +109 +112 +115 +118 +122 +125 +128 +132 +135 +138 +141 +145 +148 +151 +154 +158 +161 +164 +168 +171 +174 +178 +181 +184 +187 +191 +194 +197 +201 +204 +207 +211 +214 +217 +221 +224 +227 +230 +234 +237 +240 +244 +247 +250 +254 +257 +260 +264 +267 +270 +274 +277 +280 +284 +287 +290 +294 +297 +300 +304 +307 +310 +314 +317 +320 +324 +327 +330 +334 +337 +341 +344 +347 +351 +354 +357 +361 +364 +367 +371 +374 +377 +381 +384 +387 +391 +394 +397 +401 +404 +407 +411 +414 +417 +421 +424 +427 +431 +434 +437 +441 +444 +448 +451 +454 +458 +461 +464 +468 +471 +474 +478 +481 +484 +488 +491 +494 +498 +501 +504 +507 +511 +514 +517 +521 +524 +527 +531 +534 +537 +541 +544 +547 +551 +554 +557 +560 +564 +567 +570 +574 +577 +580 +584 +587 +590 +593 +597 +600 +603 +606 +610 +613 +616 +620 +623 +626 +629 +633 +636 +639 +642 +646 +649 +652 +655 +659 +662 +665 +668 +671 +675 +678 +681 +684 +688 +691 +694 +697 +700 +704 +707 +710 +713 +716 +720 +723 +726 +729 +732 +735 +739 +742 +745 +748 +751 +754 +758 +761 +764 +767 +770 +773 +776 +779 +783 +786 +789 +792 +795 +798 +801 +804 +807 +810 +813 +817 +820 +823 +826 +829 +832 +835 +838 +841 +844 +847 +850 +853 +856 +859 +862 +865 +868 +871 +874 +877 +880 +883 +886 +889 +892 +895 +898 +901 +904 +907 +910 +913 +915 +918 +921 +924 +927 +930 +933 +936 +939 +942 +944 +947 +950 +953 +956 +959 +961 +964 +967 +970 +973 +976 +978 +981 +984 +987 +990 +992 +995 +998 +1001 +1003 +1006 +1009 +1012 +1014 +1017 +1020 +1022 +1025 +1028 +1030 +1033 +1036 +1038 +1041 +1044 +1046 +1049 +1052 +1054 +1057 +1060 +1062 +1065 +1067 +1070 +1073 +1075 +1078 +1080 +1083 +1085 +1088 +1090 +1093 +1095 +1098 +1100 +1103 +1105 +1108 +1110 +1113 +1115 +1118 +1120 +1123 +1125 +1128 +1130 +1132 +1135 +1137 +1140 +1142 +1144 +1147 +1149 +1151 +1154 +1156 +1158 +1161 +1163 +1165 +1168 +1170 +1172 +1174 +1177 +1179 +1181 +1183 +1186 +1188 +1190 +1192 +1195 +1197 +1199 +1201 +1203 +1205 +1208 +1210 +1212 +1214 +1216 +1218 +1220 +1222 +1224 +1227 +1229 +1231 +1233 +1235 +1237 +1239 +1241 +1243 +1245 +1247 +1249 +1251 +1253 +1255 +1257 +1258 +1260 +1262 +1264 +1266 +1268 +1270 +1272 +1274 +1275 +1277 +1279 +1281 +1283 +1284 +1286 +1288 +1290 +1292 +1293 +1295 +1297 +1299 +1300 +1302 +1304 +1305 +1307 +1309 +1310 +1312 +1314 +1315 +1317 +1318 +1320 +1322 +1323 +1325 +1326 +1328 +1329 +1331 +1332 +1334 +1335 +1337 +1338 +1340 +1341 +1343 +1344 +1346 +1347 +1348 +1350 +1351 +1353 +1354 +1355 +1357 +1358 +1359 +1361 +1362 +1363 +1364 +1366 +1367 +1368 +1369 +1371 +1372 +1373 +1374 +1375 +1377 +1378 +1379 +1380 +1381 +1382 +1383 +1384 +1386 +1387 +1388 +1389 +1390 +1391 +1392 +1393 +1394 +1395 +1396 +1397 +1398 +1399 +1400 +1400 +1401 +1402 +1403 +1404 +1405 +1406 +1406 +1407 +1408 +1409 +1410 +1410 +1411 +1412 +1413 +1413 +1414 +1415 +1416 +1416 +1417 +1418 +1418 +1419 +1420 +1420 +1421 +1421 +1422 +1422 +1423 +1424 +1424 +1425 +1425 +1426 +1426 +1427 +1427 +1427 +1428 +1428 +1429 +1429 +1429 +1430 +1430 +1431 +1431 +1431 +1432 +1432 +1432 +1432 +1433 +1433 +1433 +1433 +1434 +1434 +1434 +1434 +1434 +1434 +1435 +1435 +1435 +1435 +1435 +1435 +1435 +1435 +1435 +1435 +1435 +1435 +1435 +1435 +1435 +1435 +1435 +1435 +1435 +1435 +1435 +1435 +1434 +1434 +1434 +1434 +1434 +1434 +1433 +1433 +1433 +1433 +1432 +1432 +1432 +1432 +1431 +1431 +1431 +1430 +1430 +1429 +1429 +1429 +1428 +1428 +1427 +1427 +1426 +1426 +1425 +1425 +1424 +1424 +1423 +1423 +1422 +1422 +1421 +1420 +1420 +1419 +1419 +1418 +1417 +1416 +1416 +1415 +1414 +1414 +1413 +1412 +1411 +1410 +1410 +1409 +1408 +1407 +1406 +1405 +1405 +1404 +1403 +1402 +1401 +1400 +1399 +1398 +1397 +1396 +1395 +1394 +1393 +1392 +1391 +1390 +1389 +1387 +1386 +1385 +1384 +1383 +1382 +1380 +1379 +1378 +1377 +1376 +1374 +1373 +1372 +1370 +1369 +1368 +1367 +1365 +1364 +1362 +1361 +1360 +1358 +1357 +1355 +1354 +1352 +1351 +1349 +1348 +1346 +1345 +1343 +1342 +1340 +1339 +1337 +1335 +1334 +1332 +1330 +1329 +1327 +1325 +1324 +1322 +1320 +1319 +1317 +1315 +1313 +1311 +1310 +1308 +1306 +1304 +1302 +1300 +1298 +1297 +1295 +1293 +1291 +1289 +1287 +1285 +1283 +1281 +1279 +1277 +1275 +1273 +1271 +1268 +1266 +1264 +1262 +1260 +1258 +1256 +1253 +1251 +1249 +1247 +1245 +1242 +1240 +1238 +1236 +1233 +1231 +1229 +1226 +1224 +1222 +1219 +1217 +1214 +1212 +1210 +1207 +1205 +1202 +1200 +1197 +1195 +1192 +1190 +1187 +1185 +1182 +1179 +1177 +1174 +1172 +1169 +1166 +1164 +1161 +1158 +1156 +1153 +1150 +1148 +1145 +1142 +1139 +1136 +1134 +1131 +1128 +1125 +1122 +1119 +1117 +1114 +1111 +1108 +1105 +1102 +1099 +1096 +1093 +1090 +1087 +1084 +1081 +1078 +1075 +1072 +1069 +1066 +1063 +1060 +1057 +1053 +1050 +1047 +1044 +1041 +1038 +1034 +1031 +1028 +1025 +1021 +1018 +1015 +1012 +1008 +1005 +1002 +998 +995 +992 +988 +985 +981 +978 +975 +971 +968 +964 +961 +957 +954 +950 +947 +943 +940 +936 +933 +929 +926 +922 +918 +915 +911 +908 +904 +900 +897 +893 +889 +885 +882 +878 +874 +871 +867 +863 +859 +855 +852 +848 +844 +840 +836 +832 +829 +825 +821 +817 +813 +809 +805 +801 +797 +793 +789 +785 +781 +777 +773 +769 +765 +761 +757 +753 +749 +745 +741 +737 +732 +728 +724 +720 +716 +712 +707 +703 +699 +695 +691 +686 +682 +678 +674 +669 +665 +661 +656 +652 +648 +643 +639 +635 +630 +626 +622 +617 +613 +608 +604 +600 +595 +591 +586 +582 +577 +573 +568 +564 +559 +555 +550 +546 +541 +537 +532 +528 +523 +518 +514 +509 +505 +500 +495 +491 +486 +481 +477 +472 +467 +463 +458 +453 +448 +444 +439 +434 +429 +425 +420 +415 +410 +406 +401 +396 +391 +386 +382 +377 +372 +367 +362 +357 +352 +347 +343 +338 +333 +328 +323 +318 +313 +308 +303 +298 +293 +288 +283 +278 +273 +268 +263 +258 +253 +248 +243 +238 +233 +228 +223 +218 +213 +208 +203 +198 +193 +187 +182 +177 +172 +167 +162 +157 +152 +146 +141 +136 +131 +126 +121 +115 +110 +105 +100 +95 +89 +84 +79 +74 +68 +63 +58 +53 +47 +42 +37 +32 +26 +21 +16 +10 +5 +0 +-5 +-11 +-16 +-21 +-27 +-32 +-37 +-43 +-48 +-53 +-59 +-64 +-70 +-75 +-80 +-86 +-91 +-96 +-102 +-107 +-113 +-118 +-123 +-129 +-134 +-140 +-145 +-150 +-156 +-161 +-167 +-172 +-178 +-183 +-188 +-194 +-199 +-205 +-210 +-216 +-221 +-227 +-232 +-238 +-243 +-248 +-254 +-259 +-265 +-270 +-276 +-281 +-287 +-292 +-298 +-303 +-309 +-314 +-320 +-325 +-331 +-336 +-342 +-347 +-353 +-358 +-364 +-369 +-375 +-381 +-386 +-392 +-397 +-403 +-408 +-414 +-419 +-425 +-430 +-436 +-441 +-447 +-452 +-458 +-464 +-469 +-475 +-480 +-486 +-491 +-497 +-502 +-508 +-513 +-519 +-524 +-530 +-536 +-541 +-547 +-552 +-558 +-563 +-569 +-574 +-580 +-585 +-591 +-597 +-602 +-608 +-613 +-619 +-624 +-630 +-635 +-641 +-646 +-652 +-658 +-663 +-669 +-674 +-680 +-685 +-691 +-696 +-702 +-707 +-713 +-718 +-724 +-729 +-735 +-740 +-746 +-751 +-757 +-762 +-768 +-773 +-779 +-784 +-790 +-795 +-801 +-806 +-812 +-817 +-823 +-828 +-834 +-839 +-845 +-850 +-856 +-861 +-867 +-872 +-877 +-883 +-888 +-894 +-899 +-905 +-910 +-916 +-921 +-926 +-932 +-937 +-943 +-948 +-953 +-959 +-964 +-970 +-975 +-980 +-986 +-991 +-997 +-1002 +-1007 +-1013 +-1018 +-1023 +-1029 +-1034 +-1039 +-1045 +-1050 +-1055 +-1061 +-1066 +-1071 +-1077 +-1082 +-1087 +-1092 +-1098 +-1103 +-1108 +-1114 +-1119 +-1124 +-1129 +-1135 +-1140 +-1145 +-1150 +-1155 +-1161 +-1166 +-1171 +-1176 +-1181 +-1187 +-1192 +-1197 +-1202 +-1207 +-1212 +-1218 +-1223 +-1228 +-1233 +-1238 +-1243 +-1248 +-1253 +-1258 +-1264 +-1269 +-1274 +-1279 +-1284 +-1289 +-1294 +-1299 +-1304 +-1309 +-1314 +-1319 +-1324 +-1329 +-1334 +-1339 +-1344 +-1349 +-1354 +-1359 +-1364 +-1369 +-1374 +-1378 +-1383 +-1388 +-1393 +-1398 +-1403 +-1408 +-1413 +-1417 +-1422 +-1427 +-1432 +-1437 +-1441 +-1446 +-1451 +-1456 +-1461 +-1465 +-1470 +-1475 +-1480 +-1484 +-1489 +-1494 +-1498 +-1503 +-1508 +-1512 +-1517 +-1522 +-1526 +-1531 +-1535 +-1540 +-1545 +-1549 +-1554 +-1558 +-1563 +-1567 +-1572 +-1577 +-1581 +-1586 +-1590 +-1594 +-1599 +-1603 +-1608 +-1612 +-1617 +-1621 +-1625 +-1630 +-1634 +-1639 +-1643 +-1647 +-1652 +-1656 +-1660 +-1665 +-1669 +-1673 +-1677 +-1682 +-1686 +-1690 +-1694 +-1699 +-1703 +-1707 +-1711 +-1715 +-1719 +-1724 +-1728 +-1732 +-1736 +-1740 +-1744 +-1748 +-1752 +-1756 +-1760 +-1764 +-1768 +-1772 +-1776 +-1780 +-1784 +-1788 +-1792 +-1796 +-1800 +-1804 +-1807 +-1811 +-1815 +-1819 +-1823 +-1827 +-1830 +-1834 +-1838 +-1842 +-1845 +-1849 +-1853 +-1857 +-1860 +-1864 +-1868 +-1871 +-1875 +-1878 +-1882 +-1886 +-1889 +-1893 +-1896 +-1900 +-1903 +-1907 +-1910 +-1914 +-1917 +-1921 +-1924 +-1927 +-1931 +-1934 +-1938 +-1941 +-1944 +-1948 +-1951 +-1954 +-1957 +-1961 +-1964 +-1967 +-1970 +-1974 +-1977 +-1980 +-1983 +-1986 +-1989 +-1992 +-1996 +-1999 +-2002 +-2005 +-2008 +-2011 +-2014 +-2017 +-2020 +-2023 +-2026 +-2029 +-2031 +-2034 +-2037 +-2040 +-2043 +-2046 +-2049 +-2051 +-2054 +-2057 +-2060 +-2062 +-2065 +-2068 +-2070 +-2073 +-2076 +-2078 +-2081 +-2083 +-2086 +-2089 +-2091 +-2094 +-2096 +-2099 +-2101 +-2104 +-2106 +-2108 +-2111 +-2113 +-2116 +-2118 +-2120 +-2122 +-2125 +-2127 +-2129 +-2132 +-2134 +-2136 +-2138 +-2140 +-2142 +-2145 +-2147 +-2149 +-2151 +-2153 +-2155 +-2157 +-2159 +-2161 +-2163 +-2165 +-2167 +-2169 +-2171 +-2173 +-2174 +-2176 +-2178 +-2180 +-2182 +-2184 +-2185 +-2187 +-2189 +-2190 +-2192 +-2194 +-2195 +-2197 +-2199 +-2200 +-2202 +-2203 +-2205 +-2206 +-2208 +-2209 +-2211 +-2212 +-2214 +-2215 +-2216 +-2218 +-2219 +-2220 +-2222 +-2223 +-2224 +-2225 +-2227 +-2228 +-2229 +-2230 +-2231 +-2232 +-2233 +-2235 +-2236 +-2237 +-2238 +-2239 +-2240 +-2241 +-2242 +-2242 +-2243 +-2244 +-2245 +-2246 +-2247 +-2248 +-2248 +-2249 +-2250 +-2251 +-2251 +-2252 +-2253 +-2253 +-2254 +-2254 +-2255 +-2256 +-2256 +-2257 +-2257 +-2258 +-2258 +-2259 +-2259 +-2259 +-2260 +-2260 +-2260 +-2261 +-2261 +-2261 +-2261 +-2262 +-2262 +-2262 +-2262 +-2262 +-2263 +-2263 +-2263 +-2263 +-2263 +-2263 +-2263 +-2263 +-2263 +-2263 +-2263 +-2263 +-2262 +-2262 +-2262 +-2262 +-2262 +-2261 +-2261 +-2261 +-2261 +-2260 +-2260 +-2260 +-2259 +-2259 +-2258 +-2258 +-2257 +-2257 +-2256 +-2256 +-2255 +-2255 +-2254 +-2254 +-2253 +-2252 +-2252 +-2251 +-2250 +-2249 +-2249 +-2248 +-2247 +-2246 +-2245 +-2244 +-2244 +-2243 +-2242 +-2241 +-2240 +-2239 +-2238 +-2237 +-2236 +-2234 +-2233 +-2232 +-2231 +-2230 +-2229 +-2227 +-2226 +-2225 +-2224 +-2222 +-2221 +-2220 +-2218 +-2217 +-2215 +-2214 +-2212 +-2211 +-2209 +-2208 +-2206 +-2205 +-2203 +-2202 +-2200 +-2198 +-2197 +-2195 +-2193 +-2191 +-2190 +-2188 +-2186 +-2184 +-2182 +-2180 +-2179 +-2177 +-2175 +-2173 +-2171 +-2169 +-2167 +-2165 +-2162 +-2160 +-2158 +-2156 +-2154 +-2152 +-2150 +-2147 +-2145 +-2143 +-2140 +-2138 +-2136 +-2133 +-2131 +-2129 +-2126 +-2124 +-2121 +-2119 +-2116 +-2114 +-2111 +-2108 +-2106 +-2103 +-2101 +-2098 +-2095 +-2092 +-2090 +-2087 +-2084 +-2081 +-2079 +-2076 +-2073 +-2070 +-2067 +-2064 +-2061 +-2058 +-2055 +-2052 +-2049 +-2046 +-2043 +-2040 +-2037 +-2033 +-2030 +-2027 +-2024 +-2021 +-2017 +-2014 +-2011 +-2007 +-2004 +-2001 +-1997 +-1994 +-1990 +-1987 +-1983 +-1980 +-1976 +-1973 +-1969 +-1966 +-1962 +-1958 +-1955 +-1951 +-1947 +-1944 +-1940 +-1936 +-1932 +-1928 +-1925 +-1921 +-1917 +-1913 +-1909 +-1905 +-1901 +-1897 +-1893 +-1889 +-1885 +-1881 +-1877 +-1873 +-1869 +-1864 +-1860 +-1856 +-1852 +-1848 +-1843 +-1839 +-1835 +-1830 +-1826 +-1822 +-1817 +-1813 +-1809 +-1804 +-1800 +-1795 +-1791 +-1786 +-1782 +-1777 +-1772 +-1768 +-1763 +-1758 +-1754 +-1749 +-1744 +-1740 +-1735 +-1730 +-1725 +-1720 +-1716 +-1711 +-1706 +-1701 +-1696 +-1691 +-1686 +-1681 +-1676 +-1671 +-1666 +-1661 +-1656 +-1651 +-1646 +-1640 +-1635 +-1630 +-1625 +-1620 +-1614 +-1609 +-1604 +-1599 +-1593 +-1588 +-1582 +-1577 +-1572 +-1566 +-1561 +-1555 +-1550 +-1544 +-1539 +-1533 +-1528 +-1522 +-1516 +-1511 +-1505 +-1500 +-1494 +-1488 +-1482 +-1477 +-1471 +-1465 +-1459 +-1454 +-1448 +-1442 +-1436 +-1430 +-1424 +-1418 +-1412 +-1406 +-1400 +-1394 +-1388 +-1382 +-1376 +-1370 +-1364 +-1358 +-1352 +-1346 +-1339 +-1333 +-1327 +-1321 +-1315 +-1308 +-1302 +-1296 +-1289 +-1283 +-1277 +-1270 +-1264 +-1258 +-1251 +-1245 +-1238 +-1232 +-1225 +-1219 +-1212 +-1206 +-1199 +-1193 +-1186 +-1179 +-1173 +-1166 +-1159 +-1153 +-1146 +-1139 +-1133 +-1126 +-1119 +-1112 +-1105 +-1099 +-1092 +-1085 +-1078 +-1071 +-1064 +-1057 +-1050 +-1044 +-1037 +-1030 +-1023 +-1016 +-1009 +-1001 +-994 +-987 +-980 +-973 +-966 +-959 +-952 +-945 +-937 +-930 +-923 +-916 +-908 +-901 +-894 +-887 +-879 +-872 +-865 +-857 +-850 +-842 +-835 +-828 +-820 +-813 +-805 +-798 +-790 +-783 +-775 +-768 +-760 +-753 +-745 +-738 +-730 +-722 +-715 +-707 +-699 +-692 +-684 +-676 +-669 +-661 +-653 +-645 +-638 +-630 +-622 +-614 +-606 +-599 +-591 +-583 +-575 +-567 +-559 +-551 +-543 +-536 +-528 +-520 +-512 +-504 +-496 +-488 +-480 +-472 +-464 +-456 +-447 +-439 +-431 +-423 +-415 +-407 +-399 +-391 +-382 +-374 +-366 +-358 +-350 +-342 +-333 +-325 +-317 +-309 +-300 +-292 +-284 +-275 +-267 +-259 +-250 +-242 +-234 +-225 +-217 +-209 +-200 +-192 +-183 +-175 +-167 +-158 +-150 +-141 +-133 +-124 +-116 +-107 +-99 +-90 +-82 +-73 +-65 +-56 +-48 +-39 +-30 +-22 +-13 +-5 +4 +12 +21 +30 +38 +47 +56 +64 +73 +82 +90 +99 +108 +116 +125 +134 +143 +151 +160 +169 +178 +186 +195 +204 +213 +221 +230 +239 +248 +257 +265 +274 +283 +292 +301 +310 +318 +327 +336 +345 +354 +363 +372 +381 +389 +398 +407 +416 +425 +434 +443 +452 +461 +470 +479 +488 +496 +505 +514 +523 +532 +541 +550 +559 +568 +577 +586 +595 +604 +613 +622 +631 +640 +649 +658 +667 +676 +685 +694 +703 +712 +721 +730 +739 +748 +757 +766 +775 +784 +793 +802 +811 +820 +829 +838 +847 +856 +865 +874 +883 +892 +901 +910 +920 +929 +938 +947 +956 +965 +974 +983 +992 +1001 +1010 +1019 +1028 +1037 +1046 +1055 +1064 +1073 +1082 +1091 +1100 +1109 +1118 +1127 +1136 +1145 +1154 +1163 +1172 +1181 +1190 +1199 +1208 +1217 +1226 +1235 +1244 +1253 +1262 +1271 +1280 +1289 +1298 +1307 +1316 +1324 +1333 +1342 +1351 +1360 +1369 +1378 +1387 +1396 +1405 +1414 +1423 +1431 +1440 +1449 +1458 +1467 +1476 +1485 +1493 +1502 +1511 +1520 +1529 +1538 +1546 +1555 +1564 +1573 +1582 +1590 +1599 +1608 +1617 +1625 +1634 +1643 +1652 +1660 +1669 +1678 +1687 +1695 +1704 +1713 +1721 +1730 +1739 +1747 +1756 +1765 +1773 +1782 +1790 +1799 +1808 +1816 +1825 +1833 +1842 +1850 +1859 +1867 +1876 +1884 +1893 +1901 +1910 +1918 +1927 +1935 +1944 +1952 +1961 +1969 +1977 +1986 +1994 +2002 +2011 +2019 +2027 +2036 +2044 +2052 +2061 +2069 +2077 +2085 +2094 +2102 +2110 +2118 +2127 +2135 +2143 +2151 +2159 +2167 +2175 +2183 +2192 +2200 +2208 +2216 +2224 +2232 +2240 +2248 +2256 +2264 +2272 +2280 +2288 +2296 +2303 +2311 +2319 +2327 +2335 +2343 +2351 +2358 +2366 +2374 +2382 +2389 +2397 +2405 +2412 +2420 +2428 +2435 +2443 +2451 +2458 +2466 +2473 +2481 +2489 +2496 +2504 +2511 +2518 +2526 +2533 +2541 +2548 +2556 +2563 +2570 +2578 +2585 +2592 +2599 +2607 +2614 +2621 +2628 +2636 +2643 +2650 +2657 +2664 +2671 +2678 +2685 +2692 +2700 +2707 +2714 +2720 +2727 +2734 +2741 +2748 +2755 +2762 +2769 +2776 +2782 +2789 +2796 +2803 +2809 +2816 +2823 +2829 +2836 +2843 +2849 +2856 +2862 +2869 +2875 +2882 +2888 +2895 +2901 +2908 +2914 +2920 +2927 +2933 +2939 +2945 +2952 +2958 +2964 +2970 +2977 +2983 +2989 +2995 +3001 +3007 +3013 +3019 +3025 +3031 +3037 +3043 +3049 +3055 +3060 +3066 +3072 +3078 +3084 +3089 +3095 +3101 +3106 +3112 +3118 +3123 +3129 +3134 +3140 +3145 +3151 +3156 +3162 +3167 +3172 +3178 +3183 +3188 +3193 +3199 +3204 +3209 +3214 +3219 +3224 +3230 +3235 +3240 +3245 +3250 +3255 +3260 +3264 +3269 +3274 +3279 +3284 +3289 +3293 +3298 +3303 +3307 +3312 +3317 +3321 +3326 +3330 +3335 +3339 +3344 +3348 +3352 +3357 +3361 +3365 +3370 +3374 +3378 +3382 +3387 +3391 +3395 +3399 +3403 +3407 +3411 +3415 +3419 +3423 +3427 +3430 +3434 +3438 +3442 +3446 +3449 +3453 +3457 +3460 +3464 +3467 +3471 +3474 +3478 +3481 +3485 +3488 +3491 +3495 +3498 +3501 +3505 +3508 +3511 +3514 +3517 +3520 +3523 +3526 +3529 +3532 +3535 +3538 +3541 +3544 +3547 +3549 +3552 +3555 +3557 +3560 +3563 +3565 +3568 +3570 +3573 +3575 +3578 +3580 +3583 +3585 +3587 +3589 +3592 +3594 +3596 +3598 +3600 +3602 +3604 +3606 +3608 +3610 +3612 +3614 +3616 +3618 +3620 +3621 +3623 +3625 +3626 +3628 +3630 +3631 +3633 +3634 +3635 +3637 +3638 +3640 +3641 +3642 +3643 +3645 +3646 +3647 +3648 +3649 +3650 +3651 +3652 +3653 +3654 +3655 +3656 +3657 +3657 +3658 +3659 +3659 +3660 +3661 +3661 +3662 +3662 +3663 +3663 +3664 +3664 +3664 +3665 +3665 +3665 +3665 +3665 +3665 +3666 +3666 +3666 +3666 +3666 +3665 +3665 +3665 +3665 +3665 +3664 +3664 +3664 +3663 +3663 +3663 +3662 +3662 +3661 +3660 +3660 +3659 +3658 +3658 +3657 +3656 +3655 +3654 +3653 +3652 +3651 +3650 +3649 +3648 +3647 +3646 +3645 +3644 +3642 +3641 +3640 +3638 +3637 +3635 +3634 +3632 +3631 +3629 +3627 +3626 +3624 +3622 +3621 +3619 +3617 +3615 +3613 +3611 +3609 +3607 +3605 +3603 +3601 +3598 +3596 +3594 +3592 +3589 +3587 +3585 +3582 +3580 +3577 +3575 +3572 +3569 +3567 +3564 +3561 +3558 +3556 +3553 +3550 +3547 +3544 +3541 +3538 +3535 +3532 +3528 +3525 +3522 +3519 +3515 +3512 +3509 +3505 +3502 +3498 +3495 +3491 +3488 +3484 +3480 +3477 +3473 +3469 +3465 +3461 +3458 +3454 +3450 +3446 +3442 +3437 +3433 +3429 +3425 +3421 +3416 +3412 +3408 +3403 +3399 +3395 +3390 +3385 +3381 +3376 +3372 +3367 +3362 +3357 +3353 +3348 +3343 +3338 +3333 +3328 +3323 +3318 +3313 +3308 +3303 +3297 +3292 +3287 +3282 +3276 +3271 +3265 +3260 +3254 +3249 +3243 +3238 +3232 +3226 +3221 +3215 +3209 +3203 +3197 +3191 +3185 +3179 +3173 +3167 +3161 +3155 +3149 +3143 +3136 +3130 +3124 +3117 +3111 +3105 +3098 +3092 +3085 +3079 +3072 +3065 +3059 +3052 +3045 +3038 +3031 +3025 +3018 +3011 +3004 +2997 +2990 +2983 +2975 +2968 +2961 +2954 +2947 +2939 +2932 +2925 +2917 +2910 +2902 +2895 +2887 +2879 +2872 +2864 +2856 +2849 +2841 +2833 +2825 +2817 +2809 +2801 +2793 +2785 +2777 +2769 +2761 +2753 +2745 +2737 +2728 +2720 +2712 +2703 +2695 +2686 +2678 +2669 +2661 +2652 +2644 +2635 +2626 +2617 +2609 +2600 +2591 +2582 +2573 +2564 +2555 +2546 +2537 +2528 +2519 +2510 +2501 +2491 +2482 +2473 +2464 +2454 +2445 +2435 +2426 +2417 +2407 +2397 +2388 +2378 +2369 +2359 +2349 +2339 +2330 +2320 +2310 +2300 +2290 +2280 +2270 +2260 +2250 +2240 +2230 +2220 +2209 +2199 +2189 +2179 +2168 +2158 +2148 +2137 +2127 +2116 +2106 +2095 +2085 +2074 +2063 +2053 +2042 +2031 +2021 +2010 +1999 +1988 +1977 +1966 +1955 +1944 +1933 +1922 +1911 +1900 +1889 +1878 +1867 +1855 +1844 +1833 +1821 +1810 +1799 +1787 +1776 +1764 +1753 +1741 +1730 +1718 +1707 +1695 +1683 +1671 +1660 +1648 +1636 +1624 +1612 +1601 +1589 +1577 +1565 +1553 +1541 +1529 +1517 +1504 +1492 +1480 +1468 +1456 +1443 +1431 +1419 +1407 +1394 +1382 +1369 +1357 +1344 +1332 +1319 +1307 +1294 +1282 +1269 +1256 +1244 +1231 +1218 +1205 +1193 +1180 +1167 +1154 +1141 +1128 +1115 +1102 +1089 +1076 +1063 +1050 +1037 +1024 +1011 +998 +984 +971 +958 +945 +931 +918 +905 +891 +878 +864 +851 +838 +824 +811 +797 +783 +770 +756 +743 +729 +715 +702 +688 +674 +660 +647 +633 +619 +605 +591 +577 +563 +549 +535 +521 +507 +493 +479 +465 +451 +437 +423 +409 +395 +380 +366 +352 +338 +323 +309 +295 +280 +266 +252 +237 +223 +209 +194 +180 +165 +151 +136 +122 +107 +92 +78 +63 +49 +34 +19 +5 +-10 +-25 +-40 +-54 +-69 +-84 +-99 +-114 +-128 +-143 +-158 +-173 +-188 +-203 +-218 +-233 +-248 +-263 +-278 +-293 +-308 +-323 +-338 +-353 +-368 +-383 +-398 +-413 +-428 +-443 +-459 +-474 +-489 +-504 +-519 +-535 +-550 +-565 +-580 +-596 +-611 +-626 +-642 +-657 +-672 +-688 +-703 +-718 +-734 +-749 +-765 +-780 +-795 +-811 +-826 +-842 +-857 +-873 +-888 +-904 +-919 +-935 +-950 +-966 +-981 +-997 +-1013 +-1028 +-1044 +-1059 +-1075 +-1091 +-1106 +-1122 +-1137 +-1153 +-1169 +-1184 +-1200 +-1216 +-1231 +-1247 +-1263 +-1278 +-1294 +-1310 +-1326 +-1341 +-1357 +-1373 +-1389 +-1404 +-1420 +-1436 +-1452 +-1467 +-1483 +-1499 +-1515 +-1531 +-1546 +-1562 +-1578 +-1594 +-1610 +-1625 +-1641 +-1657 +-1673 +-1689 +-1705 +-1720 +-1736 +-1752 +-1768 +-1784 +-1800 +-1815 +-1831 +-1847 +-1863 +-1879 +-1895 +-1911 +-1926 +-1942 +-1958 +-1974 +-1990 +-2006 +-2022 +-2037 +-2053 +-2069 +-2085 +-2101 +-2117 +-2133 +-2148 +-2164 +-2180 +-2196 +-2212 +-2228 +-2244 +-2259 +-2275 +-2291 +-2307 +-2323 +-2339 +-2354 +-2370 +-2386 +-2402 +-2418 +-2433 +-2449 +-2465 +-2481 +-2497 +-2512 +-2528 +-2544 +-2560 +-2576 +-2591 +-2607 +-2623 +-2639 +-2654 +-2670 +-2686 +-2701 +-2717 +-2733 +-2749 +-2764 +-2780 +-2796 +-2811 +-2827 +-2843 +-2858 +-2874 +-2890 +-2905 +-2921 +-2936 +-2952 +-2968 +-2983 +-2999 +-3014 +-3030 +-3045 +-3061 +-3076 +-3092 +-3107 +-3123 +-3138 +-3154 +-3169 +-3185 +-3200 +-3216 +-3231 +-3246 +-3262 +-3277 +-3293 +-3308 +-3323 +-3339 +-3354 +-3369 +-3385 +-3400 +-3415 +-3430 +-3446 +-3461 +-3476 +-3491 +-3506 +-3521 +-3537 +-3552 +-3567 +-3582 +-3597 +-3612 +-3627 +-3642 +-3657 +-3672 +-3687 +-3702 +-3717 +-3732 +-3747 +-3762 +-3777 +-3792 +-3807 +-3821 +-3836 +-3851 +-3866 +-3881 +-3895 +-3910 +-3925 +-3939 +-3954 +-3969 +-3983 +-3998 +-4012 +-4027 +-4042 +-4056 +-4071 +-4085 +-4100 +-4114 +-4128 +-4143 +-4157 +-4172 +-4186 +-4200 +-4215 +-4229 +-4243 +-4257 +-4271 +-4286 +-4300 +-4314 +-4328 +-4342 +-4356 +-4370 +-4384 +-4398 +-4412 +-4426 +-4440 +-4454 +-4468 +-4482 +-4495 +-4509 +-4523 +-4537 +-4550 +-4564 +-4578 +-4591 +-4605 +-4619 +-4632 +-4646 +-4659 +-4673 +-4686 +-4699 +-4713 +-4726 +-4740 +-4753 +-4766 +-4779 +-4793 +-4806 +-4819 +-4832 +-4845 +-4858 +-4871 +-4884 +-4897 +-4910 +-4923 +-4936 +-4949 +-4962 +-4974 +-4987 +-5000 +-5013 +-5025 +-5038 +-5051 +-5063 +-5076 +-5088 +-5101 +-5113 +-5125 +-5138 +-5150 +-5162 +-5175 +-5187 +-5199 +-5211 +-5224 +-5236 +-5248 +-5260 +-5272 +-5284 +-5296 +-5308 +-5319 +-5331 +-5343 +-5355 +-5366 +-5378 +-5390 +-5401 +-5413 +-5424 +-5436 +-5447 +-5459 +-5470 +-5482 +-5493 +-5504 +-5515 +-5527 +-5538 +-5549 +-5560 +-5571 +-5582 +-5593 +-5604 +-5615 +-5626 +-5636 +-5647 +-5658 +-5668 +-5679 +-5690 +-5700 +-5711 +-5721 +-5732 +-5742 +-5752 +-5763 +-5773 +-5783 +-5793 +-5804 +-5814 +-5824 +-5834 +-5844 +-5854 +-5863 +-5873 +-5883 +-5893 +-5903 +-5912 +-5922 +-5931 +-5941 +-5950 +-5960 +-5969 +-5979 +-5988 +-5997 +-6006 +-6016 +-6025 +-6034 +-6043 +-6052 +-6061 +-6070 +-6078 +-6087 +-6096 +-6105 +-6113 +-6122 +-6131 +-6139 +-6148 +-6156 +-6164 +-6173 +-6181 +-6189 +-6197 +-6205 +-6214 +-6222 +-6230 +-6238 +-6245 +-6253 +-6261 +-6269 +-6276 +-6284 +-6292 +-6299 +-6307 +-6314 +-6321 +-6329 +-6336 +-6343 +-6350 +-6358 +-6365 +-6372 +-6379 +-6386 +-6392 +-6399 +-6406 +-6413 +-6419 +-6426 +-6433 +-6439 +-6445 +-6452 +-6458 +-6464 +-6471 +-6477 +-6483 +-6489 +-6495 +-6501 +-6507 +-6513 +-6519 +-6524 +-6530 +-6536 +-6541 +-6547 +-6552 +-6558 +-6563 +-6568 +-6573 +-6579 +-6584 +-6589 +-6594 +-6599 +-6604 +-6608 +-6613 +-6618 +-6623 +-6627 +-6632 +-6636 +-6641 +-6645 +-6649 +-6654 +-6658 +-6662 +-6666 +-6670 +-6674 +-6678 +-6682 +-6685 +-6689 +-6693 +-6696 +-6700 +-6703 +-6707 +-6710 +-6714 +-6717 +-6720 +-6723 +-6726 +-6729 +-6732 +-6735 +-6738 +-6741 +-6743 +-6746 +-6748 +-6751 +-6753 +-6756 +-6758 +-6760 +-6763 +-6765 +-6767 +-6769 +-6771 +-6773 +-6774 +-6776 +-6778 +-6779 +-6781 +-6783 +-6784 +-6785 +-6787 +-6788 +-6789 +-6790 +-6791 +-6792 +-6793 +-6794 +-6795 +-6795 +-6796 +-6797 +-6797 +-6798 +-6798 +-6798 +-6799 +-6799 +-6799 +-6799 +-6799 +-6799 +-6799 +-6799 +-6798 +-6798 +-6798 +-6797 +-6797 +-6796 +-6795 +-6795 +-6794 +-6793 +-6792 +-6791 +-6790 +-6789 +-6788 +-6786 +-6785 +-6784 +-6782 +-6781 +-6779 +-6777 +-6776 +-6774 +-6772 +-6770 +-6768 +-6766 +-6764 +-6761 +-6759 +-6757 +-6754 +-6752 +-6749 +-6747 +-6744 +-6741 +-6738 +-6735 +-6732 +-6729 +-6726 +-6723 +-6719 +-6716 +-6713 +-6709 +-6706 +-6702 +-6698 +-6694 +-6691 +-6687 +-6683 +-6679 +-6674 +-6670 +-6666 +-6662 +-6657 +-6653 +-6648 +-6643 +-6639 +-6634 +-6629 +-6624 +-6619 +-6614 +-6609 +-6604 +-6598 +-6593 +-6588 +-6582 +-6576 +-6571 +-6565 +-6559 +-6553 +-6547 +-6541 +-6535 +-6529 +-6523 +-6517 +-6510 +-6504 +-6497 +-6491 +-6484 +-6477 +-6470 +-6463 +-6456 +-6449 +-6442 +-6435 +-6428 +-6420 +-6413 +-6405 +-6398 +-6390 +-6382 +-6374 +-6367 +-6359 +-6351 +-6343 +-6334 +-6326 +-6318 +-6309 +-6301 +-6292 +-6284 +-6275 +-6266 +-6257 +-6248 +-6239 +-6230 +-6221 +-6212 +-6202 +-6193 +-6184 +-6174 +-6164 +-6155 +-6145 +-6135 +-6125 +-6115 +-6105 +-6095 +-6085 +-6074 +-6064 +-6054 +-6043 +-6032 +-6022 +-6011 +-6000 +-5989 +-5978 +-5967 +-5956 +-5945 +-5933 +-5922 +-5911 +-5899 +-5887 +-5876 +-5864 +-5852 +-5840 +-5828 +-5816 +-5804 +-5792 +-5779 +-5767 +-5755 +-5742 +-5729 +-5717 +-5704 +-5691 +-5678 +-5665 +-5652 +-5639 +-5626 +-5612 +-5599 +-5585 +-5572 +-5558 +-5545 +-5531 +-5517 +-5503 +-5489 +-5475 +-5461 +-5447 +-5432 +-5418 +-5403 +-5389 +-5374 +-5359 +-5345 +-5330 +-5315 +-5300 +-5285 +-5269 +-5254 +-5239 +-5223 +-5208 +-5192 +-5177 +-5161 +-5145 +-5129 +-5113 +-5097 +-5081 +-5065 +-5049 +-5032 +-5016 +-4999 +-4983 +-4966 +-4950 +-4933 +-4916 +-4899 +-4882 +-4865 +-4847 +-4830 +-4813 +-4795 +-4778 +-4760 +-4743 +-4725 +-4707 +-4689 +-4671 +-4653 +-4635 +-4617 +-4598 +-4580 +-4562 +-4543 +-4524 +-4506 +-4487 +-4468 +-4449 +-4430 +-4411 +-4392 +-4373 +-4354 +-4334 +-4315 +-4295 +-4276 +-4256 +-4236 +-4216 +-4196 +-4176 +-4156 +-4136 +-4116 +-4096 +-4075 +-4055 +-4034 +-4014 +-3993 +-3972 +-3951 +-3930 +-3909 +-3888 +-3867 +-3846 +-3825 +-3803 +-3782 +-3760 +-3739 +-3717 +-3695 +-3673 +-3651 +-3629 +-3607 +-3585 +-3563 +-3541 +-3518 +-3496 +-3473 +-3451 +-3428 +-3405 +-3383 +-3360 +-3337 +-3314 +-3290 +-3267 +-3244 +-3221 +-3197 +-3174 +-3150 +-3126 +-3103 +-3079 +-3055 +-3031 +-3007 +-2983 +-2959 +-2934 +-2910 +-2886 +-2861 +-2837 +-2812 +-2787 +-2763 +-2738 +-2713 +-2688 +-2663 +-2638 +-2612 +-2587 +-2562 +-2536 +-2511 +-2485 +-2459 +-2434 +-2408 +-2382 +-2356 +-2330 +-2304 +-2278 +-2251 +-2225 +-2199 +-2172 +-2146 +-2119 +-2092 +-2066 +-2039 +-2012 +-1985 +-1958 +-1931 +-1904 +-1876 +-1849 +-1822 +-1794 +-1767 +-1739 +-1711 +-1683 +-1656 +-1628 +-1600 +-1572 +-1544 +-1515 +-1487 +-1459 +-1430 +-1402 +-1373 +-1345 +-1316 +-1287 +-1258 +-1230 +-1201 +-1172 +-1142 +-1113 +-1084 +-1055 +-1025 +-996 +-966 +-937 +-907 +-877 +-848 +-818 +-788 +-758 +-728 +-698 +-667 +-637 +-607 +-576 +-546 +-515 +-485 +-454 +-423 +-392 +-362 +-331 +-300 +-268 +-237 +-206 +-175 +-143 +-112 +-81 +-49 +-17 +14 +46 +78 +110 +142 +174 +206 +238 +270 +302 +335 +367 +399 +432 +465 +497 +530 +563 +596 +628 +661 +694 +728 +761 +794 +827 +861 +894 +927 +961 +995 +1028 +1062 +1096 +1130 +1163 +1197 +1231 +1266 +1300 +1334 +1368 +1402 +1437 +1471 +1506 +1540 +1575 +1610 +1644 +1679 +1714 +1749 +1784 +1819 +1854 +1889 +1925 +1960 +1995 +2031 +2066 +2101 +2137 +2173 +2208 +2244 +2280 +2316 +2352 +2388 +2424 +2460 +2496 +2532 +2568 +2604 +2641 +2677 +2714 +2750 +2787 +2823 +2860 +2897 +2934 +2970 +3007 +3044 +3081 +3118 +3155 +3193 +3230 +3267 +3304 +3342 +3379 +3417 +3454 +3492 +3529 +3567 +3605 +3643 +3681 +3718 +3756 +3794 +3832 +3870 +3909 +3947 +3985 +4023 +4062 +4100 +4138 +4177 +4216 +4254 +4293 +4331 +4370 +4409 +4448 +4487 +4526 +4564 +4603 +4643 +4682 +4721 +4760 +4799 +4839 +4878 +4917 +4957 +4996 +5036 +5075 +5115 +5154 +5194 +5234 +5274 +5313 +5353 +5393 +5433 +5473 +5513 +5553 +5593 +5634 +5674 +5714 +5754 +5795 +5835 +5875 +5916 +5956 +5997 +6037 +6078 +6119 +6159 +6200 +6241 +6282 +6323 +6364 +6404 +6445 +6486 +6527 +6569 +6610 +6651 +6692 +6733 +6774 +6816 +6857 +6899 +6940 +6981 +7023 +7064 +7106 +7148 +7189 +7231 +7272 +7314 +7356 +7398 +7440 +7481 +7523 +7565 +7607 +7649 +7691 +7733 +7775 +7818 +7860 +7902 +7944 +7986 +8029 +8071 +8113 +8156 +8198 +8240 +8283 +8325 +8368 +8410 +8453 +8496 +8538 +8581 +8624 +8666 +8709 +8752 +8795 +8837 +8880 +8923 +8966 +9009 +9052 +9095 +9138 +9181 +9224 +9267 +9310 +9353 +9396 +9440 +9483 +9526 +9569 +9613 +9656 +9699 +9743 +9786 +9829 +9873 +9916 +9960 +10003 +10046 +10090 +10133 +10177 +10221 +10264 +10308 +10351 +10395 +10439 +10482 +10526 +10570 +10614 +10657 +10701 +10745 +10789 +10832 +10876 +10920 +10964 +11008 +11052 +11096 +11140 +11184 +11228 +11272 +11316 +11360 +11404 +11448 +11492 +11536 +11580 +11624 +11668 +11712 +11756 +11800 +11844 +11889 +11933 +11977 +12021 +12065 +12110 +12154 +12198 +12242 +12286 +12331 +12375 +12419 +12464 +12508 +12552 +12596 +12641 +12685 +12729 +12774 +12818 +12862 +12907 +12951 +12995 +13040 +13084 +13129 +13173 +13217 +13262 +13306 +13351 +13395 +13439 +13484 +13528 +13573 +13617 +13661 +13706 +13750 +13795 +13839 +13883 +13928 +13972 +14017 +14061 +14106 +14150 +14194 +14239 +14283 +14328 +14372 +14417 +14461 +14505 +14550 +14594 +14639 +14683 +14727 +14772 +14816 +14861 +14905 +14949 +14994 +15038 +15082 +15127 +15171 +15215 +15260 +15304 +15348 +15393 +15437 +15481 +15526 +15570 +15614 +15658 +15703 +15747 +15791 +15835 +15880 +15924 +15968 +16012 +16056 +16100 +16145 +16189 +16233 +16277 +16321 +16365 +16409 +16453 +16497 +16541 +16585 +16629 +16673 +16717 +16761 +16805 +16849 +16893 +16937 +16981 +17025 +17069 +17113 +17156 +17200 +17244 +17288 +17332 +17375 +17419 +17463 +17506 +17550 +17594 +17637 +17681 +17725 +17768 +17812 +17855 +17899 +17942 +17986 +18029 +18072 +18116 +18159 +18203 +18246 +18289 +18332 +18376 +18419 +18462 +18505 +18549 +18592 +18635 +18678 +18721 +18764 +18807 +18850 +18893 +18936 +18979 +19022 +19064 +19107 +19150 +19193 +19236 +19278 +19321 +19364 +19406 +19449 +19491 +19534 +19576 +19619 +19661 +19704 +19746 +19788 +19831 +19873 +19915 +19957 +20000 +20042 +20084 +20126 +20168 +20210 +20252 +20294 +20336 +20378 +20420 +20461 +20503 +20545 +20587 +20628 +20670 +20712 +20753 +20795 +20836 +20878 +20919 +20960 +21002 +21043 +21084 +21125 +21167 +21208 +21249 +21290 +21331 +21372 +21413 +21454 +21495 +21535 +21576 +21617 +21658 +21698 +21739 +21779 +21820 +21860 +21901 +21941 +21982 +22022 +22062 +22102 +22142 +22183 +22223 +22263 +22303 +22343 +22383 +22422 +22462 +22502 +22542 +22581 +22621 +22660 +22700 +22739 +22779 +22818 +22858 +22897 +22936 +22975 +23014 +23053 +23092 +23131 +23170 +23209 +23248 +23287 +23326 +23364 +23403 +23441 +23480 +23518 +23557 +23595 +23633 +23672 +23710 +23748 +23786 +23824 +23862 +23900 +23938 +23976 +24013 +24051 +24089 +24126 +24164 +24201 +24239 +24276 +24313 +24351 +24388 +24425 +24462 +24499 +24536 +24573 +24610 +24647 +24683 +24720 +24756 +24793 +24830 +24866 +24902 +24939 +24975 +25011 +25047 +25083 +25119 +25155 +25191 +25227 +25262 +25298 +25334 +25369 +25405 +25440 +25476 +25511 +25546 +25581 +25616 +25651 +25686 +25721 +25756 +25791 +25826 +25860 +25895 +25929 +25964 +25998 +26033 +26067 +26101 +26135 +26169 +26203 +26237 +26271 +26305 +26338 +26372 +26405 +26439 +26472 +26506 +26539 +26572 +26605 +26638 +26671 +26704 +26737 +26770 +26803 +26835 +26868 +26900 +26933 +26965 +26997 +27030 +27062 +27094 +27126 +27158 +27189 +27221 +27253 +27285 +27316 +27348 +27379 +27410 +27441 +27473 +27504 +27535 +27566 +27597 +27627 +27658 +27689 +27719 +27750 +27780 +27810 +27841 +27871 +27901 +27931 +27961 +27991 +28020 +28050 +28080 +28109 +28139 +28168 +28197 +28227 +28256 +28285 +28314 +28343 +28371 +28400 +28429 +28457 +28486 +28514 +28543 +28571 +28599 +28627 +28655 +28683 +28711 +28738 +28766 +28794 +28821 +28849 +28876 +28903 +28930 +28957 +28984 +29011 +29038 +29065 +29092 +29118 +29145 +29171 +29197 +29223 +29250 +29276 +29302 +29327 +29353 +29379 +29405 +29430 +29456 +29481 +29506 +29531 +29556 +29581 +29606 +29631 +29656 +29681 +29705 +29730 +29754 +29778 +29802 +29827 +29851 +29874 +29898 +29922 +29946 +29969 +29993 +30016 +30039 +30063 +30086 +30109 +30132 +30155 +30177 +30200 +30223 +30245 +30267 +30290 +30312 +30334 +30356 +30378 +30400 +30422 +30443 +30465 +30486 +30508 +30529 +30550 +30571 +30592 +30613 +30634 +30654 +30675 +30696 +30716 +30736 +30756 +30777 +30797 +30817 +30836 +30856 +30876 +30895 +30915 +30934 +30953 +30973 +30992 +31011 +31030 +31048 +31067 +31086 +31104 +31123 +31141 +31159 +31177 +31195 +31213 +31231 +31249 +31266 +31284 +31301 +31318 +31336 +31353 +31370 +31387 +31404 +31420 +31437 +31453 +31470 +31486 +31502 +31519 +31535 +31551 +31566 +31582 +31598 +31613 +31629 +31644 +31659 +31674 +31689 +31704 +31719 +31734 +31749 +31763 +31777 +31792 +31806 +31820 +31834 +31848 +31862 +31876 +31889 +31903 +31916 +31929 +31943 +31956 +31969 +31982 +31994 +32007 +32020 +32032 +32045 +32057 +32069 +32081 +32093 +32105 +32117 +32128 +32140 +32151 +32163 +32174 +32185 +32196 +32207 +32218 +32229 +32239 +32250 +32260 +32270 +32281 +32291 +32301 +32311 +32320 +32330 +32340 +32349 +32358 +32368 +32377 +32386 +32395 +32404 +32412 +32421 +32430 +32438 +32446 +32455 +32463 +32471 +32479 +32486 +32494 +32502 +32509 +32516 +32524 +32531 +32538 +32545 +32552 +32558 +32565 +32572 +32578 +32584 +32590 +32597 +32603 +32608 +32614 +32620 +32625 +32631 +32636 +32642 +32647 +32652 +32657 +32661 +32666 +32671 +32675 +32680 +32684 +32688 +32692 +32696 +32700 +32704 +32707 +32711 +32714 +32718 +32721 +32724 +32727 +32730 +32733 +32735 +32738 +32740 +32743 +32745 +32747 +32749 +32751 +32753 +32755 +32756 +32758 +32759 +32760 +32762 +32763 +32764 +32764 +32765 +32766 +32766 +32767 +32767 +32767 +32767 +32767 +32767 +32767 +32767 +32766 +32766 +32765 +32764 +32764 +32763 +32762 +32760 +32759 +32758 +32756 +32755 +32753 +32751 +32749 +32747 +32745 +32743 +32740 +32738 +32735 +32733 +32730 +32727 +32724 +32721 +32718 +32714 +32711 +32707 +32704 +32700 +32696 +32692 +32688 +32684 +32680 +32675 +32671 +32666 +32661 +32657 +32652 +32647 +32642 +32636 +32631 +32625 +32620 +32614 +32608 +32603 +32597 +32590 +32584 +32578 +32572 +32565 +32558 +32552 +32545 +32538 +32531 +32524 +32516 +32509 +32502 +32494 +32486 +32479 +32471 +32463 +32455 +32446 +32438 +32430 +32421 +32412 +32404 +32395 +32386 +32377 +32368 +32358 +32349 +32340 +32330 +32320 +32311 +32301 +32291 +32281 +32270 +32260 +32250 +32239 +32229 +32218 +32207 +32196 +32185 +32174 +32163 +32151 +32140 +32128 +32117 +32105 +32093 +32081 +32069 +32057 +32045 +32032 +32020 +32007 +31994 +31982 +31969 +31956 +31943 +31929 +31916 +31903 +31889 +31876 +31862 +31848 +31834 +31820 +31806 +31792 +31777 +31763 +31749 +31734 +31719 +31704 +31689 +31674 +31659 +31644 +31629 +31613 +31598 +31582 +31566 +31551 +31535 +31519 +31502 +31486 +31470 +31453 +31437 +31420 +31404 +31387 +31370 +31353 +31336 +31318 +31301 +31284 +31266 +31249 +31231 +31213 +31195 +31177 +31159 +31141 +31123 +31104 +31086 +31067 +31048 +31030 +31011 +30992 +30973 +30953 +30934 +30915 +30895 +30876 +30856 +30836 +30817 +30797 +30777 +30756 +30736 +30716 +30696 +30675 +30654 +30634 +30613 +30592 +30571 +30550 +30529 +30508 +30486 +30465 +30443 +30422 +30400 +30378 +30356 +30334 +30312 +30290 +30267 +30245 +30223 +30200 +30177 +30155 +30132 +30109 +30086 +30063 +30039 +30016 +29993 +29969 +29946 +29922 +29898 +29874 +29851 +29827 +29802 +29778 +29754 +29730 +29705 +29681 +29656 +29631 +29606 +29581 +29556 +29531 +29506 +29481 +29456 +29430 +29405 +29379 +29353 +29327 +29302 +29276 +29250 +29223 +29197 +29171 +29145 +29118 +29092 +29065 +29038 +29011 +28984 +28957 +28930 +28903 +28876 +28849 +28821 +28794 +28766 +28738 +28711 +28683 +28655 +28627 +28599 +28571 +28543 +28514 +28486 +28457 +28429 +28400 +28371 +28343 +28314 +28285 +28256 +28227 +28197 +28168 +28139 +28109 +28080 +28050 +28020 +27991 +27961 +27931 +27901 +27871 +27841 +27810 +27780 +27750 +27719 +27689 +27658 +27627 +27597 +27566 +27535 +27504 +27473 +27441 +27410 +27379 +27348 +27316 +27285 +27253 +27221 +27189 +27158 +27126 +27094 +27062 +27030 +26997 +26965 +26933 +26900 +26868 +26835 +26803 +26770 +26737 +26704 +26671 +26638 +26605 +26572 +26539 +26506 +26472 +26439 +26405 +26372 +26338 +26305 +26271 +26237 +26203 +26169 +26135 +26101 +26067 +26033 +25998 +25964 +25929 +25895 +25860 +25826 +25791 +25756 +25721 +25686 +25651 +25616 +25581 +25546 +25511 +25476 +25440 +25405 +25369 +25334 +25298 +25262 +25227 +25191 +25155 +25119 +25083 +25047 +25011 +24975 +24939 +24902 +24866 +24830 +24793 +24756 +24720 +24683 +24647 +24610 +24573 +24536 +24499 +24462 +24425 +24388 +24351 +24313 +24276 +24239 +24201 +24164 +24126 +24089 +24051 +24013 +23976 +23938 +23900 +23862 +23824 +23786 +23748 +23710 +23672 +23633 +23595 +23557 +23518 +23480 +23441 +23403 +23364 +23326 +23287 +23248 +23209 +23170 +23131 +23092 +23053 +23014 +22975 +22936 +22897 +22858 +22818 +22779 +22739 +22700 +22660 +22621 +22581 +22542 +22502 +22462 +22422 +22383 +22343 +22303 +22263 +22223 +22183 +22142 +22102 +22062 +22022 +21982 +21941 +21901 +21860 +21820 +21779 +21739 +21698 +21658 +21617 +21576 +21535 +21495 +21454 +21413 +21372 +21331 +21290 +21249 +21208 +21167 +21125 +21084 +21043 +21002 +20960 +20919 +20878 +20836 +20795 +20753 +20712 +20670 +20628 +20587 +20545 +20503 +20461 +20420 +20378 +20336 +20294 +20252 +20210 +20168 +20126 +20084 +20042 +20000 +19957 +19915 +19873 +19831 +19788 +19746 +19704 +19661 +19619 +19576 +19534 +19491 +19449 +19406 +19364 +19321 +19278 +19236 +19193 +19150 +19107 +19064 +19022 +18979 +18936 +18893 +18850 +18807 +18764 +18721 +18678 +18635 +18592 +18549 +18505 +18462 +18419 +18376 +18332 +18289 +18246 +18203 +18159 +18116 +18072 +18029 +17986 +17942 +17899 +17855 +17812 +17768 +17725 +17681 +17637 +17594 +17550 +17506 +17463 +17419 +17375 +17332 +17288 +17244 +17200 +17156 +17113 +17069 +17025 +16981 +16937 +16893 +16849 +16805 +16761 +16717 +16673 +16629 +16585 +16541 +16497 +16453 +16409 +16365 +16321 +16277 +16233 +16189 +16145 +16100 +16056 +16012 +15968 +15924 +15880 +15835 +15791 +15747 +15703 +15658 +15614 +15570 +15526 +15481 +15437 +15393 +15348 +15304 +15260 +15215 +15171 +15127 +15082 +15038 +14994 +14949 +14905 +14861 +14816 +14772 +14727 +14683 +14639 +14594 +14550 +14505 +14461 +14417 +14372 +14328 +14283 +14239 +14194 +14150 +14106 +14061 +14017 +13972 +13928 +13883 +13839 +13795 +13750 +13706 +13661 +13617 +13573 +13528 +13484 +13439 +13395 +13351 +13306 +13262 +13217 +13173 +13129 +13084 +13040 +12995 +12951 +12907 +12862 +12818 +12774 +12729 +12685 +12641 +12596 +12552 +12508 +12464 +12419 +12375 +12331 +12286 +12242 +12198 +12154 +12110 +12065 +12021 +11977 +11933 +11889 +11844 +11800 +11756 +11712 +11668 +11624 +11580 +11536 +11492 +11448 +11404 +11360 +11316 +11272 +11228 +11184 +11140 +11096 +11052 +11008 +10964 +10920 +10876 +10832 +10789 +10745 +10701 +10657 +10614 +10570 +10526 +10482 +10439 +10395 +10351 +10308 +10264 +10221 +10177 +10133 +10090 +10046 +10003 +9960 +9916 +9873 +9829 +9786 +9743 +9699 +9656 +9613 +9569 +9526 +9483 +9440 +9396 +9353 +9310 +9267 +9224 +9181 +9138 +9095 +9052 +9009 +8966 +8923 +8880 +8837 +8795 +8752 +8709 +8666 +8624 +8581 +8538 +8496 +8453 +8410 +8368 +8325 +8283 +8240 +8198 +8156 +8113 +8071 +8029 +7986 +7944 +7902 +7860 +7818 +7775 +7733 +7691 +7649 +7607 +7565 +7523 +7481 +7440 +7398 +7356 +7314 +7272 +7231 +7189 +7148 +7106 +7064 +7023 +6981 +6940 +6899 +6857 +6816 +6774 +6733 +6692 +6651 +6610 +6569 +6527 +6486 +6445 +6404 +6364 +6323 +6282 +6241 +6200 +6159 +6119 +6078 +6037 +5997 +5956 +5916 +5875 +5835 +5795 +5754 +5714 +5674 +5634 +5593 +5553 +5513 +5473 +5433 +5393 +5353 +5313 +5274 +5234 +5194 +5154 +5115 +5075 +5036 +4996 +4957 +4917 +4878 +4839 +4799 +4760 +4721 +4682 +4643 +4603 +4564 +4526 +4487 +4448 +4409 +4370 +4331 +4293 +4254 +4216 +4177 +4138 +4100 +4062 +4023 +3985 +3947 +3909 +3870 +3832 +3794 +3756 +3718 +3681 +3643 +3605 +3567 +3529 +3492 +3454 +3417 +3379 +3342 +3304 +3267 +3230 +3193 +3155 +3118 +3081 +3044 +3007 +2970 +2934 +2897 +2860 +2823 +2787 +2750 +2714 +2677 +2641 +2604 +2568 +2532 +2496 +2460 +2424 +2388 +2352 +2316 +2280 +2244 +2208 +2173 +2137 +2101 +2066 +2031 +1995 +1960 +1925 +1889 +1854 +1819 +1784 +1749 +1714 +1679 +1644 +1610 +1575 +1540 +1506 +1471 +1437 +1402 +1368 +1334 +1300 +1266 +1231 +1197 +1163 +1130 +1096 +1062 +1028 +995 +961 +927 +894 +861 +827 +794 +761 +728 +694 +661 +628 +596 +563 +530 +497 +465 +432 +399 +367 +335 +302 +270 +238 +206 +174 +142 +110 +78 +46 +14 +-17 +-49 +-81 +-112 +-143 +-175 +-206 +-237 +-268 +-300 +-331 +-362 +-392 +-423 +-454 +-485 +-515 +-546 +-576 +-607 +-637 +-667 +-698 +-728 +-758 +-788 +-818 +-848 +-877 +-907 +-937 +-966 +-996 +-1025 +-1055 +-1084 +-1113 +-1142 +-1172 +-1201 +-1230 +-1258 +-1287 +-1316 +-1345 +-1373 +-1402 +-1430 +-1459 +-1487 +-1515 +-1544 +-1572 +-1600 +-1628 +-1656 +-1683 +-1711 +-1739 +-1767 +-1794 +-1822 +-1849 +-1876 +-1904 +-1931 +-1958 +-1985 +-2012 +-2039 +-2066 +-2092 +-2119 +-2146 +-2172 +-2199 +-2225 +-2251 +-2278 +-2304 +-2330 +-2356 +-2382 +-2408 +-2434 +-2459 +-2485 +-2511 +-2536 +-2562 +-2587 +-2612 +-2638 +-2663 +-2688 +-2713 +-2738 +-2763 +-2787 +-2812 +-2837 +-2861 +-2886 +-2910 +-2934 +-2959 +-2983 +-3007 +-3031 +-3055 +-3079 +-3103 +-3126 +-3150 +-3174 +-3197 +-3221 +-3244 +-3267 +-3290 +-3314 +-3337 +-3360 +-3383 +-3405 +-3428 +-3451 +-3473 +-3496 +-3518 +-3541 +-3563 +-3585 +-3607 +-3629 +-3651 +-3673 +-3695 +-3717 +-3739 +-3760 +-3782 +-3803 +-3825 +-3846 +-3867 +-3888 +-3909 +-3930 +-3951 +-3972 +-3993 +-4014 +-4034 +-4055 +-4075 +-4096 +-4116 +-4136 +-4156 +-4176 +-4196 +-4216 +-4236 +-4256 +-4276 +-4295 +-4315 +-4334 +-4354 +-4373 +-4392 +-4411 +-4430 +-4449 +-4468 +-4487 +-4506 +-4524 +-4543 +-4562 +-4580 +-4598 +-4617 +-4635 +-4653 +-4671 +-4689 +-4707 +-4725 +-4743 +-4760 +-4778 +-4795 +-4813 +-4830 +-4847 +-4865 +-4882 +-4899 +-4916 +-4933 +-4950 +-4966 +-4983 +-4999 +-5016 +-5032 +-5049 +-5065 +-5081 +-5097 +-5113 +-5129 +-5145 +-5161 +-5177 +-5192 +-5208 +-5223 +-5239 +-5254 +-5269 +-5285 +-5300 +-5315 +-5330 +-5345 +-5359 +-5374 +-5389 +-5403 +-5418 +-5432 +-5447 +-5461 +-5475 +-5489 +-5503 +-5517 +-5531 +-5545 +-5558 +-5572 +-5585 +-5599 +-5612 +-5626 +-5639 +-5652 +-5665 +-5678 +-5691 +-5704 +-5717 +-5729 +-5742 +-5755 +-5767 +-5779 +-5792 +-5804 +-5816 +-5828 +-5840 +-5852 +-5864 +-5876 +-5887 +-5899 +-5911 +-5922 +-5933 +-5945 +-5956 +-5967 +-5978 +-5989 +-6000 +-6011 +-6022 +-6032 +-6043 +-6054 +-6064 +-6074 +-6085 +-6095 +-6105 +-6115 +-6125 +-6135 +-6145 +-6155 +-6164 +-6174 +-6184 +-6193 +-6202 +-6212 +-6221 +-6230 +-6239 +-6248 +-6257 +-6266 +-6275 +-6284 +-6292 +-6301 +-6309 +-6318 +-6326 +-6334 +-6343 +-6351 +-6359 +-6367 +-6374 +-6382 +-6390 +-6398 +-6405 +-6413 +-6420 +-6428 +-6435 +-6442 +-6449 +-6456 +-6463 +-6470 +-6477 +-6484 +-6491 +-6497 +-6504 +-6510 +-6517 +-6523 +-6529 +-6535 +-6541 +-6547 +-6553 +-6559 +-6565 +-6571 +-6576 +-6582 +-6588 +-6593 +-6598 +-6604 +-6609 +-6614 +-6619 +-6624 +-6629 +-6634 +-6639 +-6643 +-6648 +-6653 +-6657 +-6662 +-6666 +-6670 +-6674 +-6679 +-6683 +-6687 +-6691 +-6694 +-6698 +-6702 +-6706 +-6709 +-6713 +-6716 +-6719 +-6723 +-6726 +-6729 +-6732 +-6735 +-6738 +-6741 +-6744 +-6747 +-6749 +-6752 +-6754 +-6757 +-6759 +-6761 +-6764 +-6766 +-6768 +-6770 +-6772 +-6774 +-6776 +-6777 +-6779 +-6781 +-6782 +-6784 +-6785 +-6786 +-6788 +-6789 +-6790 +-6791 +-6792 +-6793 +-6794 +-6795 +-6795 +-6796 +-6797 +-6797 +-6798 +-6798 +-6798 +-6799 +-6799 +-6799 +-6799 +-6799 +-6799 +-6799 +-6799 +-6798 +-6798 +-6798 +-6797 +-6797 +-6796 +-6795 +-6795 +-6794 +-6793 +-6792 +-6791 +-6790 +-6789 +-6788 +-6787 +-6785 +-6784 +-6783 +-6781 +-6779 +-6778 +-6776 +-6774 +-6773 +-6771 +-6769 +-6767 +-6765 +-6763 +-6760 +-6758 +-6756 +-6753 +-6751 +-6748 +-6746 +-6743 +-6741 +-6738 +-6735 +-6732 +-6729 +-6726 +-6723 +-6720 +-6717 +-6714 +-6710 +-6707 +-6703 +-6700 +-6696 +-6693 +-6689 +-6685 +-6682 +-6678 +-6674 +-6670 +-6666 +-6662 +-6658 +-6654 +-6649 +-6645 +-6641 +-6636 +-6632 +-6627 +-6623 +-6618 +-6613 +-6608 +-6604 +-6599 +-6594 +-6589 +-6584 +-6579 +-6573 +-6568 +-6563 +-6558 +-6552 +-6547 +-6541 +-6536 +-6530 +-6524 +-6519 +-6513 +-6507 +-6501 +-6495 +-6489 +-6483 +-6477 +-6471 +-6464 +-6458 +-6452 +-6445 +-6439 +-6433 +-6426 +-6419 +-6413 +-6406 +-6399 +-6392 +-6386 +-6379 +-6372 +-6365 +-6358 +-6350 +-6343 +-6336 +-6329 +-6321 +-6314 +-6307 +-6299 +-6292 +-6284 +-6276 +-6269 +-6261 +-6253 +-6245 +-6238 +-6230 +-6222 +-6214 +-6205 +-6197 +-6189 +-6181 +-6173 +-6164 +-6156 +-6148 +-6139 +-6131 +-6122 +-6113 +-6105 +-6096 +-6087 +-6078 +-6070 +-6061 +-6052 +-6043 +-6034 +-6025 +-6016 +-6006 +-5997 +-5988 +-5979 +-5969 +-5960 +-5950 +-5941 +-5931 +-5922 +-5912 +-5903 +-5893 +-5883 +-5873 +-5863 +-5854 +-5844 +-5834 +-5824 +-5814 +-5804 +-5793 +-5783 +-5773 +-5763 +-5752 +-5742 +-5732 +-5721 +-5711 +-5700 +-5690 +-5679 +-5668 +-5658 +-5647 +-5636 +-5626 +-5615 +-5604 +-5593 +-5582 +-5571 +-5560 +-5549 +-5538 +-5527 +-5515 +-5504 +-5493 +-5482 +-5470 +-5459 +-5447 +-5436 +-5424 +-5413 +-5401 +-5390 +-5378 +-5366 +-5355 +-5343 +-5331 +-5319 +-5308 +-5296 +-5284 +-5272 +-5260 +-5248 +-5236 +-5224 +-5211 +-5199 +-5187 +-5175 +-5162 +-5150 +-5138 +-5125 +-5113 +-5101 +-5088 +-5076 +-5063 +-5051 +-5038 +-5025 +-5013 +-5000 +-4987 +-4974 +-4962 +-4949 +-4936 +-4923 +-4910 +-4897 +-4884 +-4871 +-4858 +-4845 +-4832 +-4819 +-4806 +-4793 +-4779 +-4766 +-4753 +-4740 +-4726 +-4713 +-4699 +-4686 +-4673 +-4659 +-4646 +-4632 +-4619 +-4605 +-4591 +-4578 +-4564 +-4550 +-4537 +-4523 +-4509 +-4495 +-4482 +-4468 +-4454 +-4440 +-4426 +-4412 +-4398 +-4384 +-4370 +-4356 +-4342 +-4328 +-4314 +-4300 +-4286 +-4271 +-4257 +-4243 +-4229 +-4215 +-4200 +-4186 +-4172 +-4157 +-4143 +-4128 +-4114 +-4100 +-4085 +-4071 +-4056 +-4042 +-4027 +-4012 +-3998 +-3983 +-3969 +-3954 +-3939 +-3925 +-3910 +-3895 +-3881 +-3866 +-3851 +-3836 +-3821 +-3807 +-3792 +-3777 +-3762 +-3747 +-3732 +-3717 +-3702 +-3687 +-3672 +-3657 +-3642 +-3627 +-3612 +-3597 +-3582 +-3567 +-3552 +-3537 +-3521 +-3506 +-3491 +-3476 +-3461 +-3446 +-3430 +-3415 +-3400 +-3385 +-3369 +-3354 +-3339 +-3323 +-3308 +-3293 +-3277 +-3262 +-3246 +-3231 +-3216 +-3200 +-3185 +-3169 +-3154 +-3138 +-3123 +-3107 +-3092 +-3076 +-3061 +-3045 +-3030 +-3014 +-2999 +-2983 +-2968 +-2952 +-2936 +-2921 +-2905 +-2890 +-2874 +-2858 +-2843 +-2827 +-2811 +-2796 +-2780 +-2764 +-2749 +-2733 +-2717 +-2701 +-2686 +-2670 +-2654 +-2639 +-2623 +-2607 +-2591 +-2576 +-2560 +-2544 +-2528 +-2512 +-2497 +-2481 +-2465 +-2449 +-2433 +-2418 +-2402 +-2386 +-2370 +-2354 +-2339 +-2323 +-2307 +-2291 +-2275 +-2259 +-2244 +-2228 +-2212 +-2196 +-2180 +-2164 +-2148 +-2133 +-2117 +-2101 +-2085 +-2069 +-2053 +-2037 +-2022 +-2006 +-1990 +-1974 +-1958 +-1942 +-1926 +-1911 +-1895 +-1879 +-1863 +-1847 +-1831 +-1815 +-1800 +-1784 +-1768 +-1752 +-1736 +-1720 +-1705 +-1689 +-1673 +-1657 +-1641 +-1625 +-1610 +-1594 +-1578 +-1562 +-1546 +-1531 +-1515 +-1499 +-1483 +-1467 +-1452 +-1436 +-1420 +-1404 +-1389 +-1373 +-1357 +-1341 +-1326 +-1310 +-1294 +-1278 +-1263 +-1247 +-1231 +-1216 +-1200 +-1184 +-1169 +-1153 +-1137 +-1122 +-1106 +-1091 +-1075 +-1059 +-1044 +-1028 +-1013 +-997 +-981 +-966 +-950 +-935 +-919 +-904 +-888 +-873 +-857 +-842 +-826 +-811 +-795 +-780 +-765 +-749 +-734 +-718 +-703 +-688 +-672 +-657 +-642 +-626 +-611 +-596 +-580 +-565 +-550 +-535 +-519 +-504 +-489 +-474 +-459 +-443 +-428 +-413 +-398 +-383 +-368 +-353 +-338 +-323 +-308 +-293 +-278 +-263 +-248 +-233 +-218 +-203 +-188 +-173 +-158 +-143 +-128 +-114 +-99 +-84 +-69 +-54 +-40 +-25 +-10 +5 +19 +34 +49 +63 +78 +92 +107 +122 +136 +151 +165 +180 +194 +209 +223 +237 +252 +266 +280 +295 +309 +323 +338 +352 +366 +380 +395 +409 +423 +437 +451 +465 +479 +493 +507 +521 +535 +549 +563 +577 +591 +605 +619 +633 +647 +660 +674 +688 +702 +715 +729 +743 +756 +770 +783 +797 +811 +824 +838 +851 +864 +878 +891 +905 +918 +931 +945 +958 +971 +984 +998 +1011 +1024 +1037 +1050 +1063 +1076 +1089 +1102 +1115 +1128 +1141 +1154 +1167 +1180 +1193 +1205 +1218 +1231 +1244 +1256 +1269 +1282 +1294 +1307 +1319 +1332 +1344 +1357 +1369 +1382 +1394 +1407 +1419 +1431 +1443 +1456 +1468 +1480 +1492 +1504 +1517 +1529 +1541 +1553 +1565 +1577 +1589 +1601 +1612 +1624 +1636 +1648 +1660 +1671 +1683 +1695 +1707 +1718 +1730 +1741 +1753 +1764 +1776 +1787 +1799 +1810 +1821 +1833 +1844 +1855 +1867 +1878 +1889 +1900 +1911 +1922 +1933 +1944 +1955 +1966 +1977 +1988 +1999 +2010 +2021 +2031 +2042 +2053 +2063 +2074 +2085 +2095 +2106 +2116 +2127 +2137 +2148 +2158 +2168 +2179 +2189 +2199 +2209 +2220 +2230 +2240 +2250 +2260 +2270 +2280 +2290 +2300 +2310 +2320 +2330 +2339 +2349 +2359 +2369 +2378 +2388 +2397 +2407 +2417 +2426 +2435 +2445 +2454 +2464 +2473 +2482 +2491 +2501 +2510 +2519 +2528 +2537 +2546 +2555 +2564 +2573 +2582 +2591 +2600 +2609 +2617 +2626 +2635 +2644 +2652 +2661 +2669 +2678 +2686 +2695 +2703 +2712 +2720 +2728 +2737 +2745 +2753 +2761 +2769 +2777 +2785 +2793 +2801 +2809 +2817 +2825 +2833 +2841 +2849 +2856 +2864 +2872 +2879 +2887 +2895 +2902 +2910 +2917 +2925 +2932 +2939 +2947 +2954 +2961 +2968 +2975 +2983 +2990 +2997 +3004 +3011 +3018 +3025 +3031 +3038 +3045 +3052 +3059 +3065 +3072 +3079 +3085 +3092 +3098 +3105 +3111 +3117 +3124 +3130 +3136 +3143 +3149 +3155 +3161 +3167 +3173 +3179 +3185 +3191 +3197 +3203 +3209 +3215 +3221 +3226 +3232 +3238 +3243 +3249 +3254 +3260 +3265 +3271 +3276 +3282 +3287 +3292 +3297 +3303 +3308 +3313 +3318 +3323 +3328 +3333 +3338 +3343 +3348 +3353 +3357 +3362 +3367 +3372 +3376 +3381 +3385 +3390 +3395 +3399 +3403 +3408 +3412 +3416 +3421 +3425 +3429 +3433 +3437 +3442 +3446 +3450 +3454 +3458 +3461 +3465 +3469 +3473 +3477 +3480 +3484 +3488 +3491 +3495 +3498 +3502 +3505 +3509 +3512 +3515 +3519 +3522 +3525 +3528 +3532 +3535 +3538 +3541 +3544 +3547 +3550 +3553 +3556 +3558 +3561 +3564 +3567 +3569 +3572 +3575 +3577 +3580 +3582 +3585 +3587 +3589 +3592 +3594 +3596 +3598 +3601 +3603 +3605 +3607 +3609 +3611 +3613 +3615 +3617 +3619 +3621 +3622 +3624 +3626 +3627 +3629 +3631 +3632 +3634 +3635 +3637 +3638 +3640 +3641 +3642 +3644 +3645 +3646 +3647 +3648 +3649 +3650 +3651 +3652 +3653 +3654 +3655 +3656 +3657 +3658 +3658 +3659 +3660 +3660 +3661 +3662 +3662 +3663 +3663 +3663 +3664 +3664 +3664 +3665 +3665 +3665 +3665 +3665 +3666 +3666 +3666 +3666 +3666 +3665 +3665 +3665 +3665 +3665 +3665 +3664 +3664 +3664 +3663 +3663 +3662 +3662 +3661 +3661 +3660 +3659 +3659 +3658 +3657 +3657 +3656 +3655 +3654 +3653 +3652 +3651 +3650 +3649 +3648 +3647 +3646 +3645 +3643 +3642 +3641 +3640 +3638 +3637 +3635 +3634 +3633 +3631 +3630 +3628 +3626 +3625 +3623 +3621 +3620 +3618 +3616 +3614 +3612 +3610 +3608 +3606 +3604 +3602 +3600 +3598 +3596 +3594 +3592 +3589 +3587 +3585 +3583 +3580 +3578 +3575 +3573 +3570 +3568 +3565 +3563 +3560 +3557 +3555 +3552 +3549 +3547 +3544 +3541 +3538 +3535 +3532 +3529 +3526 +3523 +3520 +3517 +3514 +3511 +3508 +3505 +3501 +3498 +3495 +3491 +3488 +3485 +3481 +3478 +3474 +3471 +3467 +3464 +3460 +3457 +3453 +3449 +3446 +3442 +3438 +3434 +3430 +3427 +3423 +3419 +3415 +3411 +3407 +3403 +3399 +3395 +3391 +3387 +3382 +3378 +3374 +3370 +3365 +3361 +3357 +3352 +3348 +3344 +3339 +3335 +3330 +3326 +3321 +3317 +3312 +3307 +3303 +3298 +3293 +3289 +3284 +3279 +3274 +3269 +3264 +3260 +3255 +3250 +3245 +3240 +3235 +3230 +3224 +3219 +3214 +3209 +3204 +3199 +3193 +3188 +3183 +3178 +3172 +3167 +3162 +3156 +3151 +3145 +3140 +3134 +3129 +3123 +3118 +3112 +3106 +3101 +3095 +3089 +3084 +3078 +3072 +3066 +3060 +3055 +3049 +3043 +3037 +3031 +3025 +3019 +3013 +3007 +3001 +2995 +2989 +2983 +2977 +2970 +2964 +2958 +2952 +2945 +2939 +2933 +2927 +2920 +2914 +2908 +2901 +2895 +2888 +2882 +2875 +2869 +2862 +2856 +2849 +2843 +2836 +2829 +2823 +2816 +2809 +2803 +2796 +2789 +2782 +2776 +2769 +2762 +2755 +2748 +2741 +2734 +2727 +2720 +2714 +2707 +2700 +2692 +2685 +2678 +2671 +2664 +2657 +2650 +2643 +2636 +2628 +2621 +2614 +2607 +2599 +2592 +2585 +2578 +2570 +2563 +2556 +2548 +2541 +2533 +2526 +2518 +2511 +2504 +2496 +2489 +2481 +2473 +2466 +2458 +2451 +2443 +2435 +2428 +2420 +2412 +2405 +2397 +2389 +2382 +2374 +2366 +2358 +2351 +2343 +2335 +2327 +2319 +2311 +2303 +2296 +2288 +2280 +2272 +2264 +2256 +2248 +2240 +2232 +2224 +2216 +2208 +2200 +2192 +2183 +2175 +2167 +2159 +2151 +2143 +2135 +2127 +2118 +2110 +2102 +2094 +2085 +2077 +2069 +2061 +2052 +2044 +2036 +2027 +2019 +2011 +2002 +1994 +1986 +1977 +1969 +1961 +1952 +1944 +1935 +1927 +1918 +1910 +1901 +1893 +1884 +1876 +1867 +1859 +1850 +1842 +1833 +1825 +1816 +1808 +1799 +1790 +1782 +1773 +1765 +1756 +1747 +1739 +1730 +1721 +1713 +1704 +1695 +1687 +1678 +1669 +1660 +1652 +1643 +1634 +1625 +1617 +1608 +1599 +1590 +1582 +1573 +1564 +1555 +1546 +1538 +1529 +1520 +1511 +1502 +1493 +1485 +1476 +1467 +1458 +1449 +1440 +1431 +1423 +1414 +1405 +1396 +1387 +1378 +1369 +1360 +1351 +1342 +1333 +1324 +1316 +1307 +1298 +1289 +1280 +1271 +1262 +1253 +1244 +1235 +1226 +1217 +1208 +1199 +1190 +1181 +1172 +1163 +1154 +1145 +1136 +1127 +1118 +1109 +1100 +1091 +1082 +1073 +1064 +1055 +1046 +1037 +1028 +1019 +1010 +1001 +992 +983 +974 +965 +956 +947 +938 +929 +920 +910 +901 +892 +883 +874 +865 +856 +847 +838 +829 +820 +811 +802 +793 +784 +775 +766 +757 +748 +739 +730 +721 +712 +703 +694 +685 +676 +667 +658 +649 +640 +631 +622 +613 +604 +595 +586 +577 +568 +559 +550 +541 +532 +523 +514 +505 +496 +488 +479 +470 +461 +452 +443 +434 +425 +416 +407 +398 +389 +381 +372 +363 +354 +345 +336 +327 +318 +310 +301 +292 +283 +274 +265 +257 +248 +239 +230 +221 +213 +204 +195 +186 +178 +169 +160 +151 +143 +134 +125 +116 +108 +99 +90 +82 +73 +64 +56 +47 +38 +30 +21 +12 +4 +-5 +-13 +-22 +-30 +-39 +-48 +-56 +-65 +-73 +-82 +-90 +-99 +-107 +-116 +-124 +-133 +-141 +-150 +-158 +-167 +-175 +-183 +-192 +-200 +-209 +-217 +-225 +-234 +-242 +-250 +-259 +-267 +-275 +-284 +-292 +-300 +-309 +-317 +-325 +-333 +-342 +-350 +-358 +-366 +-374 +-382 +-391 +-399 +-407 +-415 +-423 +-431 +-439 +-447 +-456 +-464 +-472 +-480 +-488 +-496 +-504 +-512 +-520 +-528 +-536 +-543 +-551 +-559 +-567 +-575 +-583 +-591 +-599 +-606 +-614 +-622 +-630 +-638 +-645 +-653 +-661 +-669 +-676 +-684 +-692 +-699 +-707 +-715 +-722 +-730 +-738 +-745 +-753 +-760 +-768 +-775 +-783 +-790 +-798 +-805 +-813 +-820 +-828 +-835 +-842 +-850 +-857 +-865 +-872 +-879 +-887 +-894 +-901 +-908 +-916 +-923 +-930 +-937 +-945 +-952 +-959 +-966 +-973 +-980 +-987 +-994 +-1001 +-1009 +-1016 +-1023 +-1030 +-1037 +-1044 +-1050 +-1057 +-1064 +-1071 +-1078 +-1085 +-1092 +-1099 +-1105 +-1112 +-1119 +-1126 +-1133 +-1139 +-1146 +-1153 +-1159 +-1166 +-1173 +-1179 +-1186 +-1193 +-1199 +-1206 +-1212 +-1219 +-1225 +-1232 +-1238 +-1245 +-1251 +-1258 +-1264 +-1270 +-1277 +-1283 +-1289 +-1296 +-1302 +-1308 +-1315 +-1321 +-1327 +-1333 +-1339 +-1346 +-1352 +-1358 +-1364 +-1370 +-1376 +-1382 +-1388 +-1394 +-1400 +-1406 +-1412 +-1418 +-1424 +-1430 +-1436 +-1442 +-1448 +-1454 +-1459 +-1465 +-1471 +-1477 +-1482 +-1488 +-1494 +-1500 +-1505 +-1511 +-1516 +-1522 +-1528 +-1533 +-1539 +-1544 +-1550 +-1555 +-1561 +-1566 +-1572 +-1577 +-1582 +-1588 +-1593 +-1599 +-1604 +-1609 +-1614 +-1620 +-1625 +-1630 +-1635 +-1640 +-1646 +-1651 +-1656 +-1661 +-1666 +-1671 +-1676 +-1681 +-1686 +-1691 +-1696 +-1701 +-1706 +-1711 +-1716 +-1720 +-1725 +-1730 +-1735 +-1740 +-1744 +-1749 +-1754 +-1758 +-1763 +-1768 +-1772 +-1777 +-1782 +-1786 +-1791 +-1795 +-1800 +-1804 +-1809 +-1813 +-1817 +-1822 +-1826 +-1830 +-1835 +-1839 +-1843 +-1848 +-1852 +-1856 +-1860 +-1864 +-1869 +-1873 +-1877 +-1881 +-1885 +-1889 +-1893 +-1897 +-1901 +-1905 +-1909 +-1913 +-1917 +-1921 +-1925 +-1928 +-1932 +-1936 +-1940 +-1944 +-1947 +-1951 +-1955 +-1958 +-1962 +-1966 +-1969 +-1973 +-1976 +-1980 +-1983 +-1987 +-1990 +-1994 +-1997 +-2001 +-2004 +-2007 +-2011 +-2014 +-2017 +-2021 +-2024 +-2027 +-2030 +-2033 +-2037 +-2040 +-2043 +-2046 +-2049 +-2052 +-2055 +-2058 +-2061 +-2064 +-2067 +-2070 +-2073 +-2076 +-2079 +-2081 +-2084 +-2087 +-2090 +-2092 +-2095 +-2098 +-2101 +-2103 +-2106 +-2108 +-2111 +-2114 +-2116 +-2119 +-2121 +-2124 +-2126 +-2129 +-2131 +-2133 +-2136 +-2138 +-2140 +-2143 +-2145 +-2147 +-2150 +-2152 +-2154 +-2156 +-2158 +-2160 +-2162 +-2165 +-2167 +-2169 +-2171 +-2173 +-2175 +-2177 +-2179 +-2180 +-2182 +-2184 +-2186 +-2188 +-2190 +-2191 +-2193 +-2195 +-2197 +-2198 +-2200 +-2202 +-2203 +-2205 +-2206 +-2208 +-2209 +-2211 +-2212 +-2214 +-2215 +-2217 +-2218 +-2220 +-2221 +-2222 +-2224 +-2225 +-2226 +-2227 +-2229 +-2230 +-2231 +-2232 +-2233 +-2234 +-2236 +-2237 +-2238 +-2239 +-2240 +-2241 +-2242 +-2243 +-2244 +-2244 +-2245 +-2246 +-2247 +-2248 +-2249 +-2249 +-2250 +-2251 +-2252 +-2252 +-2253 +-2254 +-2254 +-2255 +-2255 +-2256 +-2256 +-2257 +-2257 +-2258 +-2258 +-2259 +-2259 +-2260 +-2260 +-2260 +-2261 +-2261 +-2261 +-2261 +-2262 +-2262 +-2262 +-2262 +-2262 +-2263 +-2263 +-2263 +-2263 +-2263 +-2263 +-2263 +-2263 +-2263 +-2263 +-2263 +-2263 +-2262 +-2262 +-2262 +-2262 +-2262 +-2261 +-2261 +-2261 +-2261 +-2260 +-2260 +-2260 +-2259 +-2259 +-2259 +-2258 +-2258 +-2257 +-2257 +-2256 +-2256 +-2255 +-2254 +-2254 +-2253 +-2253 +-2252 +-2251 +-2251 +-2250 +-2249 +-2248 +-2248 +-2247 +-2246 +-2245 +-2244 +-2243 +-2242 +-2242 +-2241 +-2240 +-2239 +-2238 +-2237 +-2236 +-2235 +-2233 +-2232 +-2231 +-2230 +-2229 +-2228 +-2227 +-2225 +-2224 +-2223 +-2222 +-2220 +-2219 +-2218 +-2216 +-2215 +-2214 +-2212 +-2211 +-2209 +-2208 +-2206 +-2205 +-2203 +-2202 +-2200 +-2199 +-2197 +-2195 +-2194 +-2192 +-2190 +-2189 +-2187 +-2185 +-2184 +-2182 +-2180 +-2178 +-2176 +-2174 +-2173 +-2171 +-2169 +-2167 +-2165 +-2163 +-2161 +-2159 +-2157 +-2155 +-2153 +-2151 +-2149 +-2147 +-2145 +-2142 +-2140 +-2138 +-2136 +-2134 +-2132 +-2129 +-2127 +-2125 +-2122 +-2120 +-2118 +-2116 +-2113 +-2111 +-2108 +-2106 +-2104 +-2101 +-2099 +-2096 +-2094 +-2091 +-2089 +-2086 +-2083 +-2081 +-2078 +-2076 +-2073 +-2070 +-2068 +-2065 +-2062 +-2060 +-2057 +-2054 +-2051 +-2049 +-2046 +-2043 +-2040 +-2037 +-2034 +-2031 +-2029 +-2026 +-2023 +-2020 +-2017 +-2014 +-2011 +-2008 +-2005 +-2002 +-1999 +-1996 +-1992 +-1989 +-1986 +-1983 +-1980 +-1977 +-1974 +-1970 +-1967 +-1964 +-1961 +-1957 +-1954 +-1951 +-1948 +-1944 +-1941 +-1938 +-1934 +-1931 +-1927 +-1924 +-1921 +-1917 +-1914 +-1910 +-1907 +-1903 +-1900 +-1896 +-1893 +-1889 +-1886 +-1882 +-1878 +-1875 +-1871 +-1868 +-1864 +-1860 +-1857 +-1853 +-1849 +-1845 +-1842 +-1838 +-1834 +-1830 +-1827 +-1823 +-1819 +-1815 +-1811 +-1807 +-1804 +-1800 +-1796 +-1792 +-1788 +-1784 +-1780 +-1776 +-1772 +-1768 +-1764 +-1760 +-1756 +-1752 +-1748 +-1744 +-1740 +-1736 +-1732 +-1728 +-1724 +-1719 +-1715 +-1711 +-1707 +-1703 +-1699 +-1694 +-1690 +-1686 +-1682 +-1677 +-1673 +-1669 +-1665 +-1660 +-1656 +-1652 +-1647 +-1643 +-1639 +-1634 +-1630 +-1625 +-1621 +-1617 +-1612 +-1608 +-1603 +-1599 +-1594 +-1590 +-1586 +-1581 +-1577 +-1572 +-1567 +-1563 +-1558 +-1554 +-1549 +-1545 +-1540 +-1535 +-1531 +-1526 +-1522 +-1517 +-1512 +-1508 +-1503 +-1498 +-1494 +-1489 +-1484 +-1480 +-1475 +-1470 +-1465 +-1461 +-1456 +-1451 +-1446 +-1441 +-1437 +-1432 +-1427 +-1422 +-1417 +-1413 +-1408 +-1403 +-1398 +-1393 +-1388 +-1383 +-1378 +-1374 +-1369 +-1364 +-1359 +-1354 +-1349 +-1344 +-1339 +-1334 +-1329 +-1324 +-1319 +-1314 +-1309 +-1304 +-1299 +-1294 +-1289 +-1284 +-1279 +-1274 +-1269 +-1264 +-1258 +-1253 +-1248 +-1243 +-1238 +-1233 +-1228 +-1223 +-1218 +-1212 +-1207 +-1202 +-1197 +-1192 +-1187 +-1181 +-1176 +-1171 +-1166 +-1161 +-1155 +-1150 +-1145 +-1140 +-1135 +-1129 +-1124 +-1119 +-1114 +-1108 +-1103 +-1098 +-1092 +-1087 +-1082 +-1077 +-1071 +-1066 +-1061 +-1055 +-1050 +-1045 +-1039 +-1034 +-1029 +-1023 +-1018 +-1013 +-1007 +-1002 +-997 +-991 +-986 +-980 +-975 +-970 +-964 +-959 +-953 +-948 +-943 +-937 +-932 +-926 +-921 +-916 +-910 +-905 +-899 +-894 +-888 +-883 +-877 +-872 +-867 +-861 +-856 +-850 +-845 +-839 +-834 +-828 +-823 +-817 +-812 +-806 +-801 +-795 +-790 +-784 +-779 +-773 +-768 +-762 +-757 +-751 +-746 +-740 +-735 +-729 +-724 +-718 +-713 +-707 +-702 +-696 +-691 +-685 +-680 +-674 +-669 +-663 +-658 +-652 +-646 +-641 +-635 +-630 +-624 +-619 +-613 +-608 +-602 +-597 +-591 +-585 +-580 +-574 +-569 +-563 +-558 +-552 +-547 +-541 +-536 +-530 +-524 +-519 +-513 +-508 +-502 +-497 +-491 +-486 +-480 +-475 +-469 +-464 +-458 +-452 +-447 +-441 +-436 +-430 +-425 +-419 +-414 +-408 +-403 +-397 +-392 +-386 +-381 +-375 +-369 +-364 +-358 +-353 +-347 +-342 +-336 +-331 +-325 +-320 +-314 +-309 +-303 +-298 +-292 +-287 +-281 +-276 +-270 +-265 +-259 +-254 +-248 +-243 +-238 +-232 +-227 +-221 +-216 +-210 +-205 +-199 +-194 +-188 +-183 +-178 +-172 +-167 +-161 +-156 +-150 +-145 +-140 +-134 +-129 +-123 +-118 +-113 +-107 +-102 +-96 +-91 +-86 +-80 +-75 +-70 +-64 +-59 +-53 +-48 +-43 +-37 +-32 +-27 +-21 +-16 +-11 +-5 +0 +5 +10 +16 +21 +26 +32 +37 +42 +47 +53 +58 +63 +68 +74 +79 +84 +89 +95 +100 +105 +110 +115 +121 +126 +131 +136 +141 +146 +152 +157 +162 +167 +172 +177 +182 +187 +193 +198 +203 +208 +213 +218 +223 +228 +233 +238 +243 +248 +253 +258 +263 +268 +273 +278 +283 +288 +293 +298 +303 +308 +313 +318 +323 +328 +333 +338 +343 +347 +352 +357 +362 +367 +372 +377 +382 +386 +391 +396 +401 +406 +410 +415 +420 +425 +429 +434 +439 +444 +448 +453 +458 +463 +467 +472 +477 +481 +486 +491 +495 +500 +505 +509 +514 +518 +523 +528 +532 +537 +541 +546 +550 +555 +559 +564 +568 +573 +577 +582 +586 +591 +595 +600 +604 +608 +613 +617 +622 +626 +630 +635 +639 +643 +648 +652 +656 +661 +665 +669 +674 +678 +682 +686 +691 +695 +699 +703 +707 +712 +716 +720 +724 +728 +732 +737 +741 +745 +749 +753 +757 +761 +765 +769 +773 +777 +781 +785 +789 +793 +797 +801 +805 +809 +813 +817 +821 +825 +829 +832 +836 +840 +844 +848 +852 +855 +859 +863 +867 +871 +874 +878 +882 +885 +889 +893 +897 +900 +904 +908 +911 +915 +918 +922 +926 +929 +933 +936 +940 +943 +947 +950 +954 +957 +961 +964 +968 +971 +975 +978 +981 +985 +988 +992 +995 +998 +1002 +1005 +1008 +1012 +1015 +1018 +1021 +1025 +1028 +1031 +1034 +1038 +1041 +1044 +1047 +1050 +1053 +1057 +1060 +1063 +1066 +1069 +1072 +1075 +1078 +1081 +1084 +1087 +1090 +1093 +1096 +1099 +1102 +1105 +1108 +1111 +1114 +1117 +1119 +1122 +1125 +1128 +1131 +1134 +1136 +1139 +1142 +1145 +1148 +1150 +1153 +1156 +1158 +1161 +1164 +1166 +1169 +1172 +1174 +1177 +1179 +1182 +1185 +1187 +1190 +1192 +1195 +1197 +1200 +1202 +1205 +1207 +1210 +1212 +1214 +1217 +1219 +1222 +1224 +1226 +1229 +1231 +1233 +1236 +1238 +1240 +1242 +1245 +1247 +1249 +1251 +1253 +1256 +1258 +1260 +1262 +1264 +1266 +1268 +1271 +1273 +1275 +1277 +1279 +1281 +1283 +1285 +1287 +1289 +1291 +1293 +1295 +1297 +1298 +1300 +1302 +1304 +1306 +1308 +1310 +1311 +1313 +1315 +1317 +1319 +1320 +1322 +1324 +1325 +1327 +1329 +1330 +1332 +1334 +1335 +1337 +1339 +1340 +1342 +1343 +1345 +1346 +1348 +1349 +1351 +1352 +1354 +1355 +1357 +1358 +1360 +1361 +1362 +1364 +1365 +1367 +1368 +1369 +1370 +1372 +1373 +1374 +1376 +1377 +1378 +1379 +1380 +1382 +1383 +1384 +1385 +1386 +1387 +1389 +1390 +1391 +1392 +1393 +1394 +1395 +1396 +1397 +1398 +1399 +1400 +1401 +1402 +1403 +1404 +1405 +1405 +1406 +1407 +1408 +1409 +1410 +1410 +1411 +1412 +1413 +1414 +1414 +1415 +1416 +1416 +1417 +1418 +1419 +1419 +1420 +1420 +1421 +1422 +1422 +1423 +1423 +1424 +1424 +1425 +1425 +1426 +1426 +1427 +1427 +1428 +1428 +1429 +1429 +1429 +1430 +1430 +1431 +1431 +1431 +1432 +1432 +1432 +1432 +1433 +1433 +1433 +1433 +1434 +1434 +1434 +1434 +1434 +1434 +1435 +1435 +1435 +1435 +1435 +1435 +1435 +1435 +1435 +1435 +1435 +1435 +1435 +1435 +1435 +1435 +1435 +1435 +1435 +1435 +1435 +1435 +1434 +1434 +1434 +1434 +1434 +1434 +1433 +1433 +1433 +1433 +1432 +1432 +1432 +1432 +1431 +1431 +1431 +1430 +1430 +1429 +1429 +1429 +1428 +1428 +1427 +1427 +1427 +1426 +1426 +1425 +1425 +1424 +1424 +1423 +1422 +1422 +1421 +1421 +1420 +1420 +1419 +1418 +1418 +1417 +1416 +1416 +1415 +1414 +1413 +1413 +1412 +1411 +1410 +1410 +1409 +1408 +1407 +1406 +1406 +1405 +1404 +1403 +1402 +1401 +1400 +1400 +1399 +1398 +1397 +1396 +1395 +1394 +1393 +1392 +1391 +1390 +1389 +1388 +1387 +1386 +1384 +1383 +1382 +1381 +1380 +1379 +1378 +1377 +1375 +1374 +1373 +1372 +1371 +1369 +1368 +1367 +1366 +1364 +1363 +1362 +1361 +1359 +1358 +1357 +1355 +1354 +1353 +1351 +1350 +1348 +1347 +1346 +1344 +1343 +1341 +1340 +1338 +1337 +1335 +1334 +1332 +1331 +1329 +1328 +1326 +1325 +1323 +1322 +1320 +1318 +1317 +1315 +1314 +1312 +1310 +1309 +1307 +1305 +1304 +1302 +1300 +1299 +1297 +1295 +1293 +1292 +1290 +1288 +1286 +1284 +1283 +1281 +1279 +1277 +1275 +1274 +1272 +1270 +1268 +1266 +1264 +1262 +1260 +1258 +1257 +1255 +1253 +1251 +1249 +1247 +1245 +1243 +1241 +1239 +1237 +1235 +1233 +1231 +1229 +1227 +1224 +1222 +1220 +1218 +1216 +1214 +1212 +1210 +1208 +1205 +1203 +1201 +1199 +1197 +1195 +1192 +1190 +1188 +1186 +1183 +1181 +1179 +1177 +1174 +1172 +1170 +1168 +1165 +1163 +1161 +1158 +1156 +1154 +1151 +1149 +1147 +1144 +1142 +1140 +1137 +1135 +1132 +1130 +1128 +1125 +1123 +1120 +1118 +1115 +1113 +1110 +1108 +1105 +1103 +1100 +1098 +1095 +1093 +1090 +1088 +1085 +1083 +1080 +1078 +1075 +1073 +1070 +1067 +1065 +1062 +1060 +1057 +1054 +1052 +1049 +1046 +1044 +1041 +1038 +1036 +1033 +1030 +1028 +1025 +1022 +1020 +1017 +1014 +1012 +1009 +1006 +1003 +1001 +998 +995 +992 +990 +987 +984 +981 +978 +976 +973 +970 +967 +964 +961 +959 +956 +953 +950 +947 +944 +942 +939 +936 +933 +930 +927 +924 +921 +918 +915 +913 +910 +907 +904 +901 +898 +895 +892 +889 +886 +883 +880 +877 +874 +871 +868 +865 +862 +859 +856 +853 +850 +847 +844 +841 +838 +835 +832 +829 +826 +823 +820 +817 +813 +810 +807 +804 +801 +798 +795 +792 +789 +786 +783 +779 +776 +773 +770 +767 +764 +761 +758 +754 +751 +748 +745 +742 +739 +735 +732 +729 +726 +723 +720 +716 +713 +710 +707 +704 +700 +697 +694 +691 +688 +684 +681 +678 +675 +671 +668 +665 +662 +659 +655 +652 +649 +646 +642 +639 +636 +633 +629 +626 +623 +620 +616 +613 +610 +606 +603 +600 +597 +593 +590 +587 +584 +580 +577 +574 +570 +567 +564 +560 +557 +554 +551 +547 +544 +541 +537 +534 +531 +527 +524 +521 +517 +514 +511 +507 +504 +501 +498 +494 +491 +488 +484 +481 +478 +474 +471 +468 +464 +461 +458 +454 +451 +448 +444 +441 +437 +434 +431 +427 +424 +421 +417 +414 +411 +407 +404 +401 +397 +394 +391 +387 +384 +381 +377 +374 +371 +367 +364 +361 +357 +354 +351 +347 +344 +341 +337 +334 +330 +327 +324 +320 +317 +314 +310 +307 +304 +300 +297 +294 +290 +287 +284 +280 +277 +274 +270 +267 +264 +260 +257 +254 +250 +247 +244 +240 +237 +234 +230 +227 +224 +221 +217 +214 +211 +207 +204 +201 +197 +194 +191 +187 +184 +181 +178 +174 +171 +168 +164 +161 +158 +154 +151 +148 +145 +141 +138 +135 +132 +128 +125 +122 +118 +115 +112 +109 +105 +102 +99 +96 +92 +89 +86 +83 +79 +76 +73 +70 +67 +63 +60 +57 +54 +50 +47 +44 +41 +38 +34 +31 +28 +25 +22 +18 +15 +12 +9 +6 +2 +-1 +-4 +-7 +-10 +-13 +-16 +-20 +-23 +-26 +-29 +-32 +-35 +-39 +-42 +-45 +-48 +-51 +-54 +-57 +-60 +-63 +-67 +-70 +-73 +-76 +-79 +-82 +-85 +-88 +-91 +-94 +-97 +-100 +-104 +-107 +-110 +-113 +-116 +-119 +-122 +-125 +-128 +-131 +-134 +-137 +-140 +-143 +-146 +-149 +-152 +-155 +-158 +-161 +-164 +-167 +-170 +-173 +-176 +-179 +-182 +-185 +-188 +-191 +-194 +-196 +-199 +-202 +-205 +-208 +-211 +-214 +-217 +-220 +-223 +-226 +-228 +-231 +-234 +-237 +-240 +-243 +-246 +-248 +-251 +-254 +-257 +-260 +-263 +-266 +-268 +-271 +-274 +-277 +-280 +-282 +-285 +-288 +-291 +-293 +-296 +-299 +-302 +-305 +-307 +-310 +-313 +-315 +-318 +-321 +-324 +-326 +-329 +-332 +-334 +-337 +-340 +-343 +-345 +-348 +-351 +-353 +-356 +-359 +-361 +-364 +-366 +-369 +-372 +-374 +-377 +-380 +-382 +-385 +-387 +-390 +-392 +-395 +-398 +-400 +-403 +-405 +-408 +-410 +-413 +-415 +-418 +-420 +-423 +-425 +-428 +-430 +-433 +-435 +-438 +-440 +-443 +-445 +-448 +-450 +-453 +-455 +-457 +-460 +-462 +-465 +-467 +-469 +-472 +-474 +-477 +-479 +-481 +-484 +-486 +-488 +-491 +-493 +-495 +-498 +-500 +-502 +-505 +-507 +-509 +-512 +-514 +-516 +-518 +-521 +-523 +-525 +-527 +-530 +-532 +-534 +-536 +-538 +-541 +-543 +-545 +-547 +-549 +-552 +-554 +-556 +-558 +-560 +-562 +-564 +-567 +-569 +-571 +-573 +-575 +-577 +-579 +-581 +-583 +-585 +-587 +-589 +-592 +-594 +-596 +-598 +-600 +-602 +-604 +-606 +-608 +-610 +-612 +-614 +-615 +-617 +-619 +-621 +-623 +-625 +-627 +-629 +-631 +-633 +-635 +-637 +-639 +-640 +-642 +-644 +-646 +-648 +-650 +-651 +-653 +-655 +-657 +-659 +-661 +-662 +-664 +-666 +-668 +-669 +-671 +-673 +-675 +-676 +-678 +-680 +-682 +-683 +-685 +-687 +-688 +-690 +-692 +-693 +-695 +-697 +-698 +-700 +-702 +-703 +-705 +-706 +-708 +-710 +-711 +-713 +-714 +-716 +-717 +-719 +-720 +-722 +-724 +-725 +-727 +-728 +-730 +-731 +-733 +-734 +-735 +-737 +-738 +-740 +-741 +-743 +-744 +-746 +-747 +-748 +-750 +-751 +-753 +-754 +-755 +-757 +-758 +-759 +-761 +-762 +-763 +-765 +-766 +-767 +-769 +-770 +-771 +-772 +-774 +-775 +-776 +-777 +-779 +-780 +-781 +-782 +-783 +-785 +-786 +-787 +-788 +-789 +-791 +-792 +-793 +-794 +-795 +-796 +-797 +-798 +-800 +-801 +-802 +-803 +-804 +-805 +-806 +-807 +-808 +-809 +-810 +-811 +-812 +-813 +-814 +-815 +-816 +-817 +-818 +-819 +-820 +-821 +-822 +-823 +-824 +-825 +-826 +-827 +-827 +-828 +-829 +-830 +-831 +-832 +-833 +-833 +-834 +-835 +-836 +-837 +-838 +-838 +-839 +-840 +-841 +-842 +-842 +-843 +-844 +-845 +-845 +-846 +-847 +-847 +-848 +-849 +-850 +-850 +-851 +-852 +-852 +-853 +-854 +-854 +-855 +-855 +-856 +-857 +-857 +-858 +-858 +-859 +-860 +-860 +-861 +-861 +-862 +-862 +-863 +-863 +-864 +-864 +-865 +-865 +-866 +-866 +-867 +-867 +-868 +-868 +-869 +-869 +-870 +-870 +-870 +-871 +-871 +-872 +-872 +-872 +-873 +-873 +-874 +-874 +-874 +-875 +-875 +-875 +-876 +-876 +-876 +-876 +-877 +-877 +-877 +-878 +-878 +-878 +-878 +-879 +-879 +-879 +-879 +-879 +-880 +-880 +-880 +-880 +-880 +-881 +-881 +-881 +-881 +-881 +-881 +-882 +-882 +-882 +-882 +-882 +-882 +-882 +-882 +-882 +-882 +-882 +-882 +-883 +-883 +-883 +-883 +-883 +-883 +-883 +-883 +-883 +-883 +-883 +-883 +-883 +-883 +-882 +-882 +-882 +-882 +-882 +-882 +-882 +-882 +-882 +-882 +-882 +-882 +-881 +-881 +-881 +-881 +-881 +-881 +-881 +-880 +-880 +-880 +-880 +-880 +-879 +-879 +-879 +-879 +-879 +-878 +-878 +-878 +-878 +-877 +-877 +-877 +-876 +-876 +-876 +-876 +-875 +-875 +-875 +-874 +-874 +-874 +-873 +-873 +-873 +-872 +-872 +-871 +-871 +-871 +-870 +-870 +-870 +-869 +-869 +-868 +-868 +-867 +-867 +-867 +-866 +-866 +-865 +-865 +-864 +-864 +-863 +-863 +-862 +-862 +-861 +-861 +-860 +-860 +-859 +-859 +-858 +-857 +-857 +-856 +-856 +-855 +-855 +-854 +-853 +-853 +-852 +-852 +-851 +-850 +-850 +-849 +-848 +-848 +-847 +-846 +-846 +-845 +-844 +-844 +-843 +-842 +-842 +-841 +-840 +-840 +-839 +-838 +-837 +-837 +-836 +-835 +-834 +-834 +-833 +-832 +-831 +-831 +-830 +-829 +-828 +-827 +-827 +-826 +-825 +-824 +-823 +-822 +-822 +-821 +-820 +-819 +-818 +-817 +-816 +-816 +-815 +-814 +-813 +-812 +-811 +-810 +-809 +-808 +-808 +-807 +-806 +-805 +-804 +-803 +-802 +-801 +-800 +-799 +-798 +-797 +-796 +-795 +-794 +-793 +-792 +-791 +-790 +-789 +-788 +-787 +-786 +-785 +-784 +-783 +-782 +-781 +-780 +-779 +-778 +-777 +-776 +-774 +-773 +-772 +-771 +-770 +-769 +-768 +-767 +-766 +-765 +-763 +-762 +-761 +-760 +-759 +-758 +-757 +-755 +-754 +-753 +-752 +-751 +-750 +-748 +-747 +-746 +-745 +-744 +-743 +-741 +-740 +-739 +-738 +-736 +-735 +-734 +-733 +-732 +-730 +-729 +-728 +-727 +-725 +-724 +-723 +-722 +-720 +-719 +-718 +-716 +-715 +-714 +-713 +-711 +-710 +-709 +-707 +-706 +-705 +-703 +-702 +-701 +-699 +-698 +-697 +-695 +-694 +-693 +-691 +-690 +-689 +-687 +-686 +-685 +-683 +-682 +-680 +-679 +-678 +-676 +-675 +-673 +-672 +-671 +-669 +-668 +-666 +-665 +-664 +-662 +-661 +-659 +-658 +-656 +-655 +-654 +-652 +-651 +-649 +-648 +-646 +-645 +-643 +-642 +-640 +-639 +-638 +-636 +-635 +-633 +-632 +-630 +-629 +-627 +-626 +-624 +-623 +-621 +-620 +-618 +-617 +-615 +-614 +-612 +-610 +-609 +-607 +-606 +-604 +-603 +-601 +-600 +-598 +-597 +-595 +-594 +-592 +-590 +-589 +-587 +-586 +-584 +-583 +-581 +-579 +-578 +-576 +-575 +-573 +-572 +-570 +-568 +-567 +-565 +-564 +-562 +-560 +-559 +-557 +-556 +-554 +-552 +-551 +-549 +-547 +-546 +-544 +-543 +-541 +-539 +-538 +-536 +-534 +-533 +-531 +-530 +-528 +-526 +-525 +-523 +-521 +-520 +-518 +-516 +-515 +-513 +-511 +-510 +-508 +-506 +-505 +-503 +-501 +-500 +-498 +-496 +-495 +-493 +-491 +-490 +-488 +-486 +-485 +-483 +-481 +-479 +-478 +-476 +-474 +-473 +-471 +-469 +-468 +-466 +-464 +-462 +-461 +-459 +-457 +-456 +-454 +-452 +-450 +-449 +-447 +-445 +-444 +-442 +-440 +-438 +-437 +-435 +-433 +-432 +-430 +-428 +-426 +-425 +-423 +-421 +-419 +-418 +-416 +-414 +-413 +-411 +-409 +-407 +-406 +-404 +-402 +-400 +-399 +-397 +-395 +-393 +-392 +-390 +-388 +-386 +-385 +-383 +-381 +-379 +-378 +-376 +-374 +-372 +-371 +-369 +-367 +-365 +-364 +-362 +-360 +-358 +-357 +-355 +-353 +-351 +-350 +-348 +-346 +-344 +-343 +-341 +-339 +-337 +-336 +-334 +-332 +-330 +-328 +-327 +-325 +-323 +-321 +-320 +-318 +-316 +-314 +-313 +-311 +-309 +-307 +-306 +-304 +-302 +-300 +-299 +-297 +-295 +-293 +-291 +-290 +-288 +-286 +-284 +-283 +-281 +-279 +-277 +-276 +-274 +-272 +-270 +-269 +-267 +-265 +-263 +-262 +-260 +-258 +-256 +-255 +-253 +-251 +-249 +-247 +-246 +-244 +-242 +-240 +-239 +-237 +-235 +-233 +-232 +-230 +-228 +-226 +-225 +-223 +-221 +-219 +-218 +-216 +-214 +-213 +-211 +-209 +-207 +-206 +-204 +-202 +-200 +-199 +-197 +-195 +-193 +-192 +-190 +-188 +-186 +-185 +-183 +-181 +-180 +-178 +-176 +-174 +-173 +-171 +-169 +-167 +-166 +-164 +-162 +-161 +-159 +-157 +-155 +-154 +-152 +-150 +-149 +-147 +-145 +-143 +-142 +-140 +-138 +-137 +-135 +-133 +-132 +-130 +-128 +-126 +-125 +-123 +-121 +-120 +-118 +-116 +-115 +-113 +-111 +-110 +-108 +-106 +-105 +-103 +-101 +-99 +-98 +-96 +-94 +-93 +-91 +-89 +-88 +-86 +-84 +-83 +-81 +-80 +-78 +-76 +-75 +-73 +-71 +-70 +-68 +-66 +-65 +-63 +-61 +-60 +-58 +-57 +-55 +-53 +-52 +-50 +-48 +-47 +-45 +-43 +-42 +-40 +-39 +-37 +-35 +-34 +-32 +-31 +-29 +-27 +-26 +-24 +-23 +-21 +-19 +-18 +-16 +-15 +-13 +-11 +-10 +-8 +-7 +-5 +-4 +-2 +0 +1 +3 +4 +6 +7 +9 +10 +12 +14 +15 +17 +18 +20 +21 +23 +24 +26 +27 +29 +30 +32 +34 +35 +37 +38 +40 +41 +43 +44 +46 +47 +49 +50 +52 +53 +55 +56 +58 +59 +61 +62 +64 +65 +66 +68 +69 +71 +72 +74 +75 +77 +78 +80 +81 +82 +84 +85 +87 +88 +90 +91 +93 +94 +95 +97 +98 +100 +101 +102 +104 +105 +107 +108 +109 +111 +112 +114 +115 +116 +118 +119 +121 +122 +123 +125 +126 +127 +129 +130 +132 +133 +134 +136 +137 +138 +140 +141 +142 +144 +145 +146 +148 +149 +150 +152 +153 +154 +155 +157 +158 +159 +161 +162 +163 +165 +166 +167 +168 +170 +171 +172 +174 +175 +176 +177 +179 +180 +181 +182 +184 +185 +186 +187 +189 +190 +191 +192 +193 +195 +196 +197 +198 +200 +201 +202 +203 +204 +206 +207 +208 +209 +210 +211 +213 +214 +215 +216 +217 +218 +220 +221 +222 +223 +224 +225 +227 +228 +229 +230 +231 +232 +233 +234 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +311 +312 +313 +314 +315 +316 +317 +318 +318 +319 +320 +321 +322 +323 +323 +324 +325 +326 +327 +328 +328 +329 +330 +331 +332 +332 +333 +334 +335 +336 +336 +337 +338 +339 +339 +340 +341 +342 +343 +343 +344 +345 +346 +346 +347 +348 +349 +349 +350 +351 +351 +352 +353 +354 +354 +355 +356 +356 +357 +358 +358 +359 +360 +361 +361 +362 +363 +363 +364 +365 +365 +366 +367 +367 +368 +368 +369 +370 +370 +371 +372 +372 +373 +373 +374 +375 +375 +376 +376 +377 +378 +378 +379 +379 +380 +381 +381 +382 +382 +383 +383 +384 +385 +385 +386 +386 +387 +387 +388 +388 +389 +389 +390 +391 +391 +392 +392 +393 +393 +394 +394 +395 +395 +396 +396 +397 +397 +398 +398 +398 +399 +399 +400 +400 +401 +401 +402 +402 +403 +403 +403 +404 +404 +405 +405 +406 +406 +406 +407 +407 +408 +408 +409 +409 +409 +410 +410 +410 +411 +411 +412 +412 +412 +413 +413 +413 +414 +414 +415 +415 +415 +416 +416 +416 +417 +417 +417 +418 +418 +418 +419 +419 +419 +420 +420 +420 +420 +421 +421 +421 +422 +422 +422 +423 +423 +423 +423 +424 +424 +424 +424 +425 +425 +425 +425 +426 +426 +426 +426 +427 +427 +427 +427 +428 +428 +428 +428 +428 +429 +429 +429 +429 +429 +430 +430 +430 +430 +430 +431 +431 +431 +431 +431 +432 +432 +432 +432 +432 +432 +432 +433 +433 +433 +433 +433 +433 +433 +434 +434 +434 +434 +434 +434 +434 +434 +435 +435 +435 +435 +435 +435 +435 +435 +435 +435 +436 +436 +436 +436 +436 +436 +436 +436 +436 +436 +436 +436 +436 +436 +436 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +437 +436 +436 +436 +436 +436 +436 +436 +436 +436 +436 +436 +436 +436 +436 +436 +436 +435 +435 +435 +435 +435 +435 +435 +435 +435 +435 +434 +434 +434 +434 +434 +434 +434 +434 +434 +433 +433 +433 +433 +433 +433 +433 +432 +432 +432 +432 +432 +432 +432 +431 +431 +431 +431 +431 +431 +430 +430 +430 +430 +430 +430 +429 +429 +429 +429 +429 +429 +428 +428 +428 +428 +428 +427 +427 +427 +427 +427 +426 +426 +426 +426 +425 +425 +425 +425 +425 +424 +424 +424 +424 +423 +423 +423 +423 +422 +422 +422 +422 +421 +421 +421 +421 +420 +420 +420 +420 +419 +419 +419 +419 +418 +418 +418 +418 +417 +417 +417 +416 +416 +416 +416 +415 +415 +415 +414 +414 +414 +414 +413 +413 +413 +412 +412 +412 +411 +411 +411 +410 +410 +410 +409 +409 +409 +409 +408 +408 +408 +407 +407 +407 +406 +406 +406 +405 +405 +405 +404 +404 +404 +403 +403 +402 +402 +402 +401 +401 +401 +400 +400 +400 +399 +399 +399 +398 +398 +397 +397 +397 +396 +396 +396 +395 +395 +394 +394 +394 +393 +393 +393 +392 +392 +391 +391 +391 +390 +390 +389 +389 +389 +388 +388 +387 +387 +387 +386 +386 +385 +385 +385 +384 +384 +383 +383 +382 +382 +382 +381 +381 +380 +380 +380 +379 +379 +378 +378 +377 +377 +377 +376 +376 +375 +375 +374 +374 +373 +373 +373 +372 +372 +371 +371 +370 +370 +370 +369 +369 +368 +368 +367 +367 +366 +366 +365 +365 +365 +364 +364 +363 +363 +362 +362 +361 +361 +360 +360 +359 +359 +359 +358 +358 +357 +357 +356 +356 +355 +355 +354 +354 +353 +353 +352 +352 +351 +351 +350 +350 +349 +349 +348 +348 +348 +347 +347 +346 +346 +345 +345 +344 +344 +343 +343 +342 +342 +341 +341 +340 +340 +339 +339 +338 +338 +337 +337 +336 +336 +335 +335 +334 +334 +333 +333 +332 +332 +331 +331 +330 +330 +329 +329 +328 +328 +327 +327 +326 +326 +325 +325 +324 +323 +323 +322 +322 +321 +321 +320 +320 +319 +319 +318 +318 +317 +317 +316 +316 +315 +315 +314 +314 +313 +313 +312 +312 +311 +311 +310 +309 +309 +308 +308 +307 +307 +306 +306 +305 +305 +304 +304 +303 +303 +302 +302 +301 +300 +300 +299 +299 +298 +298 +297 +297 +296 +296 +295 +295 +294 +294 +293 +293 +292 +291 +291 +290 +290 +289 +289 +288 +288 +287 +287 +286 +286 +285 +285 +284 +283 +283 +282 +282 +281 +281 +280 +280 +279 +279 +278 +278 +277 +277 +276 +275 +275 +274 +274 +273 +273 +272 +272 +271 +271 +270 +270 +269 +268 +268 +267 +267 +266 +266 +265 +265 +264 +264 +263 +263 +262 +261 +261 +260 +260 +259 +259 +258 +258 +257 +257 +256 +256 +255 +255 +254 +253 +253 +252 +252 +251 +251 +250 +250 +249 +249 +248 +248 +247 +247 +246 +245 +245 +244 +244 +243 +243 +242 +242 +241 +241 +240 +240 +239 +239 +238 +237 +237 +236 +236 +235 +235 +234 +234 +233 +233 +232 +232 +231 +231 +230 +230 +229 +229 +228 +227 +227 +226 +226 +225 +225 +224 +224 +223 +223 +222 +222 +221 +221 +220 +220 +219 +219 +218 +218 +217 +217 +216 +215 +215 +214 +214 +213 +213 +212 +212 +211 +211 +210 +210 +209 +209 +208 +208 +207 +207 +206 +206 +205 +205 +204 +204 +203 +203 +202 +202 +201 +201 +200 +200 +199 +199 +198 +198 +197 +197 +196 +196 +195 +195 +194 +194 +193 +193 +192 +192 +191 +191 +190 +190 +189 +189 +188 +188 +187 +187 +186 +186 +185 +185 +184 +184 +183 +183 +182 +182 +181 +181 +180 +180 +179 +179 +178 +178 +177 +177 +176 +176 +175 +175 +174 +174 +174 +173 +173 +172 +172 +171 +171 +170 +170 +169 +169 +168 +168 +167 +167 +166 +166 +165 +165 +165 +164 +164 +163 +163 +162 +162 +161 +161 +160 +160 +159 +159 +159 +158 +158 +157 +157 +156 +156 +155 +155 +154 +154 +153 +153 +153 +152 +152 +151 +151 +150 +150 +149 +149 +149 +148 +148 +147 +147 +146 +146 +145 +145 +145 +144 +144 +143 +143 +142 +142 +141 +141 +141 +140 +140 +139 +139 +138 +138 +138 +137 +137 +136 +136 +135 +135 +135 +134 +134 +133 +133 +132 +132 +132 +131 +131 +130 +130 +130 +129 +129 +128 +128 +127 +127 +127 +126 +126 +125 +125 +125 +124 +124 +123 +123 +123 +122 +122 +121 +121 +121 +120 +120 +119 +119 +119 +118 +118 +117 +117 +117 +116 +116 +115 +115 +115 +114 +114 +113 +113 +113 +112 +112 +112 +111 +111 +110 +110 +110 +109 +109 +108 +108 +108 +107 +107 +107 +106 +106 +105 +105 +105 +104 +104 +104 +103 +103 +103 +102 +102 +101 +101 +101 +100 +100 +100 +99 +99 +99 +98 +98 +97 +97 +97 +96 +96 +96 +95 +95 +95 +94 +94 +94 +93 +93 +93 +92 +92 +92 +91 +91 +90 +90 +90 +89 +89 +89 +88 +88 +88 +87 +87 +87 +86 +86 +86 +85 +85 +85 +85 +84 +84 +84 +83 +83 +83 +82 +82 +82 +81 +81 +81 +80 +80 +80 +79 +79 +79 +78 +78 +78 +77 +77 +77 +77 +76 +76 +76 +75 +75 +75 +74 +74 +74 +74 +73 +73 +73 +72 +72 +72 +71 +71 +71 +71 +70 +70 +70 +69 +69 +69 +69 +68 +68 +68 +67 +67 +67 +67 +66 +66 +66 +65 +65 +65 +65 +64 +64 +64 +63 +63 +63 +63 +62 +62 +62 +62 +61 +61 +61 +60 +60 +60 +60 +59 +59 +59 +59 +58 +58 +58 +58 +57 +57 +57 +57 +56 +56 +56 +56 +55 +55 +55 +55 +54 +54 +54 +54 +53 +53 +53 +53 +52 +52 +52 +52 +51 +51 +51 +51 +50 +50 +50 +50 +50 +49 +49 +49 +49 +48 +48 +48 +48 +47 +47 +47 +47 +46 +46 +46 +46 +46 +45 +45 +45 +45 +44 +44 +44 +44 +44 +43 +43 +43 +43 +43 +42 +42 +42 +42 +42 +41 +41 +41 +41 +40 +40 +40 +40 +40 +39 +39 +39 +39 +39 +38 +38 +38 +38 +38 +37 +37 +37 +37 +37 +37 +36 +36 +36 +36 +36 +35 +35 +35 +35 +35 +34 +34 +34 +34 +34 +33 +33 +33 +33 +33 +33 +32 +32 +32 +32 +32 +32 +31 +31 +31 +31 +31 +31 +30 +30 +30 +30 +30 +29 +29 +29 +29 +29 +29 +28 +28 +28 +28 +28 +28 +27 +27 +27 +27 +27 +27 +27 +26 +26 +26 +26 +26 +26 +26 +25 +25 +25 +25 +25 +25 +24 +24 +24 +24 +24 +24 +23 +23 +23 +23 +23 +23 +23 +22 +22 +22 +22 +22 +22 +22 +22 +21 +21 +21 +21 +21 +21 +21 +21 +20 +20 +20 +20 +20 +20 +20 +19 +19 +19 +19 +19 +19 +19 +18 +18 +18 +18 +18 +18 +18 +18 +18 +17 +17 +17 +17 +17 +17 +17 +17 +17 +17 +16 +16 +16 +16 +16 +16 +16 +15 +15 +15 +15 +15 +15 +15 +15 +14 +14 +14 +14 +14 +14 +14 +14 +14 +14 +14 +14 +14 +14 +13 +13 +13 +13 +13 +13 +13 +13 +12 +12 +12 +12 +12 +12 +11 +11 +11 +11 +11 +11 +11 +11 +11 +11 +11 +11 +11 +11 +11 +11 +11 +11 +11 +11 +11 +11 +10 +10 +10 +10 +9 +9 +9 +8 +8 +8 +7 +7 +7 +7 +7 +7 +7 +7 +8 +8 +9 +9 +10 +11 +12 +14 +15 +17 +18 +20 +21 +23 +25 +26 +28 +29 +31 +32 +33 +34 +35 +35 +36 +36 diff --git a/applications/lofar2/model/pfir_coeff_dc_adjust.m b/applications/lofar2/model/pfir_coeff_dc_adjust.m new file mode 100644 index 0000000000..e8e9f88629 --- /dev/null +++ b/applications/lofar2/model/pfir_coeff_dc_adjust.m @@ -0,0 +1,124 @@ +%----------------------------------------------------------------------------- +% +% Copyright (C) 2018 +% ASTRON (Netherlands Institute for Radio Astronomy) <http://www.astron.nl/> +% P.O.Box 2, 7990 AA Dwingeloo, The Netherlands +% +% This program is free software: you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation, either version 3 of the License, or +% (at your option) any later version. +% +% 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 General Public License +% along with this program. If not, see <http://www.gnu.org/licenses/>. +% +%----------------------------------------------------------------------------- +% Author: E. Kooistra, Apr 2018 +% +% pfir_coeff_dc_adjust - Adjust the DC response per poly phase of an +% existing set of PFIR coefficients +% +% The input coeffIn is an array of N*L integer PFIR coefficients that fit +% in nof_bits. The number of polyphase is N and the number of taps per +% polyphase is L. The order of the input coeffIn is first all L +% coefficients for phase 0 then for phase 1, and last for phase N-1. +% +% The coeffIn values are adjusted such that each of the N polyphase FIR +% sections with L taps each has the same DC response. This then ensures +% that for DC input the output of all N polyphases will also be DC. The +% FFT in a polyphase filterbank will then transform this DC to bin 0, and +% there will be no affect on the other bins. +% +% The DC adjustment algorithm first determines the median of the sums +% per polyphase. For each polyphase the L taps are then DC adjusted +% to this dc_polyphases_median. If the DC adjustment is > L then first +% an equal coarse adjustment is made to all L taps. The remining DC +% adjustment is then < L and applied by adjusting the outer taps by 1. +% +% The DC adjusted FIR coefficients are returned via coeffNoDC. The DC +% adjustment must not cause coefficient overflow. The nof_bits +% defines the maximum integer coefficient range. If the coeffNoDC does +% not fit, than the function reduces the input coeffIn by a factor +% and then recalculates coeffNoDC, until the coefficients all fit within +% nof_bits. +% +% The run_pfir_coeff.m shows how this pfir_coeff_adjust.m can be used. +function coeffNoDC = pfir_coeff_dc_adjust(coeffIn, N, L, nof_bits) + +iteration = 0; +while true + iteration = iteration + 1; + % Automatically equalize the DC response of the polyphases to have flat DC level at FFT input + % Reshape the coefficients in N polyphases with L taps each. + q_coeff = reshape(coeffIn, N, L).'; + % The DC response is the sum of the FIR coefficients per polyphase. + dc_polyphases = sum(q_coeff); + % The median will be used as aim for the dc adjustment, because most polyphases are already + % close to the median. For larger N the first and last polyphases deviate the most. + dc_polyphases_median = median(dc_polyphases); + % DC adjust each polyphase to the DC median + for I = 1:N + polyphase = q_coeff(:,I); + dc_polyphase = sum(polyphase); + dc_adjust = dc_polyphase - dc_polyphases_median; + % First equally adjust all L coefficients by an equal amount of + % dc_offset >= 0 + dc_offset = floor(abs(dc_adjust)/L); + % Then adjust the dc_remainder < L, over dc_adjust number of + % coefficients from the outer to the inner taps of the polyphase + % by 1 + dc_remainder = abs(dc_adjust) - L*dc_offset; + % Treat dc_adjust < 0, > 0 separately, nothing to do when dc_adjust = 0 + if dc_adjust > 0 + polyphase = polyphase - dc_offset; + if dc_remainder > 0 + for J = 1:dc_remainder + if mod(J,2)==0 + polyphase(J) = polyphase(J) - 1; + else + polyphase(L+1-J) = polyphase(L+1-J) - 1; + end + end + end + end + if dc_adjust < 0 + polyphase = polyphase + dc_offset; + if dc_remainder > 0 + for J = 1:dc_remainder + if mod(J,2)==0 + polyphase(J) = polyphase(J) + 1; + else + polyphase(L+1-J) = polyphase(L+1-J) + 1; + end + end + end + end + dc_polyphase = sum(polyphase); + dc_adjusted = dc_polyphase - dc_polyphases_median; + if dc_adjusted ~= 0 + % Return with Error messages when dc_adjusted for a polyphase is not 0 + disp(sprintf('Error polyphase %4d : dc_adjust = %4d, dc_offset= %4d, dc_remainder = %4d, dc_adjusted = %4d must be 0', I, dc_adjust, dc_offset, dc_remainder, dc_adjusted)); + return + end + q_coeff(:,I) = polyphase; + end + coeffNoDC = reshape(q_coeff.', 1, N*L); + + % Check whether the q_coeff are still in range q_min : q_max + q_full_scale = 2^(nof_bits-1); + q_max = q_full_scale-1; + q_no_dc_max = max(coeffNoDC); + if q_no_dc_max > q_max + coeffIn = round(coeffIn * q_max / q_no_dc_max); % Scale coeff with more positive margin to fit DC adjustment + else + break; % Finished DC adjustment of the coefficients + end +end +disp(sprintf('DC adjusted in %d iteration(s)', iteration)); + +end diff --git a/applications/lofar2/model/pfs_coeff_final.m b/applications/lofar2/model/pfs_coeff_final.m index 048ecefb8c..7cc4798a14 100644 --- a/applications/lofar2/model/pfs_coeff_final.m +++ b/applications/lofar2/model/pfs_coeff_final.m @@ -87,7 +87,7 @@ coeffs_quant = double(uencode(c3,16,max(c3),'signed')); % c3=q*round(c3/q); % c3=c3*max(c2)/max(c3); -fid = fopen('Coefficient_16KKaiser.dat','w'); +fid = fopen('data/Coefficient_16KKaiser.dat','w'); fprintf(fid,'%i\n', coeffs_quant); fclose(fid); fprintf('\n\nWARNING !\n') diff --git a/applications/lofar2/model/readme_lofar2_model.txt b/applications/lofar2/model/readme_lofar2_model.txt index 6b77d4f70b..3dfaed1b1e 100644 --- a/applications/lofar2/model/readme_lofar2_model.txt +++ b/applications/lofar2/model/readme_lofar2_model.txt @@ -2,32 +2,44 @@ This directory contains scripts and documents for modelling DSP aspects of LOFAR References: -[1] = found by Andre Gunst from LOFAR1 -[2] = https://svn.astron.nl/UniBoard_FP7/RadioHDL/trunk/applications/apertif/matlab/apertif_matlab_readme.txt -[3] = https://support.astron.nl/jira/browse/L2SDP-212 -[4] = https://git.astron.nl/desp/hdl/-/blob/master/libraries/dsp/verify_pfb/tb_tb_verify_pfb_wg.vhd +[1] https://git.astron.nl/desp/hdl/-/blob/master/applications/lofar1/FilterTaskForce.zip + found by Andre Gunst from LOFAR1,for overview see readme_FilterTaskForce.txt +[2] from Andre Gunst +[3] https://git.astron.nl/desp/hdl/-/blob/master/apertif_matlab/README.md +[4] https://git.astron.nl/desp/hdl/-/blob/master/libraries/dsp/verify_pfb/tb_tb_verify_pfb_wg.vhd -1) Original LOFAR1 scripts +1) Original LOFAR1 scripts from FilterTaskForce.zip [1] -- git/hdl/libraries/dsp/filter/src/hex/Coeffs16384Kaiser-quant.dat : Original PFIR filter coefficients from LOFAR 1.0 subband filterbank - (16 tap, 1024 point FFT), the script that created these PFIR - coefficients is not available anymore (For Apertif Erko looked in old - repositories back to 2005 of Lofar software and Station firmware - but could not find it.) +- git/hdl/libraries/dsp/filter/src/hex/Coeffs16384Kaiser-quant.dat : + Original PFIR filter coefficients from LOFAR 1.0 subband filterbank + (16 tap, 1024 point FFT), the script that created these PFIR + coefficients is not available anymore (For Apertif Erko looked in old + repositories back to 2005 of Lofar software and Station firmware + but could not find it.) -- pfs_coeff_final.m [1] : creates Coefficient_16KKaiser.dat, but using e.g. meld shows that these do differ slightly from - Coeffs16384Kaiser-quant.dat that are actually used in LOFAR1. +- pfs_coeff_final.m [1] + creates Coefficient_16KKaiser.dat, but using e.g. meld shows that + these do differ slightly within +-40 from + Coeffs16384Kaiser-quant.dat that are actually used in LOFAR1. 2) Original LOFAR1 documents -- lowbitfir.pdf, 2001 [1] : Simulation Results of Low Bit FIR Filters for ALMA -- quanreq.pdf, 2002 [1] : Modeling the Effects of Re-quantization for ALMA-FC: Cascading of Degradation Factors - - -3) LOFAR2.0 +- filterbanks2.ppt [1] : With diagrams of PFB structure +- lowbitfir.pdf, 2001 [2] : Simulation Results of Low Bit FIR Filters for ALMA +- quanreq.pdf, 2002 [2] : Modeling the Effects of Re-quantization for + ALMA-FC: Cascading of Degradation Factors + +3) Copied from APERTIF [3] + +APERTIF uses the same PFB FIR coefficients as LOFAR1. + + pfir_coeff_dc_adjust.m Function Apply DC adjustment to polyphase filterbank coefficients + run_pfir_coeff.m Script Run pfir_coeff_adjust.m and pfir_coeff.m to show filter response in + time and frequency domain, and optionally calls pfir_coeff_dc_adjust.m + +4) LOFAR2.0 -- Jira story L2SDP-212 [3] : Investigate SDP firmware quantization - tb_tb_verify_pfb_wg.vhd, 2021 [4] : VHDL simulation of LOFAR1 PFB2 and APERTIF WPFB for LOFAR2.0 diff --git a/applications/lofar2/model/run_pfir_coeff.m b/applications/lofar2/model/run_pfir_coeff.m new file mode 100644 index 0000000000..5c77cd51d8 --- /dev/null +++ b/applications/lofar2/model/run_pfir_coeff.m @@ -0,0 +1,493 @@ +%----------------------------------------------------------------------------- +% +% Copyright (C) 2016 +% ASTRON (Netherlands Institute for Radio Astronomy) <http://www.astron.nl/> +% P.O.Box 2, 7990 AA Dwingeloo, The Netherlands +% +% This program is free software: you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation, either version 3 of the License, or +% (at your option) any later version. +% +% 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 General Public License +% along with this program. If not, see <http://www.gnu.org/licenses/>. +% +%----------------------------------------------------------------------------- +% Author: E. Kooistra, 2016 +% +% Purpose : Run pfir_coeff +% Description : +% Plot FIR filter coefficients and transfer function for different +% applications: +% . 'lofar_subband'; +% . 'apertif_subband'; +% . 'apertif_channel'; +% . 'arts_channel'; +% . 'bypass_channel'; +% . 'bypass_subband'; +% . 'incrementing_channel'; +% +% - For reference the design can also plot the LOFAR station subband +% FIR coefficients from file. +% - The design can use fir1 or fircls1 to calculate the FIR filter +% coefficients. The fir1 has a flat passband, but the fircls1 +% achieves a steeper pass-stop transition and in the combination a +% more flat gain response between channels. Therefore fircls1 is +% preferred when r_pass = 0.0001 and for r_pass = 0.001 it is better +% to choose fir1. +% - The half power channel bandwidth of BWchan can be set via +% config.hp_factor. Default config.hp_factor = 1 and then the channel +% bandwidth is equal to the channel rate, so Wchan = fchan. +% The config.hp_factor to have flat power gain between channels is +% determined automatically when config.hp_adjust = true. +% - Default the DC response of the FIR filter per polyphase section of +% L taps will not be the same for all N polyphase sections. Especially +% for large N > 64 the outer polyphase sections will deviate +% significantly compared to the polyphase sections in the middle. +% When config.dc_adjust = true then the DC response of all polyphase +% sections will be made equal. +% - For fircls1 the passband ripple and stopband ripple can be specified. +% For fir1 the passband is flat and the stopband attenuation increases +% more and more for more distant frequencies. The fir1 can achieve +% suffcient r_stop at the next channel. The passband and stopband +% characteristics are only ideal when coeff_w=0 (doubles). The stopband +% attenuation r_stop ~= coeff_w * -6 dB. The passband ripple also +% depends on coeff_w r_pass ~= 1 + 0.5/2^coeff_w. +% +% See pfir_coeff_adjust.m for more information. +% +% FIR file management: +% Use svn status -q data/ to see whether rerun of this script recreates +% the same FIR file as stored in SVN data/ +% +% Run diff compare scripts to verify saved FIR files with stored FIR +% files: +% >. $RADIOHDL/libraries/dsp/filter/src/python/diff_lofar_coefs +% >. $RADIOHDL/libraries/dsp/filter/src/python/diff_pfir_coefs +% +% Run recreate scripts to (re)create FIR stored mif files from dat files: +% >. $RADIOHDL/libraries/dsp/filter/src/python/recreate_4wb_mifs +% >. $RADIOHDL/libraries/dsp/filter/src/python/recreate_pfir_mifs + +clear all; +close all; +fig=0; + +%% Select application +application = 'lofar_subband'; % load LOFAR subband filterbank coefficients from file +%application = 'apertif_subband'; % calculate Apertif subband filterbank coefficients using fir1 or fircls1 +%application = 'apertif_channel'; % calculate Apertif channel filterbank coefficients using fir1 or fircls1 +%application = 'arts_channel'; % calculate Arts channel filterbank coefficients using fir1 or fircls1 +%application = 'bypass_channel'; % create bypass pfir channel coefficients with 1 in first tap and 0 in remaining taps +%application = 'bypass_subband'; % create bypass pfir subband coefficients with 1 in first tap and 0 in remaining taps +%application = 'incrementing_channel'; % create incrementing pfir channel coefficients 1:L*N for PFIR implementation verification purposes + + +%% - Application specific settings +% Default settings (will get overruled dependend on application) +config.hp_factor = 1; +config.hp_adjust = false; +config.dc_adjust = false; +config.design = 'none'; +if strcmp(application, 'bypass_channel') + N = 64; + L = 8; + coeff_w = 9; % default to coeff RAM data width for channel + q_full_scale = 2^(coeff_w-1); + q_max = q_full_scale-1; + coeff = q_max*[ones(N,1); zeros((L-1)*N,1)]; % row + config.design = 'bypass'; + BWchan = config.hp_factor/N; +elseif strcmp(application, 'bypass_subband') + N = 1024; + L = 16; + coeff_w = 16; % default to coeff RAM data width for subband + q_full_scale = 2^(coeff_w-1); + q_max = q_full_scale-1; + coeff = q_max*[ones(N,1); zeros((L-1)*N,1)]; % row + config.design = 'bypass'; + BWchan = config.hp_factor/N; +elseif strcmp(application, 'incrementing_channel') + N = 64; + L = 8; + coeff_w = 9; % default to coeff RAM data width for channel + q_full_scale = 2^(coeff_w-1); + coeff = [1:L*N]'; % row + %coeff = coeff / q_full_scale; % or use coeff = coeff / (max(coeff)+1); + config.design = 'incrementing'; + BWchan = config.hp_factor/N; +elseif strcmp(application, 'lofar_subband') + % Load the quantized FIR coefficients of the subband filterbank in a LOFAR station + N = 1024; + L = 16; + coeff_w = 16; + q_full_scale = 2^(coeff_w-1); + coeffLoad = load('data/Coefficient_16KKaiser.dat'); % column + %coeffLoad = load('data/Coeffs16384Kaiser-quant.dat'); % column + coeffLoad = coeffLoad'; % row with integer coefficients from file + config.dc_adjust = false; + if config.dc_adjust==false + coeff = coeffLoad; + else + coeff = pfir_coeff_dc_adjust(coeffLoad, N, L, coeff_w); + end + coeffNoDC = coeff; % keep DC adjusted integer coefficients + coeff = coeff / q_full_scale; + config.design = 'lofar_subband'; + BWchan = config.hp_factor/N; +else + if strcmp(application, 'apertif_subband') + N = 1024; % N = nof channels for complex input and N = 2 * nof subbands for real input data + L = 16; % Number of taps + coeff_w = 16; % bits/coefficient = 1 sign + (coeff_w-1) mantissa, 0 for floating point + config.hp_adjust = false; + config.dc_adjust = true; + config.design = 'fircls1'; % FIR filter design method ('fircls1' or 'fir1') + elseif strcmp(application, 'apertif_channel') + N = 64; % N = nof channels for complex input and N = 2 * nof subbands for real input data + L = 8; % Number of taps, even 4 could be sufficient (erko) + coeff_w = 9; % bits/coefficient = 1 sign + (coeff_w-1) mantissa, 0 for floating point + config.hp_adjust = true; + config.dc_adjust = true; + config.design = 'fircls1'; % FIR filter design method ('fircls1' or 'fir1') + elseif strcmp(application, 'arts_channel') + N = 32; % Arts required is N=4, use more to reduce the relative number of channels that get aliased dur to critically sampled subband filterbank + L = 8; + coeff_w = 9; + config.hp_adjust = true; + config.dc_adjust = true; + config.design = 'fircls1'; % FIR filter design method ('fircls1' or 'fir1') + end + + % Enable or disable adjustment of the PFIR coefficients. Uncomment to + % overrule application default for test purposes: + %config.hp_adjust = true; + %config.hp_adjust = false; + + %config.dc_adjust = true; + %config.dc_adjust = false; + + % Select FIR filter design method (fircls1 yields better results than + % fir1 regarding stop band suppression). Uncomment to overrule + % application default for test purposes: + %config.design = 'fircls1'; + %config.design = 'fir1'; + + if strcmp(config.design, 'fir1') + r_pass = 0; % not used for fir1 + r_stop = 0; % not used for fir1 + else % fircls1 + % Pass and stop band deviation for fircls1 + r_pass = 1e-4; % choose 0.0001 to have more flat reponse between channels + % for 0.001 it is better to choose fir1 + r_stop = 1e-4; % choose 0.0001 to avoid artefact at ends of impulse response + % that occur for 0.001 + + % Config parameters that are specific for fircls1 + %config.design_flag = 'trace'; + config.design_flag = ''; + %config.interpolate = 'resample'; + %config.interpolate = 'fourier'; + config.interpolate = 'interpft'; + end + + % Calculate the FIR coefficients with optional FIR filter bandwidth adjustment + BWchan = config.hp_factor/N; + coeff_q_max = 2^(coeff_w-1)-1; + coeff = pfir_coeff_adjust(N, L, BWchan, r_pass, r_stop, coeff_w, config, coeff_q_max); +end +NL = N*L; % Total number of FIR filter coefficients (taps) + +% Try effect of wrong wideband factor P order of the FIR coefficients. +% It is noticable in the FIR transfer function as about factor 2 in dB +% less attenuation outside the passband for bins that are multiples of +% about N/P. For P = 4 the attenuation spikes occur at: +% . bin 255.6 +% . bin 256.4 +% . bin 511.6 +% In a time domain simulation a CW at those bins will then also show in +% the DC bin. +fir_wb_reverse = true; +fir_wb_reverse = false; % default +if fir_wb_reverse + P = 4; + coeff = reshape(coeff, P, NL/P); + coeff = flipud(coeff); + coeff = reshape(coeff, 1, NL); +end + +% FIR filter analysis +ZP = 1; +ZP = 16; % use zero padding factor ZP >> 1 to increase frequency resolution of hf_abs +coeff_zero_padded = [coeff / sum(coeff), zeros(1, (ZP-1)*NL)]; +hf_abs = abs(fftshift(fft(coeff_zero_padded, NL*ZP))); + +pp = 1:N; % polyphases index +hi = 1:NL; % coefficients index +hx = hi / N; % coefficients axis in tap units + +fi = 1:NL*ZP; % frequency index +fx = (fi - NL*ZP/2-1) / L; % frequency axis in channel units after fft_shift() + +fi_0 = NL*ZP/2+1; % frequency index of center of channel so fx = 0 +fi_n = fi_0 - round(L*ZP/2); % frequency index of -f_chan/2 +fi_p = fi_0 + round(L*ZP/2); % frequency index of +f_chan/2 + +hf_abs_0 = db(hf_abs(fi_0)); % power gain at center of channel +hf_abs_n = db(hf_abs(fi_n)); % power gain at -f_chan/2 +hf_abs_p = db(hf_abs(fi_p)); % power gain at +f_chan/2 + +% Find half power frequency edges of the passband +hpower_margin = 1/ZP; % start with some margin, +hpower_range = 4; % find pair of frequencies at lower edge and pair of frequencies at higher edge +hf_abs_power = hf_abs.^2; + +while true + hpower_indices = find(hf_abs_power>0.5-hpower_margin & hf_abs_power<0.5+hpower_margin); + hpower_len = length(hpower_indices); + if hpower_len>hpower_range + hpower_margin = hpower_margin / hpower_range; + elseif hpower_len<hpower_range + hpower_margin = hpower_margin * 1.1; + else + break; + end + %hpower_margin, hpower_len +end +if length(hpower_indices)==hpower_range + % Linear interpolate for the lower pair and for the higher pair of frequencies + hf_pair_lo = hf_abs_power(hpower_indices([1, 2])); + hf_pair_hi = hf_abs_power(hpower_indices([3, 4])); + fx_pair_lo = [fx(hpower_indices(1))/ZP, fx(hpower_indices(2))/ZP]; + fx_pair_hi = [fx(hpower_indices(3))/ZP, fx(hpower_indices(4))/ZP]; + % y = a * x + b + a_lo = (hf_pair_lo(2) - hf_pair_lo(1))/(fx_pair_lo(2) - fx_pair_lo(1)); % a = delta y / delta x + b_lo = hf_pair_lo(1) - a_lo*fx_pair_lo(1); % b = y - a * x + fx_lo = (0.5 - b_lo) / a_lo; % x = (y - b) / a + a_hi = (hf_pair_hi(2) - hf_pair_hi(1))/(fx_pair_hi(2) - fx_pair_hi(1)); % a = delta y / delta x + b_hi = hf_pair_hi(1) - a_hi*fx_pair_hi(1); % b = y - a * x + fx_hi = (0.5 - b_hi) / a_hi; % x = (y - b) / a + hpower_bandwidth = (fx_hi - fx_lo); +else + disp(sprintf('Error could not find half power bandwidth')); +end + + +%% Print FIR-filter parameters +disp(sprintf([ ... + 'Filter design : %s\n', ... + 'Number of polyphases (FFT size) : N = %d\n', ... + 'Number of FIR taps : L = %d\n', ... + 'Number of FIR coefficients : N*L = %d\n', ... + 'Channel half power factor : hp_factor = %8.6f\n', ... + 'Channel bandwidth : BWchan*N = %8.6f [f_chan]\n' , ... + 'Zero padding factor : ZP = %d\n', ... + 'Channel half power bandwidth : hpower_bandwidth = %5.3f [f_chan]\n', ... + 'Channel power gain at center : hf_abs_0 = %8.5f [dB]\n', ... + 'Channel power gain at -f_chan/2 : hf_abs_n = %8.5f [dB]\n', ... + 'Channel power gain at +f_chan/2 : hf_abs_p = %8.5f [dB]\n', ... + 'For reference 10*log10(0.25) : quarter power, so 0.5000 amplitude = %8.4f [dB]\n', ... + 'For reference 10*log10(0.5) : half power, so 0.7071 amplitude = %8.4f [dB]\n'] , ... + config.design, N, L, NL, config.hp_factor, BWchan*N, ZP, hpower_bandwidth, hf_abs_0, hf_abs_n, hf_abs_p, db(sqrt(0.25)), db(sqrt(0.5)))); +if strcmp(config.design, 'fircls1') + disp(sprintf([ ... + 'Pass band deviation : r_pass = %9.7f = %10.6f dB ripple\n' , ... + 'Stop band deviation : r_stop = %9.7f = %10.6f dB attenuation\n'] , ... + r_pass, 20*log10(1+r_pass), r_stop, 20*log10(r_stop))); +end + + +%% Create common file_name_prefix +file_name_prefix = 'run_pfir_coeff_m_'; +if config.hp_adjust + file_name_prefix = [file_name_prefix, 'flat_hp_']; +end +if config.dc_adjust + file_name_prefix = [file_name_prefix, 'no_dc_']; +end +file_name_prefix = [file_name_prefix, config.design]; +file_name_prefix = sprintf([file_name_prefix, '_%dtaps_%dpoints_%db'], L, N, coeff_w) + +%% Save quantized integer FIR filter coefficients +% N.B. - read '.txt'-file with 'wordpad' or use \r\n +if coeff_w>0 + if strcmp(config.design, 'bypass') + int_coeff = coeff; + elseif strcmp(config.design, 'incrementing') + int_coeff = coeff; + else + q_full_scale = 2^(coeff_w-1); + q_max = q_full_scale-1; + int_coeff = round(q_full_scale * coeff); % int_coeff - q_full_scale * coeff, should all be 0, because the quantization was done based on q_full_scale + coeff_dc_gain = sum(coeff) / N; + disp(sprintf([ ... + 'Max normalized quantized coeff = %12.10f (<= 1)\n' , ... + 'Max scaled quantized coeff = %12.6f (<= %d, q_margin = %d)\n', ... + 'DC gain per polyphase = %f\n'] , ... + max(coeff), max(int_coeff), q_max, q_max-max(int_coeff), coeff_dc_gain)); + end + file_name = ['data/', file_name_prefix, '.dat']; + fid = fopen(file_name , 'w'); + fprintf(fid ,'%d\n', int_coeff); + fclose(fid); + + if strcmp(application, 'lofar_subband') + if config.dc_adjust==false + % diff Coeffs16384Kaiser-quant.dat + % Coeffs16384Kaiser-quant-withdc.dat --> are identical + fid = fopen('data/Coeffs16384Kaiser-quant-withdc.dat', 'w'); + fprintf(fid ,'%d\n', int_coeff); + fclose(fid); + else + % diff + % run_pfir_coeff_m_no_dc_lofar_subband_16taps_1024points_16b.dat + % Coeffs16384Kaiser-quant-nodc.dat --> are identical + fid = fopen('data/Coeffs16384Kaiser-quant-nodc.dat', 'w'); + fprintf(fid ,'%d\n', int_coeff); + fclose(fid); + end + end +end + + +%% Plot FIR-filter coefficients +strNL = [' (', num2str(N), '-points, ', num2str(L), '-taps', ')']; +fig=fig+1; +figure('position', [300+fig*20 200-fig*20 1000 800]); +figure(fig); +if coeff_w == 0 + plot(hx, coeff); + title(['FIR filter coefficients for ', config.design, ' (floating point)', strNL]); +else + plot(hx, int_coeff); + title(['FIR filter coefficients for ', config.design, ' (', num2str(coeff_w), ' bits)', strNL]); +end +grid on; +fig=fig+1; +figure('position', [300+fig*20 200-fig*20 1000 800]); +figure(fig); +if coeff_w == 0 + mesh(reshape(coeff, N, L)); +else + mesh(reshape(int_coeff, N, L)); +end +title(['FIR filter coefficients for ', config.design, strNL]); +xlabel(['Taps 1:', num2str(L)]); +ylabel(['Channels 1:', num2str(N)]); + +%% Plot FIR-filter DC response per polyphase +if coeff_w>0 + dc_polyphases = sum(reshape(int_coeff, N, L).'); + dc_polyphases_mean = mean(dc_polyphases); + dc_polyphases_median = median(dc_polyphases); + dc_polyphases_min = min(dc_polyphases); + dc_polyphases_max = max(dc_polyphases); + disp(sprintf(['dc_polyphases_max : %d\n', ... + 'dc_polyphases_mean : %f\n', ... + 'dc_polyphases_median : %f\n', ... + 'dc_polyphases_min : %d\n', ... + 'dc_polyphases_span : %d\n'], ... + dc_polyphases_max, dc_polyphases_mean, dc_polyphases_median, dc_polyphases_min, dc_polyphases_max-dc_polyphases_min)) + strNL = [' (', num2str(N), '-points, ', num2str(L), '-taps', ')']; + fig=fig+1; + figure('position', [300+fig*20 200-fig*20 1000 800]); + figure(fig); + plot(pp, dc_polyphases - dc_polyphases_median); + title(['FIR filter DC response per polyphase coefficients for ', config.design, ' (', num2str(coeff_w), ' bits)', strNL]); + xlabel(['Polyphase 1:', num2str(N)]); + ylabel(['Sum of taps (with median at zero is ', num2str(dc_polyphases_median), ')']); + grid on; +end + +% Plot DC adjustment for LOFAR subband FIR-filter coefficients +if strcmp(application, 'lofar_subband') && config.dc_adjust==true + strNL = [' (', num2str(N), '-points, ', num2str(L), '-taps', ')']; + fig=fig+1; + figure('position', [300+fig*20 200-fig*20 1000 800]); + figure(fig); + plot(hi, coeffNoDC - coeffLoad); + title(['FIR filter coefficient DC adjustments for ', config.design, strNL]); + xlabel(['Coefficients']); + ylabel(['Adjustment']); + grid on; +end + +% Plot FIR-filter amplitude characteristic using fft() +% . full plot in [dB] +fig=fig+1; +figure('position', [300+fig*20 200-fig*20 1000 800]); +figure(fig); +plot(fx/ZP, db(hf_abs)); % db() = 20*log10 for voltage +xlo = fx(1)/ZP; +xhi = fx(NL*ZP)/ZP; +xlim([xlo xhi]); +ylo = -120; +yhi = 10; +ylim([ylo yhi]); +grid on; +title(['Full FIR filter transfer function for ', config.design, strNL]); +xlabel('Frequency [channels]'); +ylabel('Power [dB]'); +file_name = ['plots/', file_name_prefix, '_fir_transfer_function.jpg']; + +% . zoomed plot in power +fig=fig+1; +figure('position', [300+fig*20 200-fig*20 1000 800]); +figure(fig); +plot(fx/ZP, hf_abs_power); +xlo = -0.7; +xhi = 0.7; +xlim([xlo xhi]); +grid on; +title(['Zoomed FIR filter transfer function for ', config.design, strNL]); +xlabel('Frequency [channels]'); +ylabel('Power'); +file_name = ['plots/', file_name_prefix, '_fir_transfer_function.jpg']; +print(file_name, '-djpeg') + +% Plot FIR-filter amplitude and phase characteristic using freqz() +fig=fig+1; +figure('position', [300+fig*20 200-fig*20 1000 800]); +figure(fig); +Nres = N * 128; +freqz(coeff, 1, Nres); % draws 2 subplots, one for magnitude and one for phase +subplot(2,1,1); +xlim([0 3/N]) +title(['FIR filter transfer function for ', config.design, strNL]); +subplot(2,1,2); +xlim([0 3/N]) + + +% Plot FIR-filter response between channels +fig=fig+1; +figure('position', [300+fig*20 200-fig*20 1000 800]); +figure(fig); +subplot(2,1,1) +hf_abs1 = circshift(hf_abs, L*ZP, 2); % shift to next channel (in dimension 2 because hf_abs is a row vector) +plot(fx/ZP, db(hf_abs), 'k', fx/ZP, db(hf_abs1), 'r'); % db() = 20 * log10 for voltage +xlo = -1; +xhi = 2; +xlim([xlo xhi]); +grid on; +title(['FIR filter transfer function between channels for ', config.design, strNL]); +xlabel('Frequency [channels]'); +ylabel('Power [dB]'); + +subplot(2,1,2) +plot(fx/ZP, hf_abs.^2, 'r.', ... + fx/ZP, hf_abs1.^2, 'b.', ... + fx/ZP, hf_abs.^2 + hf_abs1.^2, 'k'); +xlo = -1; +xhi = 2; +xlim([xlo xhi]); +%ylim([0.8 1.2]); +grid on; +title(['FIR filter sum of power responses between channels for ', config.design, strNL]); +xlabel('Frequency [channels]'); +ylabel('Power'); + -- GitLab