Code:
// Speedy -- August 16, 2003
// Contest Entry for ADC #3
// This uses asyncronous reading: When the program is processing the current
// buffer, the system is reading the next buffer. Then it swaps buffers and repeats.
// The large multable is done so that numbers under four digits can be looked
// up in the table, increasing speed. It saves a slow integer multiplication of
// ten and a substraction of the ASCII space character.
// This was compiled on Microsoft Visual C++.NET 2002 as unmanaged (normal) C++
// code. The operating system was Windows 2000. This will probably not run on
// Windows 95, 98, ME and maybe not NT. It should definatly run on Windows XP.
// On my Pentium II 366 MHz, 5400 RPM IBM laptop, it processed the average of
// a 2.755 MB file (100,000 numbers) in less than a third of a second.
// Have fun! :)
#include <windows.h>
#include <stdio.h>
const int multable[] = {
-48, -38, -28, -18, -8, 2, 12, 22, 32, 42,
52, 62, 72, 82, 92, 102, 112, 122, 132, 142,
152, 162, 172, 182, 192, 202, 212, 222, 232, 242,
252, 262, 272, 282, 292, 302, 312, 322, 332, 342,
352, 362, 372, 382, 392, 402, 412, 422, 432, 442,
452, 462, 472, 482, 492, 502, 512, 522, 532, 542,
552, 562, 572, 582, 592, 602, 612, 622, 632, 642,
652, 662, 672, 682, 692, 702, 712, 722, 732, 742,
752, 762, 772, 782, 792, 802, 812, 822, 832, 842,
852, 862, 872, 882, 892, 902, 912, 922, 932, 942,
952, 962, 972, 982, 992, 1002, 1012, 1022, 1032, 1042,
1052, 1062, 1072, 1082, 1092, 1102, 1112, 1122, 1132, 1142,
1152, 1162, 1172, 1182, 1192, 1202, 1212, 1222, 1232, 1242,
1252, 1262, 1272, 1282, 1292, 1302, 1312, 1322, 1332, 1342,
1352, 1362, 1372, 1382, 1392, 1402, 1412, 1422, 1432, 1442,
1452, 1462, 1472, 1482, 1492, 1502, 1512, 1522, 1532, 1542,
1552, 1562, 1572, 1582, 1592, 1602, 1612, 1622, 1632, 1642,
1652, 1662, 1672, 1682, 1692, 1702, 1712, 1722, 1732, 1742,
1752, 1762, 1772, 1782, 1792, 1802, 1812, 1822, 1832, 1842,
1852, 1862, 1872, 1882, 1892, 1902, 1912, 1922, 1932, 1942,
1952, 1962, 1972, 1982, 1992, 2002, 2012, 2022, 2032, 2042,
2052, 2062, 2072, 2082, 2092, 2102, 2112, 2122, 2132, 2142,
2152, 2162, 2172, 2182, 2192, 2202, 2212, 2222, 2232, 2242,
2252, 2262, 2272, 2282, 2292, 2302, 2312, 2322, 2332, 2342,
2352, 2362, 2372, 2382, 2392, 2402, 2412, 2422, 2432, 2442,
2452, 2462, 2472, 2482, 2492, 2502, 2512, 2522, 2532, 2542,
2552, 2562, 2572, 2582, 2592, 2602, 2612, 2622, 2632, 2642,
2652, 2662, 2672, 2682, 2692, 2702, 2712, 2722, 2732, 2742,
2752, 2762, 2772, 2782, 2792, 2802, 2812, 2822, 2832, 2842,
2852, 2862, 2872, 2882, 2892, 2902, 2912, 2922, 2932, 2942,
2952, 2962, 2972, 2982, 2992, 3002, 3012, 3022, 3032, 3042,
3052, 3062, 3072, 3082, 3092, 3102, 3112, 3122, 3132, 3142,
3152, 3162, 3172, 3182, 3192, 3202, 3212, 3222, 3232, 3242,
3252, 3262, 3272, 3282, 3292, 3302, 3312, 3322, 3332, 3342,
3352, 3362, 3372, 3382, 3392, 3402, 3412, 3422, 3432, 3442,
3452, 3462, 3472, 3482, 3492, 3502, 3512, 3522, 3532, 3542,
3552, 3562, 3572, 3582, 3592, 3602, 3612, 3622, 3632, 3642,
3652, 3662, 3672, 3682, 3692, 3702, 3712, 3722, 3732, 3742,
3752, 3762, 3772, 3782, 3792, 3802, 3812, 3822, 3832, 3842,
3852, 3862, 3872, 3882, 3892, 3902, 3912, 3922, 3932, 3942,
3952, 3962, 3972, 3982, 3992, 4002, 4012, 4022, 4032, 4042,
4052, 4062, 4072, 4082, 4092, 4102, 4112, 4122, 4132, 4142,
4152, 4162, 4172, 4182, 4192, 4202, 4212, 4222, 4232, 4242,
4252, 4262, 4272, 4282, 4292, 4302, 4312, 4322, 4332, 4342,
4352, 4362, 4372, 4382, 4392, 4402, 4412, 4422, 4432, 4442,
4452, 4462, 4472, 4482, 4492, 4502, 4512, 4522, 4532, 4542,
4552, 4562, 4572, 4582, 4592, 4602, 4612, 4622, 4632, 4642,
4652, 4662, 4672, 4682, 4692, 4702, 4712, 4722, 4732, 4742,
4752, 4762, 4772, 4782, 4792, 4802, 4812, 4822, 4832, 4842,
4852, 4862, 4872, 4882, 4892, 4902, 4912, 4922, 4932, 4942,
4952, 4962, 4972, 4982, 4992, 5002, 5012, 5022, 5032, 5042,
5052, 5062, 5072, 5082, 5092, 5102, 5112, 5122, 5132, 5142,
5152, 5162, 5172, 5182, 5192, 5202, 5212, 5222, 5232, 5242,
5252, 5262, 5272, 5282, 5292, 5302, 5312, 5322, 5332, 5342,
5352, 5362, 5372, 5382, 5392, 5402, 5412, 5422, 5432, 5442,
5452, 5462, 5472, 5482, 5492, 5502, 5512, 5522, 5532, 5542,
5552, 5562, 5572, 5582, 5592, 5602, 5612, 5622, 5632, 5642,
5652, 5662, 5672, 5682, 5692, 5702, 5712, 5722, 5732, 5742,
5752, 5762, 5772, 5782, 5792, 5802, 5812, 5822, 5832, 5842,
5852, 5862, 5872, 5882, 5892, 5902, 5912, 5922, 5932, 5942,
5952, 5962, 5972, 5982, 5992, 6002, 6012, 6022, 6032, 6042,
6052, 6062, 6072, 6082, 6092, 6102, 6112, 6122, 6132, 6142,
6152, 6162, 6172, 6182, 6192, 6202, 6212, 6222, 6232, 6242,
6252, 6262, 6272, 6282, 6292, 6302, 6312, 6322, 6332, 6342,
6352, 6362, 6372, 6382, 6392, 6402, 6412, 6422, 6432, 6442,
6452, 6462, 6472, 6482, 6492, 6502, 6512, 6522, 6532, 6542,
6552, 6562, 6572, 6582, 6592, 6602, 6612, 6622, 6632, 6642,
6652, 6662, 6672, 6682, 6692, 6702, 6712, 6722, 6732, 6742,
6752, 6762, 6772, 6782, 6792, 6802, 6812, 6822, 6832, 6842,
6852, 6862, 6872, 6882, 6892, 6902, 6912, 6922, 6932, 6942,
6952, 6962, 6972, 6982, 6992, 7002, 7012, 7022, 7032, 7042,
7052, 7062, 7072, 7082, 7092, 7102, 7112, 7122, 7132, 7142,
7152, 7162, 7172, 7182, 7192, 7202, 7212, 7222, 7232, 7242,
7252, 7262, 7272, 7282, 7292, 7302, 7312, 7322, 7332, 7342,
7352, 7362, 7372, 7382, 7392, 7402, 7412, 7422, 7432, 7442,
7452, 7462, 7472, 7482, 7492, 7502, 7512, 7522, 7532, 7542,
7552, 7562, 7572, 7582, 7592, 7602, 7612, 7622, 7632, 7642,
7652, 7662, 7672, 7682, 7692, 7702, 7712, 7722, 7732, 7742,
7752, 7762, 7772, 7782, 7792, 7802, 7812, 7822, 7832, 7842,
7852, 7862, 7872, 7882, 7892, 7902, 7912, 7922, 7932, 7942,
7952, 7962, 7972, 7982, 7992, 8002, 8012, 8022, 8032, 8042,
8052, 8062, 8072, 8082, 8092, 8102, 8112, 8122, 8132, 8142,
8152, 8162, 8172, 8182, 8192, 8202, 8212, 8222, 8232, 8242,
8252, 8262, 8272, 8282, 8292, 8302, 8312, 8322, 8332, 8342,
8352, 8362, 8372, 8382, 8392, 8402, 8412, 8422, 8432, 8442,
8452, 8462, 8472, 8482, 8492, 8502, 8512, 8522, 8532, 8542,
8552, 8562, 8572, 8582, 8592, 8602, 8612, 8622, 8632, 8642,
8652, 8662, 8672, 8682, 8692, 8702, 8712, 8722, 8732, 8742,
8752, 8762, 8772, 8782, 8792, 8802, 8812, 8822, 8832, 8842,
8852, 8862, 8872, 8882, 8892, 8902, 8912, 8922, 8932, 8942,
8952, 8962, 8972, 8982, 8992, 9002, 9012, 9022, 9032, 9042,
9052, 9062, 9072, 9082, 9092, 9102, 9112, 9122, 9132, 9142,
9152, 9162, 9172, 9182, 9192, 9202, 9212, 9222, 9232, 9242,
9252, 9262, 9272, 9282, 9292, 9302, 9312, 9322, 9332, 9342,
9352, 9362, 9372, 9382, 9392, 9402, 9412, 9422, 9432, 9442,
9452, 9462, 9472, 9482, 9492, 9502, 9512, 9522, 9532, 9542,
9552, 9562, 9572, 9582, 9592, 9602, 9612, 9622, 9632, 9642,
9652, 9662, 9672, 9682, 9692, 9702, 9712, 9722, 9732, 9742,
9752, 9762, 9772, 9782, 9792, 9802, 9812, 9822, 9832, 9842,
9852, 9862, 9872, 9882, 9892, 9902, 9912, 9922, 9932, 9942,
9952, 9962, 9972, 9982, 9992, 10002, 10012, 10022, 10032, 10042,
10052, 10062, 10072, 10082, 10092, 10102, 10112, 10122, 10132, 10142,
10152, 10162, 10172, 10182, 10192, 10202, 10212, 10222, 10232, 10242,
10252, 10262, 10272, 10282, 10292, 10302, 10312, 10322, 10332, 10342,
10352, 10362, 10372, 10382, 10392, 10402, 10412, 10422, 10432, 10442,
10452, 10462, 10472, 10482, 10492, 10502, 10512, 10522, 10532, 10542,
10552, 10562, 10572, 10582, 10592, 10602, 10612, 10622, 10632, 10642,
10652, 10662, 10672, 10682, 10692, 10702, 10712, 10722, 10732, 10742,
10752, 10762, 10772, 10782, 10792, 10802, 10812, 10822, 10832, 10842,
10852, 10862, 10872, 10882, 10892, 10902, 10912, 10922, 10932, 10942,
10952, 10962, 10972, 10982, 10992, 11002, 11012, 11022, 11032, 11042,
11052, 11062, 11072, 11082, 11092, 11102, 11112, 11122, 11132, 11142,
11152, 11162, 11172, 11182, 11192, 11202, 11212, 11222, 11232, 11242,
11252, 11262, 11272, 11282, 11292, 11302, 11312, 11322, 11332, 11342,
11352, 11362, 11372, 11382, 11392, 11402, 11412, 11422, 11432, 11442,
11452, 11462, 11472, 11482, 11492, 11502, 11512, 11522, 11532, 11542,
11552, 11562, 11572, 11582, 11592, 11602, 11612, 11622, 11632, 11642,
11652, 11662, 11672, 11682, 11692, 11702, 11712, 11722, 11732, 11742,
11752, 11762, 11772, 11782, 11792, 11802, 11812, 11822, 11832, 11842,
11852, 11862, 11872, 11882, 11892, 11902, 11912, 11922, 11932, 11942,
11952, 11962, 11972, 11982, 11992, 12002, 12012, 12022, 12032, 12042,
12052, 12062, 12072, 12082, 12092, 12102, 12112, 12122, 12132, 12142,
12152, 12162, 12172, 12182, 12192, 12202, 12212, 12222, 12232, 12242,
12252, 12262, 12272, 12282, 12292, 12302, 12312, 12322, 12332, 12342,
12352, 12362, 12372, 12382, 12392, 12402, 12412, 12422, 12432, 12442,
12452, 12462, 12472, 12482, 12492, 12502, 12512, 12522, 12532, 12542,
12552, 12562, 12572, 12582, 12592, 12602, 12612, 12622, 12632, 12642,
12652, 12662, 12672, 12682, 12692, 12702, 12712, 12722, 12732, 12742,
12752, 12762, 12772, 12782, 12792, 12802, 12812, 12822, 12832, 12842,
12852, 12862, 12872, 12882, 12892, 12902, 12912, 12922, 12932, 12942,
12952, 12962, 12972, 12982, 12992, 13002, 13012, 13022, 13032, 13042,
13052, 13062, 13072, 13082, 13092, 13102, 13112, 13122, 13132, 13142,
13152, 13162, 13172, 13182, 13192, 13202, 13212, 13222, 13232, 13242,
13252, 13262, 13272, 13282, 13292, 13302, 13312, 13322, 13332, 13342,
13352, 13362, 13372, 13382, 13392, 13402, 13412, 13422, 13432, 13442,
13452, 13462, 13472, 13482, 13492, 13502, 13512, 13522, 13532, 13542,
13552, 13562, 13572, 13582, 13592, 13602, 13612, 13622, 13632, 13642,
13652, 13662, 13672, 13682, 13692, 13702, 13712, 13722, 13732, 13742,
13752, 13762, 13772, 13782, 13792, 13802, 13812, 13822, 13832, 13842,
13852, 13862, 13872, 13882, 13892, 13902, 13912, 13922, 13932, 13942,
13952, 13962, 13972, 13982, 13992, 14002, 14012, 14022, 14032, 14042,
14052, 14062, 14072, 14082, 14092, 14102, 14112, 14122, 14132, 14142,
14152, 14162, 14172, 14182, 14192, 14202, 14212, 14222, 14232, 14242,
14252, 14262, 14272, 14282, 14292, 14302, 14312, 14322, 14332, 14342,
14352, 14362, 14372, 14382, 14392, 14402, 14412, 14422, 14432, 14442,
14452, 14462, 14472, 14482, 14492, 14502, 14512, 14522, 14532, 14542,
14552, 14562, 14572, 14582, 14592, 14602, 14612, 14622, 14632, 14642,
14652, 14662, 14672, 14682, 14692, 14702, 14712, 14722, 14732, 14742,
14752, 14762, 14772, 14782, 14792, 14802, 14812, 14822, 14832, 14842,
14852, 14862, 14872, 14882, 14892, 14902, 14912, 14922, 14932, 14942,
14952, 14962, 14972, 14982, 14992, 15002, 15012, 15022, 15032, 15042,
15052, 15062, 15072, 15082, 15092, 15102, 15112, 15122, 15132, 15142,
15152, 15162, 15172, 15182, 15192, 15202, 15212, 15222, 15232, 15242,
15252, 15262, 15272, 15282, 15292, 15302, 15312, 15322, 15332, 15342,
15352, 15362, 15372, 15382, 15392, 15402, 15412, 15422, 15432, 15442,
15452, 15462, 15472, 15482, 15492, 15502, 15512, 15522, 15532, 15542,
15552, 15562, 15572, 15582, 15592, 15602, 15612, 15622, 15632, 15642,
15652, 15662, 15672, 15682, 15692, 15702, 15712, 15722, 15732, 15742,
15752, 15762, 15772, 15782, 15792, 15802, 15812, 15822, 15832, 15842,
15852, 15862, 15872, 15882, 15892, 15902, 15912, 15922, 15932, 15942,
15952, 15962, 15972, 15982, 15992, 16002, 16012, 16022, 16032, 16042,
16052, 16062, 16072, 16082, 16092, 16102, 16112, 16122, 16132, 16142,
16152, 16162, 16172, 16182, 16192, 16202, 16212, 16222, 16232, 16242,
16252, 16262, 16272, 16282, 16292, 16302, 16312, 16322, 16332, 16342,
16352, 16362, 16372, 16382, 16392, 16402, 16412, 16422, 16432, 16442,
16452, 16462, 16472, 16482, 16492, 16502, 16512, 16522, 16532, 16542,
16552, 16562, 16572, 16582, 16592, 16602, 16612, 16622, 16632, 16642,
16652, 16662, 16672, 16682, 16692, 16702, 16712, 16722, 16732, 16742,
16752, 16762, 16772, 16782, 16792, 16802, 16812, 16822, 16832, 16842,
16852, 16862, 16872, 16882, 16892, 16902, 16912, 16922, 16932, 16942,
16952, 16962, 16972, 16982, 16992, 17002, 17012, 17022, 17032, 17042,
17052, 17062, 17072, 17082, 17092, 17102, 17112, 17122, 17132, 17142,
17152, 17162, 17172, 17182, 17192, 17202, 17212, 17222, 17232, 17242,
17252, 17262, 17272, 17282, 17292, 17302, 17312, 17322, 17332, 17342,
17352, 17362, 17372, 17382, 17392, 17402, 17412, 17422, 17432, 17442,
17452, 17462, 17472, 17482, 17492, 17502, 17512, 17522, 17532, 17542,
17552, 17562, 17572, 17582, 17592, 17602, 17612, 17622, 17632, 17642,
17652, 17662, 17672, 17682, 17692, 17702, 17712, 17722, 17732, 17742,
17752, 17762, 17772, 17782, 17792, 17802, 17812, 17822, 17832, 17842,
17852, 17862, 17872, 17882, 17892, 17902, 17912, 17922, 17932, 17942,
17952, 17962, 17972, 17982, 17992, 18002, 18012, 18022, 18032, 18042,
18052, 18062, 18072, 18082, 18092, 18102, 18112, 18122, 18132, 18142,
18152, 18162, 18172, 18182, 18192, 18202, 18212, 18222, 18232, 18242,
18252, 18262, 18272, 18282, 18292, 18302, 18312, 18322, 18332, 18342,
18352, 18362, 18372, 18382, 18392, 18402, 18412, 18422, 18432, 18442,
18452, 18462, 18472, 18482, 18492, 18502, 18512, 18522, 18532, 18542,
18552, 18562, 18572, 18582, 18592, 18602, 18612, 18622, 18632, 18642,
18652, 18662, 18672, 18682, 18692, 18702, 18712, 18722, 18732, 18742,
18752, 18762, 18772, 18782, 18792, 18802, 18812, 18822, 18832, 18842,
18852, 18862, 18872, 18882, 18892, 18902, 18912, 18922, 18932, 18942,
18952, 18962, 18972, 18982, 18992, 19002, 19012, 19022, 19032, 19042,
19052, 19062, 19072, 19082, 19092, 19102, 19112, 19122, 19132, 19142,
19152, 19162, 19172, 19182, 19192, 19202, 19212, 19222, 19232, 19242,
19252, 19262, 19272, 19282, 19292, 19302, 19312, 19322, 19332, 19342,
19352, 19362, 19372, 19382, 19392, 19402, 19412, 19422, 19432, 19442,
19452, 19462, 19472, 19482, 19492, 19502, 19512, 19522, 19532, 19542,
19552, 19562, 19572, 19582, 19592, 19602, 19612, 19622, 19632, 19642,
19652, 19662, 19672, 19682, 19692, 19702, 19712, 19722, 19732, 19742,
19752, 19762, 19772, 19782, 19792, 19802, 19812, 19822, 19832, 19842,
19852, 19862, 19872, 19882, 19892, 19902, 19912, 19922, 19932, 19942,
19952, 19962, 19972, 19982, 19992, 20002, 20012, 20022, 20032, 20042,
20052, 20062, 20072, 20082, 20092, 20102, 20112, 20122, 20132, 20142,
20152, 20162, 20172, 20182, 20192, 20202, 20212, 20222, 20232, 20242,
20252, 20262, 20272, 20282, 20292, 20302, 20312, 20322, 20332, 20342,
20352, 20362, 20372, 20382, 20392, 20402, 20412, 20422, 20432, 20442,
20452, 20462, 20472, 20482, 20492, 20502, 20512, 20522, 20532, 20542,
20552, 20562, 20572, 20582, 20592, 20602, 20612, 20622, 20632, 20642,
20652, 20662, 20672, 20682, 20692, 20702, 20712, 20722, 20732, 20742,
20752, 20762, 20772, 20782, 20792, 20802, 20812, 20822, 20832, 20842,
20852, 20862, 20872, 20882, 20892, 20902, 20912, 20922, 20932, 20942,
20952, 20962, 20972, 20982, 20992, 21002, 21012, 21022, 21032, 21042,
21052, 21062, 21072, 21082, 21092, 21102, 21112, 21122, 21132, 21142,
21152, 21162, 21172, 21182, 21192, 21202, 21212, 21222, 21232, 21242,
21252, 21262, 21272, 21282, 21292, 21302, 21312, 21322, 21332, 21342,
21352, 21362, 21372, 21382, 21392, 21402, 21412, 21422, 21432, 21442,
21452, 21462, 21472, 21482, 21492, 21502, 21512, 21522, 21532, 21542,
21552, 21562, 21572, 21582, 21592, 21602, 21612, 21622, 21632, 21642,
21652, 21662, 21672, 21682, 21692, 21702, 21712, 21722, 21732, 21742,
21752, 21762, 21772, 21782, 21792, 21802, 21812, 21822, 21832, 21842,
21852, 21862, 21872, 21882, 21892, 21902, 21912, 21922, 21932, 21942,
21952, 21962, 21972, 21982, 21992, 22002, 22012, 22022, 22032, 22042,
22052, 22062, 22072, 22082, 22092, 22102, 22112, 22122, 22132, 22142,
22152, 22162, 22172, 22182, 22192, 22202, 22212, 22222, 22232, 22242,
22252, 22262, 22272, 22282, 22292, 22302, 22312, 22322, 22332, 22342,
22352, 22362, 22372, 22382, 22392, 22402, 22412, 22422, 22432, 22442,
22452, 22462, 22472, 22482, 22492, 22502, 22512, 22522, 22532, 22542,
22552, 22562, 22572, 22582, 22592, 22602, 22612, 22622, 22632, 22642,
22652, 22662, 22672, 22682, 22692, 22702, 22712, 22722, 22732, 22742,
22752, 22762, 22772, 22782, 22792, 22802, 22812, 22822, 22832, 22842,
22852, 22862, 22872, 22882, 22892, 22902, 22912, 22922, 22932, 22942,
22952, 22962, 22972, 22982, 22992, 23002, 23012, 23022, 23032, 23042,
23052, 23062, 23072, 23082, 23092, 23102, 23112, 23122, 23132, 23142,
23152, 23162, 23172, 23182, 23192, 23202, 23212, 23222, 23232, 23242,
23252, 23262, 23272, 23282, 23292, 23302, 23312, 23322, 23332, 23342,
23352, 23362, 23372, 23382, 23392, 23402, 23412, 23422, 23432, 23442,
23452, 23462, 23472, 23482, 23492, 23502, 23512, 23522, 23532, 23542,
23552, 23562, 23572, 23582, 23592, 23602, 23612, 23622, 23632, 23642,
23652, 23662, 23672, 23682, 23692, 23702, 23712, 23722, 23732, 23742,
23752, 23762, 23772, 23782, 23792, 23802, 23812, 23822, 23832, 23842,
23852, 23862, 23872, 23882, 23892, 23902, 23912, 23922, 23932, 23942,
23952, 23962, 23972, 23982, 23992, 24002, 24012, 24022, 24032, 24042,
24052, 24062, 24072, 24082, 24092, 24102, 24112, 24122, 24132, 24142,
24152, 24162, 24172, 24182, 24192, 24202, 24212, 24222, 24232, 24242,
24252, 24262, 24272, 24282, 24292, 24302, 24312, 24322, 24332, 24342,
24352, 24362, 24372, 24382, 24392, 24402, 24412, 24422, 24432, 24442,
24452, 24462, 24472, 24482, 24492, 24502, 24512, 24522, 24532, 24542,
24552, 24562, 24572, 24582, 24592, 24602, 24612, 24622, 24632, 24642,
24652, 24662, 24672, 24682, 24692, 24702, 24712, 24722, 24732, 24742,
24752, 24762, 24772, 24782, 24792, 24802, 24812, 24822, 24832, 24842,
24852, 24862, 24872, 24882, 24892, 24902, 24912, 24922, 24932, 24942,
24952, 24962, 24972, 24982, 24992, 25002, 25012, 25022, 25032, 25042,
25052, 25062, 25072, 25082, 25092, 25102, 25112, 25122, 25132, 25142,
25152, 25162, 25172, 25182, 25192, 25202, 25212, 25222, 25232, 25242,
25252, 25262, 25272, 25282, 25292, 25302, 25312, 25322, 25332, 25342,
25352, 25362, 25372, 25382, 25392, 25402, 25412, 25422, 25432, 25442,
25452, 25462, 25472, 25482, 25492, 25502, 25512, 25522, 25532, 25542,
25552, 25562, 25572, 25582, 25592, 25602, 25612, 25622, 25632, 25642,
25652, 25662, 25672, 25682, 25692, 25702, 25712, 25722, 25732, 25742,
25752, 25762, 25772, 25782, 25792, 25802, 25812, 25822, 25832, 25842,
25852, 25862, 25872, 25882, 25892, 25902, 25912, 25922, 25932, 25942,
25952, 25962, 25972, 25982, 25992, 26002, 26012, 26022, 26032, 26042,
26052, 26062, 26072, 26082, 26092, 26102, 26112, 26122, 26132, 26142,
26152, 26162, 26172, 26182, 26192, 26202, 26212, 26222, 26232, 26242,
26252, 26262, 26272, 26282, 26292, 26302, 26312, 26322, 26332, 26342,
26352, 26362, 26372, 26382, 26392, 26402, 26412, 26422, 26432, 26442,
26452, 26462, 26472, 26482, 26492, 26502, 26512, 26522, 26532, 26542,
26552, 26562, 26572, 26582, 26592, 26602, 26612, 26622, 26632, 26642,
26652, 26662, 26672, 26682, 26692, 26702, 26712, 26722, 26732, 26742,
26752, 26762, 26772, 26782, 26792, 26802, 26812, 26822, 26832, 26842,
26852, 26862, 26872, 26882, 26892, 26902, 26912, 26922, 26932, 26942,
26952, 26962, 26972, 26982, 26992, 27002, 27012, 27022, 27032, 27042,
27052, 27062, 27072, 27082, 27092, 27102, 27112, 27122, 27132, 27142,
27152, 27162, 27172, 27182, 27192, 27202, 27212, 27222, 27232, 27242,
27252, 27262, 27272, 27282, 27292, 27302, 27312, 27322, 27332, 27342,
27352, 27362, 27372, 27382, 27392, 27402, 27412, 27422, 27432, 27442,
27452, 27462, 27472, 27482, 27492, 27502, 27512, 27522, 27532, 27542,
27552, 27562, 27572, 27582, 27592, 27602, 27612, 27622, 27632, 27642,
27652, 27662, 27672, 27682, 27692, 27702, 27712, 27722, 27732, 27742,
27752, 27762, 27772, 27782, 27792, 27802, 27812, 27822, 27832, 27842,
27852, 27862, 27872, 27882, 27892, 27902, 27912, 27922, 27932, 27942,
27952, 27962, 27972, 27982, 27992, 28002, 28012, 28022, 28032, 28042,
28052, 28062, 28072, 28082, 28092, 28102, 28112, 28122, 28132, 28142,
28152, 28162, 28172, 28182, 28192, 28202, 28212, 28222, 28232, 28242,
28252, 28262, 28272, 28282, 28292, 28302, 28312, 28322, 28332, 28342,
28352, 28362, 28372, 28382, 28392, 28402, 28412, 28422, 28432, 28442,
28452, 28462, 28472, 28482, 28492, 28502, 28512, 28522, 28532, 28542,
28552, 28562, 28572, 28582, 28592, 28602, 28612, 28622, 28632, 28642,
28652, 28662, 28672, 28682, 28692, 28702, 28712, 28722, 28732, 28742,
28752, 28762, 28772, 28782, 28792, 28802, 28812, 28822, 28832, 28842,
28852, 28862, 28872, 28882, 28892, 28902, 28912, 28922, 28932, 28942,
28952, 28962, 28972, 28982, 28992, 29002, 29012, 29022, 29032, 29042,
29052, 29062, 29072, 29082, 29092, 29102, 29112, 29122, 29132, 29142,
29152, 29162, 29172, 29182, 29192, 29202, 29212, 29222, 29232, 29242,
29252, 29262, 29272, 29282, 29292, 29302, 29312, 29322, 29332, 29342,
29352, 29362, 29372, 29382, 29392, 29402, 29412, 29422, 29432, 29442,
29452, 29462, 29472, 29482, 29492, 29502, 29512, 29522, 29532, 29542,
29552, 29562, 29572, 29582, 29592, 29602, 29612, 29622, 29632, 29642,
29652, 29662, 29672, 29682, 29692, 29702, 29712, 29722, 29732, 29742,
29752, 29762, 29772, 29782, 29792, 29802, 29812, 29822, 29832, 29842,
29852, 29862, 29872, 29882, 29892, 29902, 29912, 29922, 29932, 29942,
29952, 29962, 29972, 29982, 29992, 30002, 30012, 30022, 30032, 30042,
30052, 30062, 30072, 30082, 30092, 30102, 30112, 30122, 30132, 30142,
30152, 30162, 30172, 30182, 30192, 30202, 30212, 30222, 30232, 30242,
30252, 30262, 30272, 30282, 30292, 30302, 30312, 30322, 30332, 30342,
30352, 30362, 30372, 30382, 30392, 30402, 30412, 30422, 30432, 30442,
30452, 30462, 30472, 30482, 30492, 30502, 30512, 30522, 30532, 30542,
30552, 30562, 30572, 30582, 30592, 30602, 30612, 30622, 30632, 30642,
30652, 30662, 30672, 30682, 30692, 30702, 30712, 30722, 30732, 30742,
30752, 30762, 30772, 30782, 30792, 30802, 30812, 30822, 30832, 30842,
30852, 30862, 30872, 30882, 30892, 30902, 30912, 30922, 30932, 30942,
30952, 30962, 30972, 30982, 30992, 31002, 31012, 31022, 31032, 31042,
31052, 31062, 31072, 31082, 31092, 31102, 31112, 31122, 31132, 31142,
31152, 31162, 31172, 31182, 31192, 31202, 31212, 31222, 31232, 31242,
31252, 31262, 31272, 31282, 31292, 31302, 31312, 31322, 31332, 31342,
31352, 31362, 31372, 31382, 31392, 31402, 31412, 31422, 31432, 31442,
31452, 31462, 31472, 31482, 31492, 31502, 31512, 31522, 31532, 31542,
31552, 31562, 31572, 31582, 31592, 31602, 31612, 31622, 31632, 31642,
31652, 31662, 31672, 31682, 31692, 31702, 31712, 31722, 31732, 31742,
31752, 31762, 31772, 31782, 31792, 31802, 31812, 31822, 31832, 31842,
31852, 31862, 31872, 31882, 31892, 31902, 31912, 31922, 31932, 31942,
31952, 31962, 31972, 31982, 31992, 32002, 32012, 32022, 32032, 32042,
32052, 32062, 32072, 32082, 32092, 32102, 32112, 32122, 32132, 32142,
32152, 32162, 32172, 32182, 32192, 32202, 32212, 32222, 32232, 32242,
32252, 32262, 32272, 32282, 32292, 32302, 32312, 32322, 32332, 32342,
32352, 32362, 32372, 32382, 32392, 32402, 32412, 32422, 32432, 32442,
32452, 32462, 32472, 32482, 32492, 32502, 32512, 32522, 32532, 32542,
32552, 32562, 32572, 32582, 32592, 32602, 32612, 32622, 32632, 32642,
32652, 32662, 32672, 32682, 32692, 32702, 32712, 32722, 32732, 32742,
32752, 32762, 32772, 32782, 32792, 32802, 32812, 32822, 32832, 32842,
32852, 32862, 32872, 32882, 32892, 32902, 32912, 32922, 32932, 32942,
32952, 32962, 32972, 32982, 32992, 33002, 33012, 33022, 33032, 33042,
33052, 33062, 33072, 33082, 33092, 33102, 33112, 33122, 33132, 33142,
33152, 33162, 33172, 33182, 33192, 33202, 33212, 33222, 33232, 33242,
33252, 33262, 33272, 33282, 33292, 33302, 33312, 33322, 33332, 33342,
33352, 33362, 33372, 33382, 33392, 33402, 33412, 33422, 33432, 33442,
33452, 33462, 33472, 33482, 33492, 33502, 33512, 33522, 33532, 33542,
33552, 33562, 33572, 33582, 33592, 33602, 33612, 33622, 33632, 33642,
33652, 33662, 33672, 33682, 33692, 33702, 33712, 33722, 33732, 33742,
33752, 33762, 33772, 33782, 33792, 33802, 33812, 33822, 33832, 33842,
33852, 33862, 33872, 33882, 33892, 33902, 33912, 33922, 33932, 33942,
33952, 33962, 33972, 33982, 33992, 34002, 34012, 34022, 34032, 34042,
34052, 34062, 34072, 34082, 34092, 34102, 34112, 34122, 34132, 34142,
34152, 34162, 34172, 34182, 34192, 34202, 34212, 34222, 34232, 34242,
34252, 34262, 34272, 34282, 34292, 34302, 34312, 34322, 34332, 34342,
34352, 34362, 34372, 34382, 34392, 34402, 34412, 34422, 34432, 34442,
34452, 34462, 34472, 34482, 34492, 34502, 34512, 34522, 34532, 34542,
34552, 34562, 34572, 34582, 34592, 34602, 34612, 34622, 34632, 34642,
34652, 34662, 34672, 34682, 34692, 34702, 34712, 34722, 34732, 34742,
34752, 34762, 34772, 34782, 34792, 34802, 34812, 34822, 34832, 34842,
34852, 34862, 34872, 34882, 34892, 34902, 34912, 34922, 34932, 34942,
34952, 34962, 34972, 34982, 34992, 35002, 35012, 35022, 35032, 35042,
35052, 35062, 35072, 35082, 35092, 35102, 35112, 35122, 35132, 35142,
35152, 35162, 35172, 35182, 35192, 35202, 35212, 35222, 35232, 35242,
35252, 35262, 35272, 35282, 35292, 35302, 35312, 35322, 35332, 35342,
35352, 35362, 35372, 35382, 35392, 35402, 35412, 35422, 35432, 35442,
35452, 35462, 35472, 35482, 35492, 35502, 35512, 35522, 35532, 35542,
35552, 35562, 35572, 35582, 35592, 35602, 35612, 35622, 35632, 35642,
35652, 35662, 35672, 35682, 35692, 35702, 35712, 35722, 35732, 35742,
35752, 35762, 35772, 35782, 35792, 35802, 35812, 35822, 35832, 35842,
35852, 35862, 35872, 35882, 35892, 35902, 35912, 35922, 35932, 35942,
35952, 35962, 35972, 35982, 35992, 36002, 36012, 36022, 36032, 36042,
36052, 36062, 36072, 36082, 36092, 36102, 36112, 36122, 36132, 36142,
36152, 36162, 36172, 36182, 36192, 36202, 36212, 36222, 36232, 36242,
36252, 36262, 36272, 36282, 36292, 36302, 36312, 36322, 36332, 36342,
36352, 36362, 36372, 36382, 36392, 36402, 36412, 36422, 36432, 36442,
36452, 36462, 36472, 36482, 36492, 36502, 36512, 36522, 36532, 36542,
36552, 36562, 36572, 36582, 36592, 36602, 36612, 36622, 36632, 36642,
36652, 36662, 36672, 36682, 36692, 36702, 36712, 36722, 36732, 36742,
36752, 36762, 36772, 36782, 36792, 36802, 36812, 36822, 36832, 36842,
36852, 36862, 36872, 36882, 36892, 36902, 36912, 36922, 36932, 36942,
36952, 36962, 36972, 36982, 36992, 37002, 37012, 37022, 37032, 37042,
37052, 37062, 37072, 37082, 37092, 37102, 37112, 37122, 37132, 37142,
37152, 37162, 37172, 37182, 37192, 37202, 37212, 37222, 37232, 37242,
37252, 37262, 37272, 37282, 37292, 37302, 37312, 37322, 37332, 37342,
37352, 37362, 37372, 37382, 37392, 37402, 37412, 37422, 37432, 37442,
37452, 37462, 37472, 37482, 37492, 37502, 37512, 37522, 37532, 37542,
37552, 37562, 37572, 37582, 37592, 37602, 37612, 37622, 37632, 37642,
37652, 37662, 37672, 37682, 37692, 37702, 37712, 37722, 37732, 37742,
37752, 37762, 37772, 37782, 37792, 37802, 37812, 37822, 37832, 37842,
37852, 37862, 37872, 37882, 37892, 37902, 37912, 37922, 37932, 37942,
37952, 37962, 37972, 37982, 37992, 38002, 38012, 38022, 38032, 38042,
38052, 38062, 38072, 38082, 38092, 38102, 38112, 38122, 38132, 38142,
38152, 38162, 38172, 38182, 38192, 38202, 38212, 38222, 38232, 38242,
38252, 38262, 38272, 38282, 38292, 38302, 38312, 38322, 38332, 38342,
38352, 38362, 38372, 38382, 38392, 38402, 38412, 38422, 38432, 38442,
38452, 38462, 38472, 38482, 38492, 38502, 38512, 38522, 38532, 38542,
38552, 38562, 38572, 38582, 38592, 38602, 38612, 38622, 38632, 38642,
38652, 38662, 38672, 38682, 38692, 38702, 38712, 38722, 38732, 38742,
38752, 38762, 38772, 38782, 38792, 38802, 38812, 38822, 38832, 38842,
38852, 38862, 38872, 38882, 38892, 38902, 38912, 38922, 38932, 38942,
38952, 38962, 38972, 38982, 38992, 39002, 39012, 39022, 39032, 39042,
39052, 39062, 39072, 39082, 39092, 39102, 39112, 39122, 39132, 39142,
39152, 39162, 39172, 39182, 39192, 39202, 39212, 39222, 39232, 39242,
39252, 39262, 39272, 39282, 39292, 39302, 39312, 39322, 39332, 39342,
39352, 39362, 39372, 39382, 39392, 39402, 39412, 39422, 39432, 39442,
39452, 39462, 39472, 39482, 39492, 39502, 39512, 39522, 39532, 39542,
39552, 39562, 39572, 39582, 39592, 39602, 39612, 39622, 39632, 39642,
39652, 39662, 39672, 39682, 39692, 39702, 39712, 39722, 39732, 39742,
39752, 39762, 39772, 39782, 39792, 39802, 39812, 39822, 39832, 39842,
39852, 39862, 39872, 39882, 39892, 39902, 39912, 39922, 39932, 39942,
39952, 39962, 39972, 39982, 39992, 40002, 40012, 40022, 40032, 40042,
40052, 40062, 40072, 40082, 40092, 40102, 40112, 40122, 40132, 40142,
40152, 40162, 40172, 40182, 40192, 40202, 40212, 40222, 40232, 40242,
40252, 40262, 40272, 40282, 40292, 40302, 40312, 40322, 40332, 40342,
40352, 40362, 40372, 40382, 40392, 40402, 40412, 40422, 40432, 40442,
40452, 40462, 40472, 40482, 40492, 40502, 40512, 40522, 40532, 40542,
40552, 40562, 40572, 40582, 40592, 40602, 40612, 40622, 40632, 40642,
40652, 40662, 40672, 40682, 40692, 40702, 40712, 40722, 40732, 40742,
40752, 40762, 40772, 40782, 40792, 40802, 40812, 40822, 40832, 40842,
40852, 40862, 40872, 40882, 40892, 40902, 40912, 40922, 40932, 40942,
40952, 40962, 40972, 40982, 40992, 41002, 41012, 41022, 41032, 41042,
41052, 41062, 41072, 41082, 41092, 41102, 41112, 41122, 41132, 41142,
41152, 41162, 41172, 41182, 41192, 41202, 41212, 41222, 41232, 41242,
41252, 41262, 41272, 41282, 41292, 41302, 41312, 41322, 41332, 41342,
41352, 41362, 41372, 41382, 41392, 41402, 41412, 41422, 41432, 41442,
41452, 41462, 41472, 41482, 41492, 41502, 41512, 41522, 41532, 41542,
41552, 41562, 41572, 41582, 41592, 41602, 41612, 41622, 41632, 41642,
41652, 41662, 41672, 41682, 41692, 41702, 41712, 41722, 41732, 41742,
41752, 41762, 41772, 41782, 41792, 41802, 41812, 41822, 41832, 41842,
41852, 41862, 41872, 41882, 41892, 41902, 41912, 41922, 41932, 41942,
41952, 41962, 41972, 41982, 41992, 42002, 42012, 42022, 42032, 42042,
42052, 42062, 42072, 42082, 42092, 42102, 42112, 42122, 42132, 42142,
42152, 42162, 42172, 42182, 42192, 42202, 42212, 42222, 42232, 42242,
42252, 42262, 42272, 42282, 42292, 42302, 42312, 42322, 42332, 42342,
42352, 42362, 42372, 42382, 42392, 42402, 42412, 42422, 42432, 42442,
42452, 42462, 42472, 42482, 42492, 42502, 42512, 42522, 42532, 42542,
42552, 42562, 42572, 42582, 42592, 42602, 42612, 42622, 42632, 42642,
42652, 42662, 42672, 42682, 42692, 42702, 42712, 42722, 42732, 42742,
42752, 42762, 42772, 42782, 42792, 42802, 42812, 42822, 42832, 42842,
42852, 42862, 42872, 42882, 42892, 42902, 42912, 42922, 42932, 42942,
42952, 42962, 42972, 42982, 42992, 43002, 43012, 43022, 43032, 43042,
43052, 43062, 43072, 43082, 43092, 43102, 43112, 43122, 43132, 43142,
43152, 43162, 43172, 43182, 43192, 43202, 43212, 43222, 43232, 43242,
43252, 43262, 43272, 43282, 43292, 43302, 43312, 43322, 43332, 43342,
43352, 43362, 43372, 43382, 43392, 43402, 43412, 43422, 43432, 43442,
43452, 43462, 43472, 43482, 43492, 43502, 43512, 43522, 43532, 43542,
43552, 43562, 43572, 43582, 43592, 43602, 43612, 43622, 43632, 43642,
43652, 43662, 43672, 43682, 43692, 43702, 43712, 43722, 43732, 43742,
43752, 43762, 43772, 43782, 43792, 43802, 43812, 43822, 43832, 43842,
43852, 43862, 43872, 43882, 43892, 43902, 43912, 43922, 43932, 43942,
43952, 43962, 43972, 43982, 43992, 44002, 44012, 44022, 44032, 44042,
44052, 44062, 44072, 44082, 44092, 44102, 44112, 44122, 44132, 44142,
44152, 44162, 44172, 44182, 44192, 44202, 44212, 44222, 44232, 44242,
44252, 44262, 44272, 44282, 44292, 44302, 44312, 44322, 44332, 44342,
44352, 44362, 44372, 44382, 44392, 44402, 44412, 44422, 44432, 44442,
44452, 44462, 44472, 44482, 44492, 44502, 44512, 44522, 44532, 44542,
44552, 44562, 44572, 44582, 44592, 44602, 44612, 44622, 44632, 44642,
44652, 44662, 44672, 44682, 44692, 44702, 44712, 44722, 44732, 44742,
44752, 44762, 44772, 44782, 44792, 44802, 44812, 44822, 44832, 44842,
44852, 44862, 44872, 44882, 44892, 44902, 44912, 44922, 44932, 44942,
44952, 44962, 44972, 44982, 44992, 45002, 45012, 45022, 45032, 45042,
45052, 45062, 45072, 45082, 45092, 45102, 45112, 45122, 45132, 45142,
45152, 45162, 45172, 45182, 45192, 45202, 45212, 45222, 45232, 45242,
45252, 45262, 45272, 45282, 45292, 45302, 45312, 45322, 45332, 45342,
45352, 45362, 45372, 45382, 45392, 45402, 45412, 45422, 45432, 45442,
45452, 45462, 45472, 45482, 45492, 45502, 45512, 45522, 45532, 45542,
45552, 45562, 45572, 45582, 45592, 45602, 45612, 45622, 45632, 45642,
45652, 45662, 45672, 45682, 45692, 45702, 45712, 45722, 45732, 45742,
45752, 45762, 45772, 45782, 45792, 45802, 45812, 45822, 45832, 45842,
45852, 45862, 45872, 45882, 45892, 45902, 45912, 45922, 45932, 45942,
45952, 45962, 45972, 45982, 45992, 46002, 46012, 46022, 46032, 46042,
46052, 46062, 46072, 46082, 46092, 46102, 46112, 46122, 46132, 46142,
46152, 46162, 46172, 46182, 46192, 46202, 46212, 46222, 46232, 46242,
46252, 46262, 46272, 46282, 46292, 46302, 46312, 46322, 46332, 46342,
46352, 46362, 46372, 46382, 46392, 46402, 46412, 46422, 46432, 46442,
46452, 46462, 46472, 46482, 46492, 46502, 46512, 46522, 46532, 46542,
46552, 46562, 46572, 46582, 46592, 46602, 46612, 46622, 46632, 46642,
46652, 46662, 46672, 46682, 46692, 46702, 46712, 46722, 46732, 46742,
46752, 46762, 46772, 46782, 46792, 46802, 46812, 46822, 46832, 46842,
46852, 46862, 46872, 46882, 46892, 46902, 46912, 46922, 46932, 46942,
46952, 46962, 46972, 46982, 46992, 47002, 47012, 47022, 47032, 47042,
47052, 47062, 47072, 47082, 47092, 47102, 47112, 47122, 47132, 47142,
47152, 47162, 47172, 47182, 47192, 47202, 47212, 47222, 47232, 47242,
47252, 47262, 47272, 47282, 47292, 47302, 47312, 47322, 47332, 47342,
47352, 47362, 47372, 47382, 47392, 47402, 47412, 47422, 47432, 47442,
47452, 47462, 47472, 47482, 47492, 47502, 47512, 47522, 47532, 47542,
47552, 47562, 47572, 47582, 47592, 47602, 47612, 47622, 47632, 47642,
47652, 47662, 47672, 47682, 47692, 47702, 47712, 47722, 47732, 47742,
47752, 47762, 47772, 47782, 47792, 47802, 47812, 47822, 47832, 47842,
47852, 47862, 47872, 47882, 47892, 47902, 47912, 47922, 47932, 47942,
47952, 47962, 47972, 47982, 47992, 48002, 48012, 48022, 48032, 48042,
48052, 48062, 48072, 48082, 48092, 48102, 48112, 48122, 48132, 48142,
48152, 48162, 48172, 48182, 48192, 48202, 48212, 48222, 48232, 48242,
48252, 48262, 48272, 48282, 48292, 48302, 48312, 48322, 48332, 48342,
48352, 48362, 48372, 48382, 48392, 48402, 48412, 48422, 48432, 48442,
48452, 48462, 48472, 48482, 48492, 48502, 48512, 48522, 48532, 48542,
48552, 48562, 48572, 48582, 48592, 48602, 48612, 48622, 48632, 48642,
48652, 48662, 48672, 48682, 48692, 48702, 48712, 48722, 48732, 48742,
48752, 48762, 48772, 48782, 48792, 48802, 48812, 48822, 48832, 48842,
48852, 48862, 48872, 48882, 48892, 48902, 48912, 48922, 48932, 48942,
48952, 48962, 48972, 48982, 48992, 49002, 49012, 49022, 49032, 49042,
49052, 49062, 49072, 49082, 49092, 49102, 49112, 49122, 49132, 49142,
49152, 49162, 49172, 49182, 49192, 49202, 49212, 49222, 49232, 49242,
49252, 49262, 49272, 49282, 49292, 49302, 49312, 49322, 49332, 49342,
49352, 49362, 49372, 49382, 49392, 49402, 49412, 49422, 49432, 49442,
49452, 49462, 49472, 49482, 49492, 49502, 49512, 49522, 49532, 49542,
49552, 49562, 49572, 49582, 49592, 49602, 49612, 49622, 49632, 49642,
49652, 49662, 49672, 49682, 49692, 49702, 49712, 49722, 49732, 49742,
49752, 49762, 49772, 49782, 49792, 49802, 49812, 49822, 49832, 49842,
49852, 49862, 49872, 49882, 49892, 49902, 49912, 49922, 49932, 49942,
49952, 49962, 49972, 49982, 49992, 50002, 50012, 50022, 50032, 50042,
50052, 50062, 50072, 50082, 50092, 50102, 50112, 50122, 50132, 50142,
50152, 50162, 50172, 50182, 50192, 50202, 50212, 50222, 50232, 50242,
50252, 50262, 50272, 50282, 50292, 50302, 50312, 50322, 50332, 50342,
50352, 50362, 50372, 50382, 50392, 50402, 50412, 50422, 50432, 50442,
50452, 50462, 50472, 50482, 50492, 50502, 50512, 50522, 50532, 50542,
50552, 50562, 50572, 50582, 50592, 50602, 50612, 50622, 50632, 50642,
50652, 50662, 50672, 50682, 50692, 50702, 50712, 50722, 50732, 50742,
50752, 50762, 50772, 50782, 50792, 50802, 50812, 50822, 50832, 50842,
50852, 50862, 50872, 50882, 50892, 50902, 50912, 50922, 50932, 50942,
50952, 50962, 50972, 50982, 50992, 51002, 51012, 51022, 51032, 51042,
51052, 51062, 51072, 51082, 51092, 51102, 51112, 51122, 51132, 51142,
51152, 51162, 51172, 51182, 51192, 51202, 51212, 51222, 51232, 51242,
51252, 51262, 51272, 51282, 51292, 51302, 51312, 51322, 51332, 51342,
51352, 51362, 51372, 51382, 51392, 51402, 51412, 51422, 51432, 51442,
51452, 51462, 51472, 51482, 51492, 51502, 51512, 51522, 51532, 51542,
51552, 51562, 51572, 51582, 51592, 51602, 51612, 51622, 51632, 51642,
51652, 51662, 51672, 51682, 51692, 51702, 51712, 51722, 51732, 51742,
51752, 51762, 51772, 51782, 51792, 51802, 51812, 51822, 51832, 51842,
51852, 51862, 51872, 51882, 51892, 51902, 51912, 51922, 51932, 51942,
51952, 51962, 51972, 51982, 51992, 52002, 52012, 52022, 52032, 52042,
52052, 52062, 52072, 52082, 52092, 52102, 52112, 52122, 52132, 52142,
52152, 52162, 52172, 52182, 52192, 52202, 52212, 52222, 52232, 52242,
52252, 52262, 52272, 52282, 52292, 52302, 52312, 52322, 52332, 52342,
52352, 52362, 52372, 52382, 52392, 52402, 52412, 52422, 52432, 52442,
52452, 52462, 52472, 52482, 52492, 52502, 52512, 52522, 52532, 52542,
52552, 52562, 52572, 52582, 52592, 52602, 52612, 52622, 52632, 52642,
52652, 52662, 52672, 52682, 52692, 52702, 52712, 52722, 52732, 52742,
52752, 52762, 52772, 52782, 52792, 52802, 52812, 52822, 52832, 52842,
52852, 52862, 52872, 52882, 52892, 52902, 52912, 52922, 52932, 52942,
52952, 52962, 52972, 52982, 52992, 53002, 53012, 53022, 53032, 53042,
53052, 53062, 53072, 53082, 53092, 53102, 53112, 53122, 53132, 53142,
53152, 53162, 53172, 53182, 53192, 53202, 53212, 53222, 53232, 53242,
53252, 53262, 53272, 53282, 53292, 53302, 53312, 53322, 53332, 53342,
53352, 53362, 53372, 53382, 53392, 53402, 53412, 53422, 53432, 53442,
53452, 53462, 53472, 53482, 53492, 53502, 53512, 53522, 53532, 53542,
53552, 53562, 53572, 53582, 53592, 53602, 53612, 53622, 53632, 53642,
53652, 53662, 53672, 53682, 53692, 53702, 53712, 53722, 53732, 53742,
53752, 53762, 53772, 53782, 53792, 53802, 53812, 53822, 53832, 53842,
53852, 53862, 53872, 53882, 53892, 53902, 53912, 53922, 53932, 53942,
53952, 53962, 53972, 53982, 53992, 54002, 54012, 54022, 54032, 54042,
54052, 54062, 54072, 54082, 54092, 54102, 54112, 54122, 54132, 54142,
54152, 54162, 54172, 54182, 54192, 54202, 54212, 54222, 54232, 54242,
54252, 54262, 54272, 54282, 54292, 54302, 54312, 54322, 54332, 54342,
54352, 54362, 54372, 54382, 54392, 54402, 54412, 54422, 54432, 54442,
54452, 54462, 54472, 54482, 54492, 54502, 54512, 54522, 54532, 54542,
54552, 54562, 54572, 54582, 54592, 54602, 54612, 54622, 54632, 54642,
54652, 54662, 54672, 54682, 54692, 54702, 54712, 54722, 54732, 54742,
54752, 54762, 54772, 54782, 54792, 54802, 54812, 54822, 54832, 54842,
54852, 54862, 54872, 54882, 54892, 54902, 54912, 54922, 54932, 54942,
54952, 54962, 54972, 54982, 54992, 55002, 55012, 55022, 55032, 55042,
55052, 55062, 55072, 55082, 55092, 55102, 55112, 55122, 55132, 55142,
55152, 55162, 55172, 55182, 55192, 55202, 55212, 55222, 55232, 55242,
55252, 55262, 55272, 55282, 55292, 55302, 55312, 55322, 55332, 55342,
55352, 55362, 55372, 55382, 55392, 55402, 55412, 55422, 55432, 55442,
55452, 55462, 55472, 55482, 55492, 55502, 55512, 55522, 55532, 55542,
55552, 55562, 55572, 55582, 55592, 55602, 55612, 55622, 55632, 55642,
55652, 55662, 55672, 55682, 55692, 55702, 55712, 55722, 55732, 55742,
55752, 55762, 55772, 55782, 55792, 55802, 55812, 55822, 55832, 55842,
55852, 55862, 55872, 55882, 55892, 55902, 55912, 55922, 55932, 55942,
55952, 55962, 55972, 55982, 55992, 56002, 56012, 56022, 56032, 56042,
56052, 56062, 56072, 56082, 56092, 56102, 56112, 56122, 56132, 56142,
56152, 56162, 56172, 56182, 56192, 56202, 56212, 56222, 56232, 56242,
56252, 56262, 56272, 56282, 56292, 56302, 56312, 56322, 56332, 56342,
56352, 56362, 56372, 56382, 56392, 56402, 56412, 56422, 56432, 56442,
56452, 56462, 56472, 56482, 56492, 56502, 56512, 56522, 56532, 56542,
56552, 56562, 56572, 56582, 56592, 56602, 56612, 56622, 56632, 56642,
56652, 56662, 56672, 56682, 56692, 56702, 56712, 56722, 56732, 56742,
56752, 56762, 56772, 56782, 56792, 56802, 56812, 56822, 56832, 56842,
56852, 56862, 56872, 56882, 56892, 56902, 56912, 56922, 56932, 56942,
56952, 56962, 56972, 56982, 56992, 57002, 57012, 57022, 57032, 57042,
57052, 57062, 57072, 57082, 57092, 57102, 57112, 57122, 57132, 57142,
57152, 57162, 57172, 57182, 57192, 57202, 57212, 57222, 57232, 57242,
57252, 57262, 57272, 57282, 57292, 57302, 57312, 57322, 57332, 57342,
57352, 57362, 57372, 57382, 57392, 57402, 57412, 57422, 57432, 57442,
57452, 57462, 57472, 57482, 57492, 57502, 57512, 57522, 57532, 57542,
57552, 57562, 57572, 57582, 57592, 57602, 57612, 57622, 57632, 57642,
57652, 57662, 57672, 57682, 57692, 57702, 57712, 57722, 57732, 57742,
57752, 57762, 57772, 57782, 57792, 57802, 57812, 57822, 57832, 57842,
57852, 57862, 57872, 57882, 57892, 57902, 57912, 57922, 57932, 57942,
57952, 57962, 57972, 57982, 57992, 58002, 58012, 58022, 58032, 58042,
58052, 58062, 58072, 58082, 58092, 58102, 58112, 58122, 58132, 58142,
58152, 58162, 58172, 58182, 58192, 58202, 58212, 58222, 58232, 58242,
58252, 58262, 58272, 58282, 58292, 58302, 58312, 58322, 58332, 58342,
58352, 58362, 58372, 58382, 58392, 58402, 58412, 58422, 58432, 58442,
58452, 58462, 58472, 58482, 58492, 58502, 58512, 58522, 58532, 58542,
58552, 58562, 58572, 58582, 58592, 58602, 58612, 58622, 58632, 58642,
58652, 58662, 58672, 58682, 58692, 58702, 58712, 58722, 58732, 58742,
58752, 58762, 58772, 58782, 58792, 58802, 58812, 58822, 58832, 58842,
58852, 58862, 58872, 58882, 58892, 58902, 58912, 58922, 58932, 58942,
58952, 58962, 58972, 58982, 58992, 59002, 59012, 59022, 59032, 59042,
59052, 59062, 59072, 59082, 59092, 59102, 59112, 59122, 59132, 59142,
59152, 59162, 59172, 59182, 59192, 59202, 59212, 59222, 59232, 59242,
59252, 59262, 59272, 59282, 59292, 59302, 59312, 59322, 59332, 59342,
59352, 59362, 59372, 59382, 59392, 59402, 59412, 59422, 59432, 59442,
59452, 59462, 59472, 59482, 59492, 59502, 59512, 59522, 59532, 59542,
59552, 59562, 59572, 59582, 59592, 59602, 59612, 59622, 59632, 59642,
59652, 59662, 59672, 59682, 59692, 59702, 59712, 59722, 59732, 59742,
59752, 59762, 59772, 59782, 59792, 59802, 59812, 59822, 59832, 59842,
59852, 59862, 59872, 59882, 59892, 59902, 59912, 59922, 59932, 59942,
59952, 59962, 59972, 59982, 59992, 60002, 60012, 60022, 60032, 60042,
60052, 60062, 60072, 60082, 60092, 60102, 60112, 60122, 60132, 60142,
60152, 60162, 60172, 60182, 60192, 60202, 60212, 60222, 60232, 60242,
60252, 60262, 60272, 60282, 60292, 60302, 60312, 60322, 60332, 60342,
60352, 60362, 60372, 60382, 60392, 60402, 60412, 60422, 60432, 60442,
60452, 60462, 60472, 60482, 60492, 60502, 60512, 60522, 60532, 60542,
60552, 60562, 60572, 60582, 60592, 60602, 60612, 60622, 60632, 60642,
60652, 60662, 60672, 60682, 60692, 60702, 60712, 60722, 60732, 60742,
60752, 60762, 60772, 60782, 60792, 60802, 60812, 60822, 60832, 60842,
60852, 60862, 60872, 60882, 60892, 60902, 60912, 60922, 60932, 60942,
60952, 60962, 60972, 60982, 60992, 61002, 61012, 61022, 61032, 61042,
61052, 61062, 61072, 61082, 61092, 61102, 61112, 61122, 61132, 61142,
61152, 61162, 61172, 61182, 61192, 61202, 61212, 61222, 61232, 61242,
61252, 61262, 61272, 61282, 61292, 61302, 61312, 61322, 61332, 61342,
61352, 61362, 61372, 61382, 61392, 61402, 61412, 61422, 61432, 61442,
61452, 61462, 61472, 61482, 61492, 61502, 61512, 61522, 61532, 61542,
61552, 61562, 61572, 61582, 61592, 61602, 61612, 61622, 61632, 61642,
61652, 61662, 61672, 61682, 61692, 61702, 61712, 61722, 61732, 61742,
61752, 61762, 61772, 61782, 61792, 61802, 61812, 61822, 61832, 61842,
61852, 61862, 61872, 61882, 61892, 61902, 61912, 61922, 61932, 61942,
61952, 61962, 61972, 61982, 61992, 62002, 62012, 62022, 62032, 62042,
62052, 62062, 62072, 62082, 62092, 62102, 62112, 62122, 62132, 62142,
62152, 62162, 62172, 62182, 62192, 62202, 62212, 62222, 62232, 62242,
62252, 62262, 62272, 62282, 62292, 62302, 62312, 62322, 62332, 62342,
62352, 62362, 62372, 62382, 62392, 62402, 62412, 62422, 62432, 62442,
62452, 62462, 62472, 62482, 62492, 62502, 62512, 62522, 62532, 62542,
62552, 62562, 62572, 62582, 62592, 62602, 62612, 62622, 62632, 62642,
62652, 62662, 62672, 62682, 62692, 62702, 62712, 62722, 62732, 62742,
62752, 62762, 62772, 62782, 62792, 62802, 62812, 62822, 62832, 62842,
62852, 62862, 62872, 62882, 62892, 62902, 62912, 62922, 62932, 62942,
62952, 62962, 62972, 62982, 62992, 63002, 63012, 63022, 63032, 63042,
63052, 63062, 63072, 63082, 63092, 63102, 63112, 63122, 63132, 63142,
63152, 63162, 63172, 63182, 63192, 63202, 63212, 63222, 63232, 63242,
63252, 63262, 63272, 63282, 63292, 63302, 63312, 63322, 63332, 63342,
63352, 63362, 63372, 63382, 63392, 63402, 63412, 63422, 63432, 63442,
63452, 63462, 63472, 63482, 63492, 63502, 63512, 63522, 63532, 63542,
63552, 63562, 63572, 63582, 63592, 63602, 63612, 63622, 63632, 63642,
63652, 63662, 63672, 63682, 63692, 63702, 63712, 63722, 63732, 63742,
63752, 63762, 63772, 63782, 63792, 63802, 63812, 63822, 63832, 63842,
63852, 63862, 63872, 63882, 63892, 63902, 63912, 63922, 63932, 63942,
63952, 63962, 63972, 63982, 63992, 64002, 64012, 64022, 64032, 64042,
64052, 64062, 64072, 64082, 64092, 64102, 64112, 64122, 64132, 64142,
64152, 64162, 64172, 64182, 64192, 64202, 64212, 64222, 64232, 64242,
64252, 64262, 64272, 64282, 64292, 64302, 64312, 64322, 64332, 64342,
64352, 64362, 64372, 64382, 64392, 64402, 64412, 64422, 64432, 64442,
64452, 64462, 64472, 64482, 64492, 64502, 64512, 64522, 64532, 64542,
64552, 64562, 64572, 64582, 64592, 64602, 64612, 64622, 64632, 64642,
64652, 64662, 64672, 64682, 64692, 64702, 64712, 64722, 64732, 64742,
64752, 64762, 64772, 64782, 64792, 64802, 64812, 64822, 64832, 64842,
64852, 64862, 64872, 64882, 64892, 64902, 64912, 64922, 64932, 64942,
64952, 64962, 64972, 64982, 64992, 65002, 65012, 65022, 65032, 65042,
65052, 65062, 65072, 65082, 65092, 65102, 65112, 65122, 65132, 65142,
65152, 65162, 65172, 65182, 65192, 65202, 65212, 65222, 65232, 65242,
65252, 65262, 65272, 65282, 65292, 65302, 65312, 65322, 65332, 65342,
65352, 65362, 65372, 65382, 65392, 65402, 65412, 65422, 65432, 65442,
65452, 65462, 65472, 65482, 65492, 65502, 65512, 65522, 65532, 65542,
65552, 65562, 65572, 65582, 65592, 65602, 65612, 65622, 65632, 65642,
65652, 65662, 65672, 65682, 65692, 65702, 65712, 65722, 65732, 65742,
65752, 65762, 65772, 65782, 65792, 65802, 65812, 65822, 65832, 65842,
65852, 65862, 65872, 65882, 65892, 65902, 65912, 65922, 65932, 65942,
65952, 65962, 65972, 65982, 65992, 66002, 66012, 66022, 66032, 66042,
66052, 66062, 66072, 66082, 66092, 66102, 66112, 66122, 66132, 66142,
66152, 66162, 66172, 66182, 66192, 66202, 66212, 66222, 66232, 66242,
66252, 66262, 66272, 66282, 66292, 66302, 66312, 66322, 66332, 66342,
66352, 66362, 66372, 66382, 66392, 66402, 66412, 66422, 66432, 66442,
66452, 66462, 66472, 66482, 66492, 66502, 66512, 66522, 66532, 66542,
66552, 66562, 66572, 66582, 66592, 66602, 66612, 66622, 66632, 66642,
66652, 66662, 66672, 66682, 66692, 66702, 66712, 66722, 66732, 66742,
66752, 66762, 66772, 66782, 66792, 66802, 66812, 66822, 66832, 66842,
66852, 66862, 66872, 66882, 66892, 66902, 66912, 66922, 66932, 66942,
66952, 66962, 66972, 66982, 66992, 67002, 67012, 67022, 67032, 67042,
67052, 67062, 67072, 67082, 67092, 67102, 67112, 67122, 67132, 67142,
67152, 67162, 67172, 67182, 67192, 67202, 67212, 67222, 67232, 67242,
67252, 67262, 67272, 67282, 67292, 67302, 67312, 67322, 67332, 67342,
67352, 67362, 67372, 67382, 67392, 67402, 67412, 67422, 67432, 67442,
67452, 67462, 67472, 67482, 67492, 67502, 67512, 67522, 67532, 67542,
67552, 67562, 67572, 67582, 67592, 67602, 67612, 67622, 67632, 67642,
67652, 67662, 67672, 67682, 67692, 67702, 67712, 67722, 67732, 67742,
67752, 67762, 67772, 67782, 67792, 67802, 67812, 67822, 67832, 67842,
67852, 67862, 67872, 67882, 67892, 67902, 67912, 67922, 67932, 67942,
67952, 67962, 67972, 67982, 67992, 68002, 68012, 68022, 68032, 68042,
68052, 68062, 68072, 68082, 68092, 68102, 68112, 68122, 68132, 68142,
68152, 68162, 68172, 68182, 68192, 68202, 68212, 68222, 68232, 68242,
68252, 68262, 68272, 68282, 68292, 68302, 68312, 68322, 68332, 68342,
68352, 68362, 68372, 68382, 68392, 68402, 68412, 68422, 68432, 68442,
68452, 68462, 68472, 68482, 68492, 68502, 68512, 68522, 68532, 68542,
68552, 68562, 68572, 68582, 68592, 68602, 68612, 68622, 68632, 68642,
68652, 68662, 68672, 68682, 68692, 68702, 68712, 68722, 68732, 68742,
68752, 68762, 68772, 68782, 68792, 68802, 68812, 68822, 68832, 68842,
68852, 68862, 68872, 68882, 68892, 68902, 68912, 68922, 68932, 68942,
68952, 68962, 68972, 68982, 68992, 69002, 69012, 69022, 69032, 69042,
69052, 69062, 69072, 69082, 69092, 69102, 69112, 69122, 69132, 69142,
69152, 69162, 69172, 69182, 69192, 69202, 69212, 69222, 69232, 69242,
69252, 69262, 69272, 69282, 69292, 69302, 69312, 69322, 69332, 69342,
69352, 69362, 69372, 69382, 69392, 69402, 69412, 69422, 69432, 69442,
69452, 69462, 69472, 69482, 69492, 69502, 69512, 69522, 69532, 69542,
69552, 69562, 69572, 69582, 69592, 69602, 69612, 69622, 69632, 69642,
69652, 69662, 69672, 69682, 69692, 69702, 69712, 69722, 69732, 69742,
69752, 69762, 69772, 69782, 69792, 69802, 69812, 69822, 69832, 69842,
69852, 69862, 69872, 69882, 69892, 69902, 69912, 69922, 69932, 69942,
69952, 69962, 69972, 69982, 69992, 70002, 70012, 70022, 70032, 70042,
70052, 70062, 70072, 70082, 70092, 70102, 70112, 70122, 70132, 70142,
70152, 70162, 70172, 70182, 70192, 70202, 70212, 70222, 70232, 70242,
70252, 70262, 70272, 70282, 70292, 70302, 70312, 70322, 70332, 70342,
70352, 70362, 70372, 70382, 70392, 70402, 70412, 70422, 70432, 70442,
70452, 70462, 70472, 70482, 70492, 70502, 70512, 70522, 70532, 70542,
70552, 70562, 70572, 70582, 70592, 70602, 70612, 70622, 70632, 70642,
70652, 70662, 70672, 70682, 70692, 70702, 70712, 70722, 70732, 70742,
70752, 70762, 70772, 70782, 70792, 70802, 70812, 70822, 70832, 70842,
70852, 70862, 70872, 70882, 70892, 70902, 70912, 70922, 70932, 70942,
70952, 70962, 70972, 70982, 70992, 71002, 71012, 71022, 71032, 71042,
71052, 71062, 71072, 71082, 71092, 71102, 71112, 71122, 71132, 71142,
71152, 71162, 71172, 71182, 71192, 71202, 71212, 71222, 71232, 71242,
71252, 71262, 71272, 71282, 71292, 71302, 71312, 71322, 71332, 71342,
71352, 71362, 71372, 71382, 71392, 71402, 71412, 71422, 71432, 71442,
71452, 71462, 71472, 71482, 71492, 71502, 71512, 71522, 71532, 71542,
71552, 71562, 71572, 71582, 71592, 71602, 71612, 71622, 71632, 71642,
71652, 71662, 71672, 71682, 71692, 71702, 71712, 71722, 71732, 71742,
71752, 71762, 71772, 71782, 71792, 71802, 71812, 71822, 71832, 71842,
71852, 71862, 71872, 71882, 71892, 71902, 71912, 71922, 71932, 71942,
71952, 71962, 71972, 71982, 71992, 72002, 72012, 72022, 72032, 72042,
72052, 72062, 72072, 72082, 72092, 72102, 72112, 72122, 72132, 72142,
72152, 72162, 72172, 72182, 72192, 72202, 72212, 72222, 72232, 72242,
72252, 72262, 72272, 72282, 72292, 72302, 72312, 72322, 72332, 72342,
72352, 72362, 72372, 72382, 72392, 72402, 72412, 72422, 72432, 72442,
72452, 72462, 72472, 72482, 72492, 72502, 72512, 72522, 72532, 72542,
72552, 72562, 72572, 72582, 72592, 72602, 72612, 72622, 72632, 72642,
72652, 72662, 72672, 72682, 72692, 72702, 72712, 72722, 72732, 72742,
72752, 72762, 72772, 72782, 72792, 72802, 72812, 72822, 72832, 72842,
72852, 72862, 72872, 72882, 72892, 72902, 72912, 72922, 72932, 72942,
72952, 72962, 72972, 72982, 72992, 73002, 73012, 73022, 73032, 73042,
73052, 73062, 73072, 73082, 73092, 73102, 73112, 73122, 73132, 73142,
73152, 73162, 73172, 73182, 73192, 73202, 73212, 73222, 73232, 73242,
73252, 73262, 73272, 73282, 73292, 73302, 73312, 73322, 73332, 73342,
73352, 73362, 73372, 73382, 73392, 73402, 73412, 73422, 73432, 73442,
73452, 73462, 73472, 73482, 73492, 73502, 73512, 73522, 73532, 73542,
73552, 73562, 73572, 73582, 73592, 73602, 73612, 73622, 73632, 73642,
73652, 73662, 73672, 73682, 73692, 73702, 73712, 73722, 73732, 73742,
73752, 73762, 73772, 73782, 73792, 73802, 73812, 73822, 73832, 73842,
73852, 73862, 73872, 73882, 73892, 73902, 73912, 73922, 73932, 73942,
73952, 73962, 73972, 73982, 73992, 74002, 74012, 74022, 74032, 74042,
74052, 74062, 74072, 74082, 74092, 74102, 74112, 74122, 74132, 74142,
74152, 74162, 74172, 74182, 74192, 74202, 74212, 74222, 74232, 74242,
74252, 74262, 74272, 74282, 74292, 74302, 74312, 74322, 74332, 74342,
74352, 74362, 74372, 74382, 74392, 74402, 74412, 74422, 74432, 74442,
74452, 74462, 74472, 74482, 74492, 74502, 74512, 74522, 74532, 74542,
74552, 74562, 74572, 74582, 74592, 74602, 74612, 74622, 74632, 74642,
74652, 74662, 74672, 74682, 74692, 74702, 74712, 74722, 74732, 74742,
74752, 74762, 74772, 74782, 74792, 74802, 74812, 74822, 74832, 74842,
74852, 74862, 74872, 74882, 74892, 74902, 74912, 74922, 74932, 74942,
74952, 74962, 74972, 74982, 74992, 75002, 75012, 75022, 75032, 75042,
75052, 75062, 75072, 75082, 75092, 75102, 75112, 75122, 75132, 75142,
75152, 75162, 75172, 75182, 75192, 75202, 75212, 75222, 75232, 75242,
75252, 75262, 75272, 75282, 75292, 75302, 75312, 75322, 75332, 75342,
75352, 75362, 75372, 75382, 75392, 75402, 75412, 75422, 75432, 75442,
75452, 75462, 75472, 75482, 75492, 75502, 75512, 75522, 75532, 75542,
75552, 75562, 75572, 75582, 75592, 75602, 75612, 75622, 75632, 75642,
75652, 75662, 75672, 75682, 75692, 75702, 75712, 75722, 75732, 75742,
75752, 75762, 75772, 75782, 75792, 75802, 75812, 75822, 75832, 75842,
75852, 75862, 75872, 75882, 75892, 75902, 75912, 75922, 75932, 75942,
75952, 75962, 75972, 75982, 75992, 76002, 76012, 76022, 76032, 76042,
76052, 76062, 76072, 76082, 76092, 76102, 76112, 76122, 76132, 76142,
76152, 76162, 76172, 76182, 76192, 76202, 76212, 76222, 76232, 76242,
76252, 76262, 76272, 76282, 76292, 76302, 76312, 76322, 76332, 76342,
76352, 76362, 76372, 76382, 76392, 76402, 76412, 76422, 76432, 76442,
76452, 76462, 76472, 76482, 76492, 76502, 76512, 76522, 76532, 76542,
76552, 76562, 76572, 76582, 76592, 76602, 76612, 76622, 76632, 76642,
76652, 76662, 76672, 76682, 76692, 76702, 76712, 76722, 76732, 76742,
76752, 76762, 76772, 76782, 76792, 76802, 76812, 76822, 76832, 76842,
76852, 76862, 76872, 76882, 76892, 76902, 76912, 76922, 76932, 76942,
76952, 76962, 76972, 76982, 76992, 77002, 77012, 77022, 77032, 77042,
77052, 77062, 77072, 77082, 77092, 77102, 77112, 77122, 77132, 77142,
77152, 77162, 77172, 77182, 77192, 77202, 77212, 77222, 77232, 77242,
77252, 77262, 77272, 77282, 77292, 77302, 77312, 77322, 77332, 77342,
77352, 77362, 77372, 77382, 77392, 77402, 77412, 77422, 77432, 77442,
77452, 77462, 77472, 77482, 77492, 77502, 77512, 77522, 77532, 77542,
77552, 77562, 77572, 77582, 77592, 77602, 77612, 77622, 77632, 77642,
77652, 77662, 77672, 77682, 77692, 77702, 77712, 77722, 77732, 77742,
77752, 77762, 77772, 77782, 77792, 77802, 77812, 77822, 77832, 77842,
77852, 77862, 77872, 77882, 77892, 77902, 77912, 77922, 77932, 77942,
77952, 77962, 77972, 77982, 77992, 78002, 78012, 78022, 78032, 78042,
78052, 78062, 78072, 78082, 78092, 78102, 78112, 78122, 78132, 78142,
78152, 78162, 78172, 78182, 78192, 78202, 78212, 78222, 78232, 78242,
78252, 78262, 78272, 78282, 78292, 78302, 78312, 78322, 78332, 78342,
78352, 78362, 78372, 78382, 78392, 78402, 78412, 78422, 78432, 78442,
78452, 78462, 78472, 78482, 78492, 78502, 78512, 78522, 78532, 78542,
78552, 78562, 78572, 78582, 78592, 78602, 78612, 78622, 78632, 78642,
78652, 78662, 78672, 78682, 78692, 78702, 78712, 78722, 78732, 78742,
78752, 78762, 78772, 78782, 78792, 78802, 78812, 78822, 78832, 78842,
78852, 78862, 78872, 78882, 78892, 78902, 78912, 78922, 78932, 78942,
78952, 78962, 78972, 78982, 78992, 79002, 79012, 79022, 79032, 79042,
79052, 79062, 79072, 79082, 79092, 79102, 79112, 79122, 79132, 79142,
79152, 79162, 79172, 79182, 79192, 79202, 79212, 79222, 79232, 79242,
79252, 79262, 79272, 79282, 79292, 79302, 79312, 79322, 79332, 79342,
79352, 79362, 79372, 79382, 79392, 79402, 79412, 79422, 79432, 79442,
79452, 79462, 79472, 79482, 79492, 79502, 79512, 79522, 79532, 79542,
79552, 79562, 79572, 79582, 79592, 79602, 79612, 79622, 79632, 79642,
79652, 79662, 79672, 79682, 79692, 79702, 79712, 79722, 79732, 79742,
79752, 79762, 79772, 79782, 79792, 79802, 79812, 79822, 79832, 79842,
79852, 79862, 79872, 79882, 79892, 79902, 79912, 79922, 79932, 79942,
79952, 79962, 79972, 79982, 79992, 80002, 80012, 80022, 80032, 80042,
80052, 80062, 80072, 80082, 80092, 80102, 80112, 80122, 80132, 80142,
80152, 80162, 80172, 80182, 80192, 80202, 80212, 80222, 80232, 80242,
80252, 80262, 80272, 80282, 80292, 80302, 80312, 80322, 80332, 80342,
80352, 80362, 80372, 80382, 80392, 80402, 80412, 80422, 80432, 80442,
80452, 80462, 80472, 80482, 80492, 80502, 80512, 80522, 80532, 80542,
80552, 80562, 80572, 80582, 80592, 80602, 80612, 80622, 80632, 80642,
80652, 80662, 80672, 80682, 80692, 80702, 80712, 80722, 80732, 80742,
80752, 80762, 80772, 80782, 80792, 80802, 80812, 80822, 80832, 80842,
80852, 80862, 80872, 80882, 80892, 80902, 80912, 80922, 80932, 80942,
80952, 80962, 80972, 80982, 80992, 81002, 81012, 81022, 81032, 81042,
81052, 81062, 81072, 81082, 81092, 81102, 81112, 81122, 81132, 81142,
81152, 81162, 81172, 81182, 81192, 81202, 81212, 81222, 81232, 81242,
81252, 81262, 81272, 81282, 81292, 81302, 81312, 81322, 81332, 81342,
81352, 81362, 81372, 81382, 81392, 81402, 81412, 81422, 81432, 81442,
81452, 81462, 81472, 81482, 81492, 81502, 81512, 81522, 81532, 81542,
81552, 81562, 81572, 81582, 81592, 81602, 81612, 81622, 81632, 81642,
81652, 81662, 81672, 81682, 81692, 81702, 81712, 81722, 81732, 81742,
81752, 81762, 81772, 81782, 81792, 81802, 81812, 81822, 81832, 81842,
81852, 81862, 81872, 81882, 81892, 81902, 81912, 81922, 81932, 81942,
81952, 81962, 81972, 81982, 81992, 82002, 82012, 82022, 82032, 82042,
82052, 82062, 82072, 82082, 82092, 82102, 82112, 82122, 82132, 82142,
82152, 82162, 82172, 82182, 82192, 82202, 82212, 82222, 82232, 82242,
82252, 82262, 82272, 82282, 82292, 82302, 82312, 82322, 82332, 82342,
82352, 82362, 82372, 82382, 82392, 82402, 82412, 82422, 82432, 82442,
82452, 82462, 82472, 82482, 82492, 82502, 82512, 82522, 82532, 82542,
82552, 82562, 82572, 82582, 82592, 82602, 82612, 82622, 82632, 82642,
82652, 82662, 82672, 82682, 82692, 82702, 82712, 82722, 82732, 82742,
82752, 82762, 82772, 82782, 82792, 82802, 82812, 82822, 82832, 82842,
82852, 82862, 82872, 82882, 82892, 82902, 82912, 82922, 82932, 82942,
82952, 82962, 82972, 82982, 82992, 83002, 83012, 83022, 83032, 83042,
83052, 83062, 83072, 83082, 83092, 83102, 83112, 83122, 83132, 83142,
83152, 83162, 83172, 83182, 83192, 83202, 83212, 83222, 83232, 83242,
83252, 83262, 83272, 83282, 83292, 83302, 83312, 83322, 83332, 83342,
83352, 83362, 83372, 83382, 83392, 83402, 83412, 83422, 83432, 83442,
83452, 83462, 83472, 83482, 83492, 83502, 83512, 83522, 83532, 83542,
83552, 83562, 83572, 83582, 83592, 83602, 83612, 83622, 83632, 83642,
83652, 83662, 83672, 83682, 83692, 83702, 83712, 83722, 83732, 83742,
83752, 83762, 83772, 83782, 83792, 83802, 83812, 83822, 83832, 83842,
83852, 83862, 83872, 83882, 83892, 83902, 83912, 83922, 83932, 83942,
83952, 83962, 83972, 83982, 83992, 84002, 84012, 84022, 84032, 84042,
84052, 84062, 84072, 84082, 84092, 84102, 84112, 84122, 84132, 84142,
84152, 84162, 84172, 84182, 84192, 84202, 84212, 84222, 84232, 84242,
84252, 84262, 84272, 84282, 84292, 84302, 84312, 84322, 84332, 84342,
84352, 84362, 84372, 84382, 84392, 84402, 84412, 84422, 84432, 84442,
84452, 84462, 84472, 84482, 84492, 84502, 84512, 84522, 84532, 84542,
84552, 84562, 84572, 84582, 84592, 84602, 84612, 84622, 84632, 84642,
84652, 84662, 84672, 84682, 84692, 84702, 84712, 84722, 84732, 84742,
84752, 84762, 84772, 84782, 84792, 84802, 84812, 84822, 84832, 84842,
84852, 84862, 84872, 84882, 84892, 84902, 84912, 84922, 84932, 84942,
84952, 84962, 84972, 84982, 84992, 85002, 85012, 85022, 85032, 85042,
85052, 85062, 85072, 85082, 85092, 85102, 85112, 85122, 85132, 85142,
85152, 85162, 85172, 85182, 85192, 85202, 85212, 85222, 85232, 85242,
85252, 85262, 85272, 85282, 85292, 85302, 85312, 85322, 85332, 85342,
85352, 85362, 85372, 85382, 85392, 85402, 85412, 85422, 85432, 85442,
85452, 85462, 85472, 85482, 85492, 85502, 85512, 85522, 85532, 85542,
85552, 85562, 85572, 85582, 85592, 85602, 85612, 85622, 85632, 85642,
85652, 85662, 85672, 85682, 85692, 85702, 85712, 85722, 85732, 85742,
85752, 85762, 85772, 85782, 85792, 85802, 85812, 85822, 85832, 85842,
85852, 85862, 85872, 85882, 85892, 85902, 85912, 85922, 85932, 85942,
85952, 85962, 85972, 85982, 85992, 86002, 86012, 86022, 86032, 86042,
86052, 86062, 86072, 86082, 86092, 86102, 86112, 86122, 86132, 86142,
86152, 86162, 86172, 86182, 86192, 86202, 86212, 86222, 86232, 86242,
86252, 86262, 86272, 86282, 86292, 86302, 86312, 86322, 86332, 86342,
86352, 86362, 86372, 86382, 86392, 86402, 86412, 86422, 86432, 86442,
86452, 86462, 86472, 86482, 86492, 86502, 86512, 86522, 86532, 86542,
86552, 86562, 86572, 86582, 86592, 86602, 86612, 86622, 86632, 86642,
86652, 86662, 86672, 86682, 86692, 86702, 86712, 86722, 86732, 86742,
86752, 86762, 86772, 86782, 86792, 86802, 86812, 86822, 86832, 86842,
86852, 86862, 86872, 86882, 86892, 86902, 86912, 86922, 86932, 86942,
86952, 86962, 86972, 86982, 86992, 87002, 87012, 87022, 87032, 87042,
87052, 87062, 87072, 87082, 87092, 87102, 87112, 87122, 87132, 87142,
87152, 87162, 87172, 87182, 87192, 87202, 87212, 87222, 87232, 87242,
87252, 87262, 87272, 87282, 87292, 87302, 87312, 87322, 87332, 87342,
87352, 87362, 87372, 87382, 87392, 87402, 87412, 87422, 87432, 87442,
87452, 87462, 87472, 87482, 87492, 87502, 87512, 87522, 87532, 87542,
87552, 87562, 87572, 87582, 87592, 87602, 87612, 87622, 87632, 87642,
87652, 87662, 87672, 87682, 87692, 87702, 87712, 87722, 87732, 87742,
87752, 87762, 87772, 87782, 87792, 87802, 87812, 87822, 87832, 87842,
87852, 87862, 87872, 87882, 87892, 87902, 87912, 87922, 87932, 87942,
87952, 87962, 87972, 87982, 87992, 88002, 88012, 88022, 88032, 88042,
88052, 88062, 88072, 88082, 88092, 88102, 88112, 88122, 88132, 88142,
88152, 88162, 88172, 88182, 88192, 88202, 88212, 88222, 88232, 88242,
88252, 88262, 88272, 88282, 88292, 88302, 88312, 88322, 88332, 88342,
88352, 88362, 88372, 88382, 88392, 88402, 88412, 88422, 88432, 88442,
88452, 88462, 88472, 88482, 88492, 88502, 88512, 88522, 88532, 88542,
88552, 88562, 88572, 88582, 88592, 88602, 88612, 88622, 88632, 88642,
88652, 88662, 88672, 88682, 88692, 88702, 88712, 88722, 88732, 88742,
88752, 88762, 88772, 88782, 88792, 88802, 88812, 88822, 88832, 88842,
88852, 88862, 88872, 88882, 88892, 88902, 88912, 88922, 88932, 88942,
88952, 88962, 88972, 88982, 88992, 89002, 89012, 89022, 89032, 89042,
89052, 89062, 89072, 89082, 89092, 89102, 89112, 89122, 89132, 89142,
89152, 89162, 89172, 89182, 89192, 89202, 89212, 89222, 89232, 89242,
89252, 89262, 89272, 89282, 89292, 89302, 89312, 89322, 89332, 89342,
89352, 89362, 89372, 89382, 89392, 89402, 89412, 89422, 89432, 89442,
89452, 89462, 89472, 89482, 89492, 89502, 89512, 89522, 89532, 89542,
89552, 89562, 89572, 89582, 89592, 89602, 89612, 89622, 89632, 89642,
89652, 89662, 89672, 89682, 89692, 89702, 89712, 89722, 89732, 89742,
89752, 89762, 89772, 89782, 89792, 89802, 89812, 89822, 89832, 89842,
89852, 89862, 89872, 89882, 89892, 89902, 89912, 89922, 89932, 89942,
89952, 89962, 89972, 89982, 89992, 90002, 90012, 90022, 90032, 90042,
90052, 90062, 90072, 90082, 90092, 90102, 90112, 90122, 90132, 90142,
90152, 90162, 90172, 90182, 90192, 90202, 90212, 90222, 90232, 90242,
90252, 90262, 90272, 90282, 90292, 90302, 90312, 90322, 90332, 90342,
90352, 90362, 90372, 90382, 90392, 90402, 90412, 90422, 90432, 90442,
90452, 90462, 90472, 90482, 90492, 90502, 90512, 90522, 90532, 90542,
90552, 90562, 90572, 90582, 90592, 90602, 90612, 90622, 90632, 90642,
90652, 90662, 90672, 90682, 90692, 90702, 90712, 90722, 90732, 90742,
90752, 90762, 90772, 90782, 90792, 90802, 90812, 90822, 90832, 90842,
90852, 90862, 90872, 90882, 90892, 90902, 90912, 90922, 90932, 90942,
90952, 90962, 90972, 90982, 90992, 91002, 91012, 91022, 91032, 91042,
91052, 91062, 91072, 91082, 91092, 91102, 91112, 91122, 91132, 91142,
91152, 91162, 91172, 91182, 91192, 91202, 91212, 91222, 91232, 91242,
91252, 91262, 91272, 91282, 91292, 91302, 91312, 91322, 91332, 91342,
91352, 91362, 91372, 91382, 91392, 91402, 91412, 91422, 91432, 91442,
91452, 91462, 91472, 91482, 91492, 91502, 91512, 91522, 91532, 91542,
91552, 91562, 91572, 91582, 91592, 91602, 91612, 91622, 91632, 91642,
91652, 91662, 91672, 91682, 91692, 91702, 91712, 91722, 91732, 91742,
91752, 91762, 91772, 91782, 91792, 91802, 91812, 91822, 91832, 91842,
91852, 91862, 91872, 91882, 91892, 91902, 91912, 91922, 91932, 91942,
91952, 91962, 91972, 91982, 91992, 92002, 92012, 92022, 92032, 92042,
92052, 92062, 92072, 92082, 92092, 92102, 92112, 92122, 92132, 92142,
92152, 92162, 92172, 92182, 92192, 92202, 92212, 92222, 92232, 92242,
92252, 92262, 92272, 92282, 92292, 92302, 92312, 92322, 92332, 92342,
92352, 92362, 92372, 92382, 92392, 92402, 92412, 92422, 92432, 92442,
92452, 92462, 92472, 92482, 92492, 92502, 92512, 92522, 92532, 92542,
92552, 92562, 92572, 92582, 92592, 92602, 92612, 92622, 92632, 92642,
92652, 92662, 92672, 92682, 92692, 92702, 92712, 92722, 92732, 92742,
92752, 92762, 92772, 92782, 92792, 92802, 92812, 92822, 92832, 92842,
92852, 92862, 92872, 92882, 92892, 92902, 92912, 92922, 92932, 92942,
92952, 92962, 92972, 92982, 92992, 93002, 93012, 93022, 93032, 93042,
93052, 93062, 93072, 93082, 93092, 93102, 93112, 93122, 93132, 93142,
93152, 93162, 93172, 93182, 93192, 93202, 93212, 93222, 93232, 93242,
93252, 93262, 93272, 93282, 93292, 93302, 93312, 93322, 93332, 93342,
93352, 93362, 93372, 93382, 93392, 93402, 93412, 93422, 93432, 93442,
93452, 93462, 93472, 93482, 93492, 93502, 93512, 93522, 93532, 93542,
93552, 93562, 93572, 93582, 93592, 93602, 93612, 93622, 93632, 93642,
93652, 93662, 93672, 93682, 93692, 93702, 93712, 93722, 93732, 93742,
93752, 93762, 93772, 93782, 93792, 93802, 93812, 93822, 93832, 93842,
93852, 93862, 93872, 93882, 93892, 93902, 93912, 93922, 93932, 93942,
93952, 93962, 93972, 93982, 93992, 94002, 94012, 94022, 94032, 94042,
94052, 94062, 94072, 94082, 94092, 94102, 94112, 94122, 94132, 94142,
94152, 94162, 94172, 94182, 94192, 94202, 94212, 94222, 94232, 94242,
94252, 94262, 94272, 94282, 94292, 94302, 94312, 94322, 94332, 94342,
94352, 94362, 94372, 94382, 94392, 94402, 94412, 94422, 94432, 94442,
94452, 94462, 94472, 94482, 94492, 94502, 94512, 94522, 94532, 94542,
94552, 94562, 94572, 94582, 94592, 94602, 94612, 94622, 94632, 94642,
94652, 94662, 94672, 94682, 94692, 94702, 94712, 94722, 94732, 94742,
94752, 94762, 94772, 94782, 94792, 94802, 94812, 94822, 94832, 94842,
94852, 94862, 94872, 94882, 94892, 94902, 94912, 94922, 94932, 94942,
94952, 94962, 94972, 94982, 94992, 95002, 95012, 95022, 95032, 95042,
95052, 95062, 95072, 95082, 95092, 95102, 95112, 95122, 95132, 95142,
95152, 95162, 95172, 95182, 95192, 95202, 95212, 95222, 95232, 95242,
95252, 95262, 95272, 95282, 95292, 95302, 95312, 95322, 95332, 95342,
95352, 95362, 95372, 95382, 95392, 95402, 95412, 95422, 95432, 95442,
95452, 95462, 95472, 95482, 95492, 95502, 95512, 95522, 95532, 95542,
95552, 95562, 95572, 95582, 95592, 95602, 95612, 95622, 95632, 95642,
95652, 95662, 95672, 95682, 95692, 95702, 95712, 95722, 95732, 95742,
95752, 95762, 95772, 95782, 95792, 95802, 95812, 95822, 95832, 95842,
95852, 95862, 95872, 95882, 95892, 95902, 95912, 95922, 95932, 95942,
95952, 95962, 95972, 95982, 95992, 96002, 96012, 96022, 96032, 96042,
96052, 96062, 96072, 96082, 96092, 96102, 96112, 96122, 96132, 96142,
96152, 96162, 96172, 96182, 96192, 96202, 96212, 96222, 96232, 96242,
96252, 96262, 96272, 96282, 96292, 96302, 96312, 96322, 96332, 96342,
96352, 96362, 96372, 96382, 96392, 96402, 96412, 96422, 96432, 96442,
96452, 96462, 96472, 96482, 96492, 96502, 96512, 96522, 96532, 96542,
96552, 96562, 96572, 96582, 96592, 96602, 96612, 96622, 96632, 96642,
96652, 96662, 96672, 96682, 96692, 96702, 96712, 96722, 96732, 96742,
96752, 96762, 96772, 96782, 96792, 96802, 96812, 96822, 96832, 96842,
96852, 96862, 96872, 96882, 96892, 96902, 96912, 96922, 96932, 96942,
96952, 96962, 96972, 96982, 96992, 97002, 97012, 97022, 97032, 97042,
97052, 97062, 97072, 97082, 97092, 97102, 97112, 97122, 97132, 97142,
97152, 97162, 97172, 97182, 97192, 97202, 97212, 97222, 97232, 97242,
97252, 97262, 97272, 97282, 97292, 97302, 97312, 97322, 97332, 97342,
97352, 97362, 97372, 97382, 97392, 97402, 97412, 97422, 97432, 97442,
97452, 97462, 97472, 97482, 97492, 97502, 97512, 97522, 97532, 97542,
97552, 97562, 97572, 97582, 97592, 97602, 97612, 97622, 97632, 97642,
97652, 97662, 97672, 97682, 97692, 97702, 97712, 97722, 97732, 97742,
97752, 97762, 97772, 97782, 97792, 97802, 97812, 97822, 97832, 97842,
97852, 97862, 97872, 97882, 97892, 97902, 97912, 97922, 97932, 97942,
97952, 97962, 97972, 97982, 97992, 98002, 98012, 98022, 98032, 98042,
98052, 98062, 98072, 98082, 98092, 98102, 98112, 98122, 98132, 98142,
98152, 98162, 98172, 98182, 98192, 98202, 98212, 98222, 98232, 98242,
98252, 98262, 98272, 98282, 98292, 98302, 98312, 98322, 98332, 98342,
98352, 98362, 98372, 98382, 98392, 98402, 98412, 98422, 98432, 98442,
98452, 98462, 98472, 98482, 98492, 98502, 98512, 98522, 98532, 98542,
98552, 98562, 98572, 98582, 98592, 98602, 98612, 98622, 98632, 98642,
98652, 98662, 98672, 98682, 98692, 98702, 98712, 98722, 98732, 98742,
98752, 98762, 98772, 98782, 98792, 98802, 98812, 98822, 98832, 98842,
98852, 98862, 98872, 98882, 98892, 98902, 98912, 98922, 98932, 98942,
98952, 98962, 98972, 98982, 98992, 99002, 99012, 99022, 99032, 99042,
99052, 99062, 99072, 99082, 99092, 99102, 99112, 99122, 99132, 99142,
99152, 99162, 99172, 99182, 99192, 99202, 99212, 99222, 99232, 99242,
99252, 99262, 99272, 99282, 99292, 99302, 99312, 99322, 99332, 99342,
99352, 99362, 99372, 99382, 99392, 99402, 99412, 99422, 99432, 99442,
99452, 99462, 99472, 99482, 99492, 99502, 99512, 99522, 99532, 99542,
99552, 99562, 99572, 99582, 99592, 99602, 99612, 99622, 99632, 99642,
99652, 99662, 99672, 99682, 99692, 99702, 99712, 99722, 99732, 99742,
99752, 99762, 99772, 99782, 99792, 99802, 99812, 99822, 99832, 99842,
99852, 99862, 99872, 99882, 99892, 99902, 99912, 99922, 99932, 99942
};
#define BUFFER_SIZE 2048
int main()
{
HANDLE input;
CHAR *buffer;
CHAR *readbuffer;
CHAR *buffermax;
DWORD read;
OVERLAPPED overlapped;
int total;
register int num;
int count;
input = CreateFile(".\\numbers.txt", GENERIC_READ, FILE_SHARE_READ, NULL,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL | FILE_FLAG_NO_BUFFERING | FILE_FLAG_OVERLAPPED, NULL);
if (input == INVALID_HANDLE_VALUE)
{
printf("unable to open file\n");
return EXIT_FAILURE;
}
buffer = (char *)VirtualAlloc(NULL, BUFFER_SIZE, MEM_COMMIT, PAGE_READWRITE);
readbuffer = (char *)VirtualAlloc(NULL, BUFFER_SIZE, MEM_COMMIT, PAGE_READWRITE);
read = 0;
ZeroMemory(&overlapped, sizeof(overlapped));
total = 0;
num = 0;
count = 0;
ReadFileEx(input, buffer, BUFFER_SIZE, &overlapped, NULL);
WaitForSingleObjectEx(input, 10000, FALSE);
GetOverlappedResult(input, &overlapped, &read, FALSE);
overlapped.Offset += read;
while (ReadFileEx(input, readbuffer, BUFFER_SIZE, &overlapped, NULL) != 0)
{
buffermax = buffer + BUFFER_SIZE;
for (register CHAR *ch = buffer; ch < buffermax; ch++)
{
if (*ch == ' ')
{
total += num;
num = 0;
count++;
continue;
}
if (num < 10000)
{
num = multable[num] + *ch;
}
else
{
num *= 10;
num += *ch - '0';
}
}
WaitForSingleObjectEx(input, 1000, FALSE);
overlapped.Offset += BUFFER_SIZE;
__asm
{
push buffer
push readbuffer
pop buffer
pop readbuffer
}
}
GetOverlappedResult(input, &overlapped, &read, FALSE);
buffermax = buffer + read;
for (register CHAR *ch = buffer; ch < buffermax; ch++)
{
if (*ch == ' ')
{
total += num;
num = 0;
count++;
continue;
}
if (num < 10000)
{
num = multable[num] + *ch;
}
else
{
num *= 10;
num += *ch - '0';
}
}
VirtualFree(readbuffer, BUFFER_SIZE, MEM_DECOMMIT);
VirtualFree(buffer, BUFFER_SIZE, MEM_DECOMMIT);
CloseHandle(input);
printf("average: %i\n", total / count);
return EXIT_SUCCESS;
}